From 38a126df66092487803d2759c1698fa86a5be01d Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 08:34:19 -0500 Subject: Rename field_map_obj to event_object_movement --- src/battle_setup.c | 4 +- src/berry_tag_screen.c | 2 +- src/bike.c | 2 +- src/decoration.c | 2 +- src/event_object_movement.c | 5176 +++++++++++++++++++++++++++++++++++ src/event_object_movement_helpers.c | 705 +++++ src/field_camera.c | 2 +- src/field_effect.c | 4 +- src/field_map_obj.c | 5119 ---------------------------------- src/field_map_obj_helpers.c | 705 ----- src/field_special_scene.c | 2 +- src/fldeff_groundshake.c | 2 +- src/fossil_specials.c | 2 +- src/item_menu.c | 2 +- src/item_use.c | 4 +- src/map_obj_lock.c | 4 +- src/naming_screen.c | 2 +- src/overworld.c | 4 +- src/player_pc.c | 2 +- src/rom6.c | 2 +- src/rotating_gate.c | 2 +- src/scrcmd.c | 4 +- src/script_movement.c | 4 +- src/secret_base.c | 2 +- src/start_menu.c | 2 +- src/trainer_see.c | 4 +- src/tv.c | 2 +- 27 files changed, 5912 insertions(+), 5855 deletions(-) create mode 100644 src/event_object_movement.c create mode 100755 src/event_object_movement_helpers.c delete mode 100644 src/field_map_obj.c delete mode 100755 src/field_map_obj_helpers.c (limited to 'src') diff --git a/src/battle_setup.c b/src/battle_setup.c index 48a2ef257..5411551f7 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -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,7 @@ #include "overworld.h" #include "field_weather.h" #include "gym_leader_rematch.h" -#include "field_map_obj_helpers.h" +#include "event_object_movement_helpers.h" enum { diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 9a6e78c81..a755f4f44 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -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" diff --git a/src/bike.c b/src/bike.c index e827707cd..d413989f0 100644 --- a/src/bike.c +++ b/src/bike.c @@ -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" diff --git a/src/decoration.c b/src/decoration.c index 08287a3cc..2fbd247a6 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -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" diff --git a/src/event_object_movement.c b/src/event_object_movement.c new file mode 100644 index 000000000..d847599b8 --- /dev/null +++ b/src/event_object_movement.c @@ -0,0 +1,5176 @@ +// Includes + +#include "global.h" +#include "malloc.h" +#include "sprite.h" +#include "overworld.h" +#include "random.h" +#include "event_scripts.h" +#include "berry.h" +#include "palette.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "event_data.h" +#include "rom_818CFC8.h" +#include "rom_81BE66C.h" +#include "field_ground_effect.h" +#include "event_object_movement_helpers.h" +#include "mauville_old_man.h" +#include "metatile_behavior.h" +#include "field_effect.h" +#include "field_effect_helpers.h" +#include "field_camera.h" +#include "trainer_see.h" +#include "decoration.h" +#include "event_object_movement.h" + +#define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 + +#define null_object_step(name, retval) \ +bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ +void FieldObjectCB_##name(struct Sprite *sprite)\ +{\ + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ +}\ +bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + return (retval);\ +} + +#define field_object_step(name, table) \ +extern bool8 (*const (table)[])(struct MapObject *, struct Sprite *);\ +bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ +void FieldObjectCB_##name(struct Sprite *sprite)\ +{\ + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ +}\ +bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + return (table)[sprite->data[1]](mapObject, sprite);\ +} + +#define field_object_path(idx, table, sub, path, catch, coord)\ +field_object_step(GoInDirectionSequence##idx, table)\ +extern const u8 path[4];\ +bool8 sub(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + u8 route[sizeof(path)];\ + memcpy(route, path, sizeof(path));\ + if (mapObject->mapobj_unk_21 == (catch) && mapObject->coords1.coord == mapObject->coords2.coord)\ + {\ + mapObject->mapobj_unk_21 = (catch) + 1;\ + }\ + return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, route);\ +}\ + +// Static struct declarations + +// Static RAM declarations + +extern u8 gUnknown_020375B4; +extern u16 gUnknown_020375B6; + +// Static ROM declarations + +static void sub_808D450(void); +static u8 GetFieldObjectIdByLocalId(u8); +static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8); +static bool8 GetAvailableFieldObjectSlot(u16, u8, u8, u8 *); +static void FieldObjectHandleDynamicGraphicsId(struct MapObject *); +static void RemoveFieldObjectInternal (struct MapObject *); +/*static*/ u16 GetFieldObjectFlagIdByFieldObjectId(u8); +void sub_8096518(struct MapObject *, struct Sprite *); +static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); +/*static*/ void GetFieldObjectMovingCameraOffset(s16 *, s16 *); +/*static*/ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8); +static void sub_808E894(u16); +static void RemoveFieldObjectIfOutsideView(struct MapObject *); +static void sub_808E1B8(u8, s16, s16); +static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); +/*static*/ void sub_808E38C(struct MapObject *); +static u8 sub_808E8F4(const struct SpritePalette *); +static u8 FindFieldObjectPaletteIndexByTag(u16); +static void sub_808EAB0(u16, u8); +static bool8 FieldObjectDoesZCoordMatch(struct MapObject *, u8); +//static void CameraObject_0(struct Sprite *); +/*static*/ void CameraObject_1(struct Sprite *); +//static void CameraObject_2(struct Sprite *); +/*static*/ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); +void npc_reset(struct MapObject *, struct Sprite *); +void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); + +u8 GetFaceDirectionAnimId(u32); +u8 GetGoSpeed0AnimId(u32); +u8 GetGoSpeed1AnimId(u32); +u8 GetGoSpeed3AnimId(u32); +u8 sub_8093438(u32); +u8 sub_80934BC(u32); +u8 sub_8093514(u32); +u8 GetJumpLedgeAnimId(u32); +void sub_8092F88(u32, s16 *, s16 *, s16, s16); + +bool8 FieldObjectExecRegularAnim(struct MapObject *, struct Sprite *); +void SetFieldObjectStepTimer(struct Sprite *, s16); +bool8 RunFieldObjectStepTimer(struct Sprite *); +bool8 npc_block_way__next_tile(struct MapObject *, u8); +static u32 state_to_direction(u8, u32, u32); +/*static*/ void sub_80964E8(struct MapObject *, struct Sprite *); +static void FieldObjectExecSpecialAnim(struct MapObject *, struct Sprite *); +/*static*/ void npc_obj_transfer_image_anim_pause_flag(struct MapObject *, struct Sprite *); + +static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *, s16, s16); +static bool8 IsMetatileDirectionallyImpassable(struct MapObject *, s16, s16, u8); +static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *, s16, s16); +bool8 sub_809558C(struct MapObject *, struct Sprite *); +bool8 sub_8095B64(struct MapObject *, struct Sprite *); +static void sub_8096530(struct MapObject *, struct Sprite *); +static void npc_update_obj_anim_flag(struct MapObject *, struct Sprite *); + +// ROM data + +extern void (*const gUnknown_08505438[NUM_FIELD_MAP_OBJECT_TEMPLATES])(struct Sprite *); +extern const u8 gUnknown_0850557C[NUM_FIELD_MAP_OBJECT_TEMPLATES]; +extern const u8 gUnknown_085055CD[NUM_FIELD_MAP_OBJECT_TEMPLATES]; +extern const struct MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[7]; +extern const struct MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[0xEF]; +extern u8 (*const gUnknown_0850D714[11])(s16, s16, s16, s16); + +struct PairedPalettes { + u16 tag; + const u16 *data; +}; + +extern const u8 gUnknown_084975C4[0x10]; +extern const struct SpriteTemplate gUnknown_084975D4; +extern void (*const gUnknown_084975EC[3])(struct Sprite *); +extern const struct SpritePalette gUnknown_0850BBC8[39]; +extern const struct PairedPalettes gUnknown_0850BD00[4]; +extern const struct PairedPalettes gUnknown_0850BD78[14]; +extern const u16 *const gUnknown_0850BE38[2]; +extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} +extern const s16 gUnknown_0850D6EC[4]; +extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} +extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} +extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} +extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} +extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} +extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} +extern const u8 gUnknown_0850D838[2]; // {DIR_SOUTH, DIR_EAST} +extern const u8 gUnknown_0850D850[4]; +extern const u8 gUnknown_0850D868[4]; +extern const u8 gUnknown_0850D880[4]; +extern const u8 gUnknown_0850D898[4]; +extern const u8 gUnknown_0850D8AC[5]; +extern const u8 gUnknown_0850D8C4[5]; +extern const u8 gUnknown_0850D8E8[4]; +extern bool8 (*const gUnknown_0850DA64[11])(struct MapObject *, struct Sprite *, u8, bool8(u8)); +extern bool8 (*const gUnknown_0850DB5C[4])(u8); +extern bool8 (*const gUnknown_0850DB6C[4])(u8); +extern const struct Coords16 gUnknown_0850DB7C[4]; +extern const u8 gUnknown_0850DC2F[4][4]; +extern const u8 gUnknown_0850DC3F[4][4]; +extern const u8 gUnknown_0850DBA0[5]; +extern bool8 (*const *const gUnknown_0850DC50[166])(struct MapObject *, struct Sprite *); +extern u8 (*const gUnknown_0850DEE8[5])(u8); +extern const s16 gUnknown_0850DFBC[3]; +extern const s16 gUnknown_0850DFC2[3]; + +/*static*/ void FieldObjectUpdateMetatileBehaviors(struct MapObject*); +/*static*/ void GetAllGroundEffectFlags_OnBeginStep(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_SandHeap(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_ShortGrass(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_HotSprings(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_Tracks(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_Puddle(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_Ripple(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_Seaweed(struct MapObject*, u32*); +/*static*/ void GetGroundEffectFlags_JumpLanding(struct MapObject*, u32*); + + +// Code + +static void npc_clear_ids_and_state(struct MapObject *mapObject) +{ + *mapObject = (struct MapObject){}; + mapObject->localId = 0xFF; + mapObject->mapNum = -1; + mapObject->mapGroup = -1; + mapObject->mapobj_unk_1C = -1; +} + +static void npcs_clear_ids_and_state(void) +{ + u8 i; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + npc_clear_ids_and_state(&gMapObjects[i]); + } +} + +void sub_808D438(void) +{ + ZeroAllLinkPlayerMapObjects(); + npcs_clear_ids_and_state(); + ClearPlayerAvatarInfo(); + sub_808D450(); +} + +static void sub_808D450(void) +{ + u8 spriteIdx; + + spriteIdx = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); + gSprites[spriteIdx].oam.affineMode = 1; + InitSpriteAffineAnim(&gSprites[spriteIdx]); + StartSpriteAffineAnim(&gSprites[spriteIdx], 0); + gSprites[spriteIdx].invisible = TRUE; + + spriteIdx = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); + gSprites[spriteIdx].oam.affineMode = 1; + InitSpriteAffineAnim(&gSprites[spriteIdx]); + StartSpriteAffineAnim(&gSprites[spriteIdx], 1); + gSprites[spriteIdx].invisible = TRUE; +} + +u8 sub_808D4F4(void) +{ + u8 i; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (!gMapObjects[i].active) + { + break; + } + } + return i; +} + +u8 GetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId) +{ + if (localId < 0xff) + { + return GetFieldObjectIdByLocalIdAndMapInternal(localId, mapId, mapGroupId); + } + return GetFieldObjectIdByLocalId(localId); +} + +bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *fieldObjectId) +{ + *fieldObjectId = GetFieldObjectIdByLocalIdAndMap(localId, mapId, mapGroupId); + if (*fieldObjectId == NUM_FIELD_OBJECTS) + { + return TRUE; + } + return FALSE; +} + +u8 GetFieldObjectIdByXY(s16 x, s16 y) +{ + u8 i; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (gMapObjects[i].active && gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y) + { + break; + } + } + return i; +} + +static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapId, u8 mapGroupId) +{ + u8 i; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapId && gMapObjects[i].mapGroup == mapGroupId) + { + return i; + } + } + return NUM_FIELD_OBJECTS; +} + +static u8 GetFieldObjectIdByLocalId(u8 localId) +{ + u8 i; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (gMapObjects[i].active && gMapObjects[i].localId == localId) + { + return i; + } + } + return NUM_FIELD_OBJECTS; +} + +// This function has the same nonmatching quirk as in Ruby/Sapphire. +#ifdef NONMATCHING +static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapNum, u8 mapGroup) +{ + struct MapObject *mapObject; + s16 x; + s16 y; + u8 slot; + + // mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7) + if (GetAvailableFieldObjectSlot(template->localId, mapNum, mapGroup, &slot)) + { + return NUM_FIELD_OBJECTS; + } + mapObject = &gMapObjects[slot]; + npc_clear_ids_and_state(mapObject); + x = template->x + 7; + y = template->y + 7; + mapObject->active = TRUE; + mapObject->mapobj_bit_2 = TRUE; + mapObject->graphicsId = template->graphicsId; + mapObject->animPattern = template->movementType; + mapObject->localId = template->localId; + mapObject->mapNum = mapNum; + mapObject->mapGroup = mapGroup; + mapObject->coords1.x = x; + mapObject->coords1.y = y; + mapObject->coords2.x = x; + mapObject->coords2.y = y; + mapObject->coords3.x = x; + mapObject->coords3.y = y; + mapObject->mapobj_unk_0B_0 = template->elevation; + mapObject->elevation = template->elevation; + // For some reason, 0x0F is placed in r9, to be used later + mapObject->range.as_nybbles.x = template->unkA_0; + mapObject->range.as_nybbles.y = template->unkA_4; + mapObject->trainerType = template->unkC; + mapObject->trainerRange_berryTreeId = template->unkE; + mapObject->mapobj_unk_20 = gUnknown_085055CD[template->movementType]; + FieldObjectSetDirection(mapObject, mapObject->mapobj_unk_20); + FieldObjectHandleDynamicGraphicsId(mapObject); + + if (gUnknown_0850557C[mapObject->animPattern]) + { + if ((mapObject->range.as_nybbles.x) == 0) + { + // r9 is invoked here + mapObject->range.as_nybbles.x ++; + } + if ((mapObject->range.as_nybbles.y) == 0) + { + mapObject->range.as_nybbles.y ++; + } + } + return slot; +} +#else +static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapId, u8 mapGroupId) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r9\n" + "\tmov r6, r8\n" + "\tpush {r6,r7}\n" + "\tsub sp, 0x4\n" + "\tadds r5, r0, 0\n" + "\tlsls r1, 24\n" + "\tlsrs r6, r1, 24\n" + "\tlsls r2, 24\n" + "\tlsrs r7, r2, 24\n" + "\tldrb r0, [r5]\n" + "\tadds r1, r6, 0\n" + "\tadds r2, r7, 0\n" + "\tmov r3, sp\n" + "\tbl GetAvailableFieldObjectSlot\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbeq _0808D66E\n" + "\tmovs r0, 0x10\n" + "\tb _0808D762\n" + "_0808D66E:\n" + "\tmov r0, sp\n" + "\tldrb r1, [r0]\n" + "\tlsls r0, r1, 3\n" + "\tadds r0, r1\n" + "\tlsls r0, 2\n" + "\tldr r1, =gMapObjects\n" + "\tadds r4, r0, r1\n" + "\tadds r0, r4, 0\n" + "\tbl npc_clear_ids_and_state\n" + "\tldrh r3, [r5, 0x4]\n" + "\tadds r3, 0x7\n" + "\tlsls r3, 16\n" + "\tlsrs r3, 16\n" + "\tldrh r2, [r5, 0x6]\n" + "\tadds r2, 0x7\n" + "\tlsls r2, 16\n" + "\tlsrs r2, 16\n" + "\tldrb r0, [r4]\n" + "\tmovs r1, 0x1\n" + "\torrs r0, r1\n" + "\tmovs r1, 0x4\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4]\n" + "\tldrb r0, [r5, 0x1]\n" + "\tstrb r0, [r4, 0x5]\n" + "\tldrb r0, [r5, 0x9]\n" + "\tstrb r0, [r4, 0x6]\n" + "\tldrb r0, [r5]\n" + "\tstrb r0, [r4, 0x8]\n" + "\tstrb r6, [r4, 0x9]\n" + "\tstrb r7, [r4, 0xA]\n" + "\tstrh r3, [r4, 0xC]\n" + "\tstrh r2, [r4, 0xE]\n" + "\tstrh r3, [r4, 0x10]\n" + "\tstrh r2, [r4, 0x12]\n" + "\tstrh r3, [r4, 0x14]\n" + "\tstrh r2, [r4, 0x16]\n" + "\tldrb r0, [r5, 0x8]\n" + "\tmovs r7, 0xF\n" + "\tadds r1, r7, 0\n" + "\tands r1, r0\n" + "\tldrb r2, [r4, 0xB]\n" + "\tmovs r0, 0x10\n" + "\tnegs r0, r0\n" + "\tmov r8, r0\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4, 0xB]\n" + "\tldrb r1, [r5, 0x8]\n" + "\tlsls r1, 4\n" + "\tands r0, r7\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4, 0xB]\n" + "\tldrb r1, [r5, 0xA]\n" + "\tlsls r1, 28\n" + "\tmovs r0, 0xF\n" + "\tmov r9, r0\n" + "\tlsrs r1, 28\n" + "\tldrb r2, [r4, 0x19]\n" + "\tmov r0, r8\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4, 0x19]\n" + "\tldrb r1, [r5, 0xA]\n" + "\tlsrs r1, 4\n" + "\tlsls r1, 4\n" + "\tands r0, r7\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4, 0x19]\n" + "\tldrh r0, [r5, 0xC]\n" + "\tstrb r0, [r4, 0x7]\n" + "\tldrh r0, [r5, 0xE]\n" + "\tstrb r0, [r4, 0x1D]\n" + "\tldr r1, =gUnknown_085055CD\n" + "\tldrb r0, [r5, 0x9]\n" + "\tadds r0, r1\n" + "\tldrb r1, [r0]\n" + "\tadds r0, r4, 0\n" + "\tadds r0, 0x20\n" + "\tstrb r1, [r0]\n" + "\tldrb r1, [r0]\n" + "\tadds r0, r4, 0\n" + "\tbl FieldObjectSetDirection\n" + "\tadds r0, r4, 0\n" + "\tbl FieldObjectHandleDynamicGraphicsId\n" + "\tldr r1, =gUnknown_0850557C\n" + "\tldrb r0, [r4, 0x6]\n" + "\tadds r0, r1\n" + "\tldrb r0, [r0]\n" + "\tcmp r0, 0\n" + "\tbeq _0808D75E\n" + "\tldrb r2, [r4, 0x19]\n" + "\tadds r0, r7, 0\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbne _0808D746\n" + "\tlsls r0, r2, 28\n" + "\tlsrs r0, 28\n" + "\tadds r0, 0x1\n" + "\tmov r1, r9\n" + "\tands r0, r1\n" + "\tmov r1, r8\n" + "\tands r1, r2\n" + "\torrs r1, r0\n" + "\tstrb r1, [r4, 0x19]\n" + "_0808D746:\n" + "\tldrb r2, [r4, 0x19]\n" + "\tmovs r0, 0xF0\n" + "\tands r0, r2\n" + "\tcmp r0, 0\n" + "\tbne _0808D75E\n" + "\tlsrs r1, r2, 4\n" + "\tadds r1, 0x1\n" + "\tlsls r1, 4\n" + "\tadds r0, r7, 0\n" + "\tands r0, r2\n" + "\torrs r0, r1\n" + "\tstrb r0, [r4, 0x19]\n" + "_0808D75E:\n" + "\tmov r0, sp\n" + "\tldrb r0, [r0]\n" + "_0808D762:\n" + "\tadd sp, 0x4\n" + "\tpop {r3,r4}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tpop {r4-r7}\n" + "\tpop {r1}\n" + "\tbx r1\n" + ".pool"); +} +#endif + +u8 unref_sub_808D77C(u8 localId) +{ + u8 i; + u8 nObjects; + struct MapObjectTemplate *template; + + if (gMapHeader.events != NULL) + { + if (InBattlePyramid()) + { + nObjects = sub_81AAA40(); + } + else if (InTrainerHill()) + { + nObjects = 2; + } + else + { + nObjects = gMapHeader.events->mapObjectCount; + } + for (i = 0; i < nObjects; i ++) + { + template = &gSaveBlock1Ptr->mapObjectTemplates[i]; + if (template->localId == localId && !FlagGet(template->flagId)) + { + return InitFieldObjectStateFromTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + } + } + } + return NUM_FIELD_OBJECTS; +} + +static bool8 GetAvailableFieldObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 *result) +// Looks for an empty slot. +// Returns FALSE and the location of the available slot +// in *result. +// If no slots are available, or if the object is already +// loaded, returns TRUE. +{ + u8 i = 0; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (!gMapObjects[i].active) + break; + if (gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + return TRUE; + } + if (i >= NUM_FIELD_OBJECTS) + return TRUE; + *result = i; + do + { + if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + return TRUE; + i ++; + } while (i < NUM_FIELD_OBJECTS); + return FALSE; +} + +static void RemoveFieldObject(struct MapObject *mapObject) +{ + mapObject->active = FALSE; + RemoveFieldObjectInternal(mapObject); +} + +void RemoveFieldObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 index; + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &index)) + { + FlagSet(GetFieldObjectFlagIdByFieldObjectId(index)); + RemoveFieldObject(&gMapObjects[index]); + } +} + +static void RemoveFieldObjectInternal(struct MapObject *mapObject) +{ + struct SpriteFrameImage image; + image.size = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->size; + gSprites[mapObject->spriteId].images = ℑ + DestroySprite(&gSprites[mapObject->spriteId]); +} + +void unref_sub_808D958(void) +{ + u8 i; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (i != gPlayerAvatar.mapObjectId) + { + RemoveFieldObject(&gMapObjects[i]); + } + } +} + +static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +{ + struct MapObject *mapObject; + const struct MapObjectGraphicsInfo *graphicsInfo; + struct Sprite *sprite; + u8 mapObjectId; + u8 paletteSlot; + u8 spriteId; + + mapObjectId = InitFieldObjectStateFromTemplate(mapObjectTemplate, mapNum, mapGroup); + if (mapObjectId == NUM_FIELD_OBJECTS) + { + return NUM_FIELD_OBJECTS; + } + mapObject = &gMapObjects[mapObjectId]; + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + paletteSlot = graphicsInfo->paletteSlot; + if (paletteSlot == 0) + { + npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, 0); + } + else if (paletteSlot == 10) + { + npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, 10); + } + else if (paletteSlot >= 16) + { + paletteSlot -= 16; + sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); + } + if (mapObject->animPattern == 0x4c) + { + mapObject->mapobj_bit_13 = TRUE; + } + *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; + spriteId = CreateSprite(spriteTemplate, 0, 0, 0); + if (spriteId == MAX_SPRITES) + { + gMapObjects[mapObjectId].active = FALSE; + return NUM_FIELD_OBJECTS; + } + sprite = &gSprites[spriteId]; + sub_8092FF0(mapObject->coords2.x + cameraX, mapObject->coords2.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); + sprite->pos1.x += 8; + sprite->pos1.y += 16 + sprite->centerToCornerVecY; + sprite->oam.paletteNum = paletteSlot; + sprite->coordOffsetEnabled = TRUE; + sprite->data[0] = mapObjectId; + mapObject->spriteId = spriteId; + mapObject->mapobj_bit_12 = graphicsInfo->inanimate; + if (!mapObject->mapobj_bit_12) + { + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + } + SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); + sub_8096518(mapObject, sprite); + return mapObjectId; +} + +static u8 SpawnFieldObject(struct MapObjectTemplate *mapObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +{ + const struct MapObjectGraphicsInfo *graphicsInfo; + struct SpriteTemplate spriteTemplate; + const struct SubspriteTable *subspriteTables; + struct SpriteFrameImage spriteFrameImage; + u8 mapObjectId; + + subspriteTables = NULL; + graphicsInfo = GetFieldObjectGraphicsInfo(mapObjectTemplate->graphicsId); + MakeObjectTemplateFromFieldObjectTemplate(mapObjectTemplate, &spriteTemplate, &subspriteTables); + spriteFrameImage.size = graphicsInfo->size; + spriteTemplate.images = &spriteFrameImage; + mapObjectId = SpawnFieldObjectInternal(mapObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); + if (mapObjectId == NUM_FIELD_OBJECTS) + { + return NUM_FIELD_OBJECTS; + } + gSprites[gMapObjects[mapObjectId].spriteId].images = graphicsInfo->images; + if (subspriteTables != NULL) + { + SetSubspriteTables(&gSprites[gMapObjects[mapObjectId].spriteId], subspriteTables); + } + return mapObjectId; +} + +u8 SpawnSpecialFieldObject(struct MapObjectTemplate *mapObjectTemplate) +{ + s16 cameraX; + s16 cameraY; + + GetFieldObjectMovingCameraOffset(&cameraX, &cameraY); + return SpawnFieldObject(mapObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); +} + +u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +{ + struct MapObjectTemplate mapObjectTemplate; + + x -= 7; + y -= 7; + mapObjectTemplate.localId = localId; + mapObjectTemplate.graphicsId = graphicsId; + mapObjectTemplate.unk2 = 0; + mapObjectTemplate.x = x; + mapObjectTemplate.y = y; + mapObjectTemplate.elevation = z; + mapObjectTemplate.movementType = movementBehavior; + mapObjectTemplate.unkA_0 = 0; + mapObjectTemplate.unkA_4 = 0; + mapObjectTemplate.unkC = 0; + mapObjectTemplate.unkE = 0; + return SpawnSpecialFieldObject(&mapObjectTemplate); +} + +u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) +{ + struct MapObjectTemplate *mapObjectTemplate; + s16 cameraX; + s16 cameraY; + + mapObjectTemplate = GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + if (mapObjectTemplate == NULL) + { + return NUM_FIELD_OBJECTS; + } + GetFieldObjectMovingCameraOffset(&cameraX, &cameraY); + return SpawnFieldObject(mapObjectTemplate, mapNum, mapGroup, cameraX, cameraY); +} + +static void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +{ + const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); + + sprTemplate->tileTag = gfxInfo->tileTag; + sprTemplate->paletteTag = gfxInfo->paletteTag1; + sprTemplate->oam = gfxInfo->oam; + sprTemplate->anims = gfxInfo->anims; + sprTemplate->images = gfxInfo->images; + sprTemplate->affineAnims = gfxInfo->affineAnims; + sprTemplate->callback = callback; + *subspriteTables = gfxInfo->subspriteTables; +} + +static void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +{ + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, gUnknown_08505438[callbackIndex], sprTemplate, subspriteTables); +} + +static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) +{ + MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjectTemplate->graphicsId, mapObjectTemplate->movementType, spriteTemplate, subspriteTables); +} + +u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) +{ + struct SpriteTemplate *spriteTemplate; + const struct SubspriteTable *subspriteTables; + struct Sprite *sprite; + u8 spriteIdx; + + spriteTemplate = malloc(sizeof(struct SpriteTemplate)); + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables); + if (spriteTemplate->paletteTag != 0xffff) + { + sub_808E894(spriteTemplate->paletteTag); + } + spriteIdx = CreateSprite(spriteTemplate, x, y, subpriority); + free(spriteTemplate); + + if (spriteIdx != MAX_SPRITES && subspriteTables != NULL) + { + sprite = &gSprites[spriteIdx]; + SetSubspriteTables(sprite, subspriteTables); + sprite->subspriteMode = 2; + } + return spriteIdx; +} + +u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) +{ + const struct MapObjectGraphicsInfo *graphicsInfo; + struct SpriteTemplate spriteTemplate; + const struct SubspriteTable *subspriteTables; + u8 spriteId; + struct Sprite *sprite; + + graphicsInfo = GetFieldObjectGraphicsInfo(graphicsId); + MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sub_8097AC8, &spriteTemplate, &subspriteTables); + *(u16 *)&spriteTemplate.paletteTag = 0xffff; + x += 7; + y += 7; + sub_80930E0(&x, &y, 8, 16); + spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); + sprite->pos1.y += sprite->centerToCornerVecY; + sprite->oam.paletteNum = graphicsInfo->paletteSlot; + if (sprite->oam.paletteNum >= 16) + { + sprite->oam.paletteNum -= 16; + } + sprite->coordOffsetEnabled = TRUE; + sprite->data[0] = a1; + sprite->data[1] = z; + if (graphicsInfo->paletteSlot == 10) + { + npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + } + else if (graphicsInfo->paletteSlot >= 16) + { + sub_808EAB0(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot | 0xf0); + } + if (subspriteTables != NULL) + { + SetSubspriteTables(sprite, subspriteTables); + sprite->subspriteMode = 2; + } + InitObjectPriorityByZCoord(sprite, z); + SetObjectSubpriorityByZCoord(z, sprite, 1); + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(direction)); + } + return spriteId; +} + +void SpawnFieldObjectsInView(s16 cameraX, s16 cameraY) +{ + u8 i; + s16 left; + s16 right; + s16 top; + s16 bottom; + u8 objectCount; + s16 npcX; + s16 npcY; + + if (gMapHeader.events != NULL) + { + left = gSaveBlock1Ptr->pos.x - 2; + right = gSaveBlock1Ptr->pos.x + 17; + top = gSaveBlock1Ptr->pos.y; + bottom = gSaveBlock1Ptr->pos.y + 16; + + if (InBattlePyramid()) + { + objectCount = sub_81AAA40(); + } + else if (InTrainerHill()) + { + objectCount = 2; + } + else + { + objectCount = gMapHeader.events->mapObjectCount; + } + + for (i = 0; i < objectCount; i++) + { + struct MapObjectTemplate *template = &gSaveBlock1Ptr->mapObjectTemplates[i]; + npcX = template->x + 7; + npcY = template->y + 7; + + if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX + && !FlagGet(template->flagId)) + SpawnFieldObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + } + } +} + +/*static*/ void RemoveFieldObjectsOutsideView(void) +{ + u8 i; + u8 j; + bool8 isActiveLinkPlayer; + struct MapObject *mapObject; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerMapObjects); j ++) + { + if (gLinkPlayerMapObjects[j].active && i == gLinkPlayerMapObjects[j].mapObjId) + isActiveLinkPlayer = TRUE; + } + if (!isActiveLinkPlayer) + { + mapObject = &gMapObjects[i]; + + if (mapObject->active && !mapObject->mapobj_bit_16) + RemoveFieldObjectIfOutsideView(mapObject); + } + } +} + +static void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) +{ + s16 left; + s16 right; + s16 top; + s16 bottom; + + left = gSaveBlock1Ptr->pos.x - 2; + right = gSaveBlock1Ptr->pos.x + 17; + top = gSaveBlock1Ptr->pos.y; + bottom = gSaveBlock1Ptr->pos.y + 16; + + if (mapObject->coords2.x >= left && mapObject->coords2.x <= right + && mapObject->coords2.y >= top && mapObject->coords2.y <= bottom) + return; + if (mapObject->coords1.x >= left && mapObject->coords1.x <= right + && mapObject->coords1.y >= top && mapObject->coords1.y <= bottom) + return; + RemoveFieldObject(mapObject); +} + +void sub_808E16C(s16 x, s16 y) +{ + u8 i; + + ClearPlayerAvatarInfo(); + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (gMapObjects[i].active) + { + sub_808E1B8(i, x, y); + } + } + sub_808D450(); +} + +static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) +{ + u8 spriteId; + u8 paletteSlot; + struct MapObject *mapObject; + const struct SubspriteTable *subspriteTables; + const struct MapObjectGraphicsInfo *graphicsInfo; + struct SpriteFrameImage spriteFrameImage; + struct SpriteTemplate spriteTemplate; + struct Sprite *sprite; + +#define i spriteId + for (i = 0; i < ARRAY_COUNT(gLinkPlayerMapObjects); i ++) + { + if (gLinkPlayerMapObjects[i].active && mapObjectId == gLinkPlayerMapObjects[i].mapObjId) + { + return; + } + } +#undef i + + mapObject = &gMapObjects[mapObjectId]; + subspriteTables = NULL; + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + spriteFrameImage.size = graphicsInfo->size; + MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->animPattern, &spriteTemplate, &subspriteTables); + spriteTemplate.images = &spriteFrameImage; + *(u16 *)&spriteTemplate.paletteTag = 0xffff; + paletteSlot = graphicsInfo->paletteSlot; + if (paletteSlot == 0) + { + npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + } + else if (paletteSlot == 10) + { + npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + } + else if (paletteSlot >= 16) + { + paletteSlot -= 16; + sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); + } + *(u16 *)&spriteTemplate.paletteTag = 0xffff; + spriteId = CreateSprite(&spriteTemplate, 0, 0, 0); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sub_8092FF0(x + mapObject->coords2.x, y + mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); + sprite->pos1.x += 8; + sprite->pos1.y += 16 + sprite->centerToCornerVecY; + sprite->images = graphicsInfo->images; + if (mapObject->animPattern == 0x0b) + { + SetPlayerAvatarFieldObjectIdAndObjectId(mapObjectId, spriteId); + mapObject->mapobj_unk_1B = sub_8154228(); + } + if (subspriteTables != NULL) + { + SetSubspriteTables(sprite, subspriteTables); + } + sprite->oam.paletteNum = paletteSlot; + sprite->coordOffsetEnabled = TRUE; + sprite->data[0] = mapObjectId; + mapObject->spriteId = spriteId; + if (!mapObject->mapobj_bit_12 && mapObject->animPattern != 0x0b) + { + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + } + sub_808E38C(mapObject); + SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); + } +} + +/*static*/ void sub_808E38C(struct MapObject *mapObject) +{ + mapObject->mapobj_bit_1 = FALSE; + mapObject->mapobj_bit_2 = TRUE; + mapObject->mapobj_bit_22 = FALSE; + mapObject->mapobj_bit_17 = FALSE; + mapObject->mapobj_bit_18 = FALSE; + mapObject->mapobj_bit_19 = FALSE; + mapObject->mapobj_bit_20 = FALSE; + mapObject->mapobj_bit_21 = FALSE; + FieldObjectClearAnim(mapObject); +} + +static void SetPlayerAvatarFieldObjectIdAndObjectId(u8 mapObjectId, u8 spriteId) +{ + gPlayerAvatar.mapObjectId = mapObjectId; + gPlayerAvatar.spriteId = spriteId; + gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gMapObjects[mapObjectId].graphicsId); + SetPlayerAvatarExtraStateTransition(gMapObjects[mapObjectId].graphicsId, 0x20); +} + +void FieldObjectSetGraphicsId(struct MapObject *mapObject, u8 graphicsId) +{ + const struct MapObjectGraphicsInfo *graphicsInfo; + struct Sprite *sprite; + u8 paletteSlot; + + graphicsInfo = GetFieldObjectGraphicsInfo(graphicsId); + sprite = &gSprites[mapObject->spriteId]; + paletteSlot = graphicsInfo->paletteSlot; + if (paletteSlot == 0) + { + pal_patch_for_npc(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + } + else if (paletteSlot == 10) + { + npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); + } + else if (paletteSlot >= 16) + { + paletteSlot -= 16; + sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); + } + sprite->oam.shape = graphicsInfo->oam->shape; + sprite->oam.size = graphicsInfo->oam->size; + sprite->images = graphicsInfo->images; + sprite->anims = graphicsInfo->anims; + sprite->subspriteTables = graphicsInfo->subspriteTables; + sprite->oam.paletteNum = paletteSlot; + mapObject->mapobj_bit_12 = graphicsInfo->inanimate; + mapObject->graphicsId = graphicsId; + sub_8093038(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); + sprite->pos1.x += 8; + sprite->pos1.y += 16 + sprite->centerToCornerVecY; + if (mapObject->mapobj_bit_15) + { + CameraObjectReset1(); + } +} + +void FieldObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + FieldObjectSetGraphicsId(&gMapObjects[mapObjectId], graphicsId); + } +} + +void FieldObjectTurn(struct MapObject *mapObject, u8 direction) +{ + FieldObjectSetDirection(mapObject, direction); + if (!mapObject->mapobj_bit_12) + { + StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); + } +} + +void FieldObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + FieldObjectTurn(&gMapObjects[mapObjectId], direction); + } +} + +void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) +{ + FieldObjectTurn(&gMapObjects[playerAvatar->mapObjectId], direction); +} + +/*static*/ void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 berryStage; + u8 berryId; + + mapObject->mapobj_bit_13 = TRUE; + sprite->invisible = TRUE; + berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + if (berryStage != 0) + { + mapObject->mapobj_bit_13 = FALSE; + sprite->invisible = FALSE; + berryId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; + berryStage -= 1; + if (berryId >= NUM_BERRIES) + { + berryId = 0; + } + FieldObjectSetGraphicsId(mapObject, gBerryTreeFieldObjectGraphicsIdTablePointers[berryId][berryStage]); + sprite->images = gBerryTreePicTablePointers[berryId]; + sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; + StartSpriteAnim(sprite, berryStage); + } +} + +const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId) +{ + u8 bard; + + if (graphicsId >= SPRITE_VAR) + { + graphicsId = VarGetFieldObjectGraphicsId(graphicsId - SPRITE_VAR); + } + if (graphicsId == 0x45) + { + bard = GetCurrentMauvilleOldMan(); + return gMauvilleOldManGraphicsInfoPointers[bard]; + } + if (graphicsId >= NUM_OBJECT_GRAPHICS_INFO) + { + graphicsId = 0x05; // LittleBoy1 + } + return gFieldObjectGraphicsInfoPointers[graphicsId]; +} + +static void FieldObjectHandleDynamicGraphicsId(struct MapObject *mapObject) +{ + if (mapObject->graphicsId >= SPRITE_VAR) + { + mapObject->graphicsId = VarGetFieldObjectGraphicsId(mapObject->graphicsId - SPRITE_VAR); + } +} + +void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 state) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + gMapObjects[mapObjectId].mapobj_bit_13 = state; + } +} + +void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) +{ + *(u8*)(localId) = mapObject->localId; + *(u8*)(mapNum) = mapObject->mapNum; + *(u8*)(mapGroup) = mapObject->mapGroup; +} + +void sub_808E75C(s16 x, s16 y) +{ + u8 mapObjectId; + struct MapObject *mapObject; + + mapObjectId = GetFieldObjectIdByXY(x, y); + if (mapObjectId != NUM_FIELD_OBJECTS) + { + mapObject = &gMapObjects[mapObjectId]; + mapObject->mapobj_bit_2 = TRUE; + } +} + +void sub_808E78C(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) +{ + u8 mapObjectId; + struct MapObject *mapObject; + struct Sprite *sprite; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + mapObject = &gMapObjects[mapObjectId]; + sprite = &gSprites[mapObject->spriteId]; + mapObject->mapobj_bit_26 = TRUE; + sprite->subpriority = subpriority; + } +} + +void sub_808E7E4(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 mapObjectId; + struct MapObject *mapObject; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + mapObject = &gMapObjects[mapObjectId]; + mapObject->mapobj_bit_26 = FALSE; + mapObject->mapobj_bit_2 = TRUE; + } +} + +void sub_808E82C(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +{ + u8 mapObjectId; + struct Sprite *sprite; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + sprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + sprite->pos2.x = x; + sprite->pos2.y = y; + } +} + +void gpu_pal_allocator_reset__manage_upper_four(void) +{ + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 12; +} + +static void sub_808E894(u16 paletteTag) +{ + u16 paletteSlot; + + paletteSlot = FindFieldObjectPaletteIndexByTag(paletteTag); + if (paletteSlot != 0x11ff) // always true + { + sub_808E8F4(&gUnknown_0850BBC8[paletteSlot]); + } +} + +void sub_808E8C0(u16 *paletteTags) +{ + u8 i; + + for (i = 0; paletteTags[i] != 0x11ff; i ++) + { + sub_808E894(paletteTags[i]); + } +} + +static u8 sub_808E8F4(const struct SpritePalette *spritePalette) +{ + if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xff) + { + return 0xff; + } + return LoadSpritePalette(spritePalette); +} + +void pal_patch_for_npc(u16 paletteTag, u8 paletteSlot) +{ + u16 paletteIdx; + + paletteIdx = FindFieldObjectPaletteIndexByTag(paletteTag); + LoadPalette(gUnknown_0850BBC8[paletteIdx].data, 16 * paletteSlot + 256, 0x20); +} + +void pal_patch_for_npc_range(const u16 *paletteTags, u8 minSlot, u8 maxSlot) +{ + while (minSlot < maxSlot) + { + pal_patch_for_npc(*paletteTags, minSlot); + paletteTags ++; + minSlot ++; + } +} + +static u8 FindFieldObjectPaletteIndexByTag(u16 tag) +{ + u8 i; + + for (i = 0; gUnknown_0850BBC8[i].tag != 0x11ff; i ++) + { + if (gUnknown_0850BBC8[i].tag == tag) + { + return i; + } + } + return 0xff; +} + +void npc_load_two_palettes__no_record(u16 tag, u8 slot) +{ + u8 i; + + pal_patch_for_npc(tag, slot); + for (i = 0; gUnknown_0850BD00[i].tag != 0x11ff; i ++) + { + if (gUnknown_0850BD00[i].tag == tag) + { + pal_patch_for_npc(gUnknown_0850BD00[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]); + return; + } + } +} + +void npc_load_two_palettes__and_record(u16 tag, u8 slot) +{ + u8 i; + + gUnknown_020375B6 = tag; + pal_patch_for_npc(tag, slot); + for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++) + { + if (gUnknown_0850BD78[i].tag == tag) + { + pal_patch_for_npc(gUnknown_0850BD78[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]); + return; + } + } +} + +static void sub_808EAB0(u16 tag, u8 slot) +{ + pal_patch_for_npc(tag, slot); +} + +void unref_sub_808EAC4(struct MapObject *mapObject, s16 x, s16 y) +{ + mapObject->coords3.x = mapObject->coords2.x; + mapObject->coords3.y = mapObject->coords2.y; + mapObject->coords2.x += x; + mapObject->coords2.y += y; +} + +void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) +{ + mapObject->coords3.x = mapObject->coords2.x; + mapObject->coords3.y = mapObject->coords2.y; + mapObject->coords2.x = x; + mapObject->coords2.y = y; +} + +/*static*/ void npc_coords_set(struct MapObject *mapObject, s16 x, s16 y) +{ + mapObject->coords3.x = x; + mapObject->coords3.y = y; + mapObject->coords2.x = x; + mapObject->coords2.y = y; +} + +void sub_808EB08(struct MapObject *mapObject, s16 x, s16 y) +{ + struct Sprite *sprite; + const struct MapObjectGraphicsInfo *graphicsInfo; + + sprite = &gSprites[mapObject->spriteId]; + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + npc_coords_set(mapObject, x, y); + sub_8093038(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); + sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); + sprite->pos1.x += 8; + sprite->pos1.y += 16 + sprite->centerToCornerVecY; + sub_808E38C(mapObject); + if (mapObject->mapobj_bit_15) + { + CameraObjectReset1(); + } +} + +void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + x += 7; + y += 7; + sub_808EB08(&gMapObjects[mapObjectId], x, y); + } +} + +void npc_coords_shift_still(struct MapObject *mapObject) +{ + npc_coords_shift(mapObject, mapObject->coords2.x, mapObject->coords2.y); +} + +void UpdateFieldObjectCoordsForCameraUpdate(void) +{ + u8 i; + s16 dx; + s16 dy; + + if (gCamera.active) + { + dx = gCamera.x; + dy = gCamera.y; + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (gMapObjects[i].active) + { + gMapObjects[i].coords1.x -= dx; + gMapObjects[i].coords1.y -= dy; + gMapObjects[i].coords2.x -= dx; + gMapObjects[i].coords2.y -= dy; + gMapObjects[i].coords3.x -= dx; + gMapObjects[i].coords3.y -= dy; + } + } + } +} + +u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) +{ + u8 i; + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + if (gMapObjects[i].active) + { + if (gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) + { + return i; + } + } + } + return NUM_FIELD_OBJECTS; +} + +static bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) +{ + if (mapObject->mapobj_unk_0B_0 != 0 && z != 0 && mapObject->mapobj_unk_0B_0 != z) + { + return FALSE; + } + return TRUE; +} + +void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y) +{ + UpdateFieldObjectCoordsForCameraUpdate(); + SpawnFieldObjectsInView(x, y); + RemoveFieldObjectsOutsideView(); +} + +u8 AddCameraObject(u8 linkedSpriteId) +{ + u8 spriteId; + + spriteId = CreateSprite(&gUnknown_084975D4, 0, 0, 4); + gSprites[spriteId].invisible = TRUE; + gSprites[spriteId].data[0] = linkedSpriteId; + return spriteId; +} + +void ObjectCB_CameraObject(struct Sprite *sprite) +{ + void (*callbacks[ARRAY_COUNT(gUnknown_084975EC)])(struct Sprite *); + + memcpy(callbacks, gUnknown_084975EC, sizeof gUnknown_084975EC); + callbacks[sprite->data[1]](sprite); +} + +/*static*/ void CameraObject_0(struct Sprite *sprite) +{ + sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; + sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; + sprite->invisible = TRUE; + sprite->data[1] = 1; + CameraObject_1(sprite); +} + +/*static*/ void CameraObject_1(struct Sprite *sprite) +{ + s16 x; + s16 y; + + y = gSprites[sprite->data[0]].pos1.y; + x = gSprites[sprite->data[0]].pos1.x; + sprite->data[2] = x - sprite->pos1.x; + sprite->data[3] = y - sprite->pos1.y; + sprite->pos1.x = x; + sprite->pos1.y = y; +} + +/*static*/ void CameraObject_2(struct Sprite *sprite) +{ + sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; + sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; + sprite->data[2] = 0; + sprite->data[3] = 0; +} + +static struct Sprite *FindCameraObject(void) +{ + u8 spriteId; + + for (spriteId = 0; spriteId < MAX_SPRITES; spriteId ++) + { + if (gSprites[spriteId].inUse && gSprites[spriteId].callback == ObjectCB_CameraObject) + { + return &gSprites[spriteId]; + } + } + return NULL; +} + +void CameraObjectReset1(void) +{ + struct Sprite *cameraObject; + + cameraObject = FindCameraObject(); + if (cameraObject != NULL) + { + cameraObject->data[1] = 0; + cameraObject->callback(cameraObject); + } +} + +void CameraObjectSetFollowedObjectId(u8 objectId) +{ + struct Sprite *cameraObject; + + cameraObject = FindCameraObject(); + if (cameraObject != NULL) + { + cameraObject->data[0] = objectId; + CameraObjectReset1(); + } +} + +u8 CameraObjectGetFollowedObjectId(void) +{ + struct Sprite *cameraObject; + + cameraObject = FindCameraObject(); + if (cameraObject == NULL) + { + return MAX_SPRITES; + } + return cameraObject->data[0]; +} + +void CameraObjectReset2(void) +{ + FindCameraObject()->data[1] = 2; +} + +u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) +{ + u8 i; + + for (i = 0; i < MAX_SPRITES; i ++) + { + if (!gSprites[i].inUse) + { + gSprites[i] = *sprite; + gSprites[i].pos1.x = x; + gSprites[i].pos1.y = y; + gSprites[i].subpriority = subpriority; + break; + } + } + return i; +} + +u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) +{ + s16 i; + + for (i = MAX_SPRITES - 1; i > -1; i --) + { + if (!gSprites[i].inUse) + { + gSprites[i] = *sprite; + gSprites[i].pos1.x = x; + gSprites[i].pos1.y = y; + gSprites[i].subpriority = subpriority; + return i; + } + } + return MAX_SPRITES; +} + +void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction) +{ + s8 d2; + mapObject->mapobj_unk_20 = mapObject->mapobj_unk_18; + if (!mapObject->mapobj_bit_9) + { + d2 = direction; + mapObject->mapobj_unk_18 = d2; + } + mapObject->placeholder18 = direction; +} + +static const u8 *GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +{ + return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; +} + +const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId) +{ + return GetFieldObjectScriptPointerByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); +} + +static u16 GetFieldObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +{ + return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; +} + +u16 GetFieldObjectFlagIdByFieldObjectId(u8 mapObjectId) +{ + return GetFieldObjectFlagIdByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); +} + +u8 sub_808F080(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 mapObjectId; + + if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + return 0xFF; + } + return gMapObjects[mapObjectId].trainerType; +} + +u8 sub_808F0BC(u8 mapObjectId) +{ + return gMapObjects[mapObjectId].trainerType; +} + +u8 sub_808F0D4(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 mapObjectId; + + if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + return 0xFF; + } + return gMapObjects[mapObjectId].trainerRange_berryTreeId; +} + +u8 FieldObjectGetBerryTreeId(u8 mapObjectId) +{ + return gMapObjects[mapObjectId].trainerRange_berryTreeId; +} + +struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +{ + struct MapObjectTemplate *templates; + const struct MapHeader *mapHeader; + u8 count; + + if (gSaveBlock1Ptr->location.mapNum == mapNum && gSaveBlock1Ptr->location.mapGroup == mapGroup) + { + templates = gSaveBlock1Ptr->mapObjectTemplates; + count = gMapHeader.events->mapObjectCount; + } + else + { + mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); + templates = mapHeader->events->mapObjects; + count = mapHeader->events->mapObjectCount; + } + return FindFieldObjectTemplateInArrayByLocalId(localId, templates, count); +} + +struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) +{ + u8 i; + + for (i = 0; i < count; i ++) + { + if (templates[i].localId == localId) + { + return &templates[i]; + } + } + return NULL; +} + +struct MapObjectTemplate *sub_808F1B4(const struct MapObject *mapObject) +{ + int i; + + if (mapObject->mapNum != gSaveBlock1Ptr->location.mapNum || mapObject->mapGroup != gSaveBlock1Ptr->location.mapGroup) + { + return NULL; + } + for (i = 0; i < 64; i ++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble) + { + if (mapObject->localId == gSaveBlock1Ptr->mapObjectTemplates[i].localId) + { + return &gSaveBlock1Ptr->mapObjectTemplates[i]; + } + } + return NULL; +} + +void sub_808F208(const struct MapObject *mapObject) +{ + struct MapObjectTemplate *mapObjectTemplate; + + mapObjectTemplate = sub_808F1B4(mapObject); + if (mapObjectTemplate != NULL) + { + mapObjectTemplate->x = mapObject->coords2.x - 7; + mapObjectTemplate->y = mapObject->coords2.y - 7; + } +} + +void sub_808F228(const struct MapObject *mapObject, const u8 *script) +{ + struct MapObjectTemplate *mapObjectTemplate; + + mapObjectTemplate = sub_808F1B4(mapObject); + if (mapObjectTemplate != NULL) + { + mapObjectTemplate->script = script; + } +} + +void sub_808F23C(const struct MapObject *mapObject, u8 movementType) +{ + struct MapObjectTemplate *mapObjectTemplate; + + mapObjectTemplate = sub_808F1B4(mapObject); + if (mapObjectTemplate != NULL) + { + mapObjectTemplate->movementType = movementType; + } +} + +void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + sub_808F208(&gMapObjects[mapObjectId]); + } +} + +void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + switch (decorCat) + { + case DECORCAT_DOLL: + sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A2); + break; + case DECORCAT_CUSHION: + sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A6); + break; + } + } +} + +void npc_paltag_set_load(u8 palSlot) +{ + gpu_pal_allocator_reset__manage_upper_four(); + gUnknown_020375B6 = 0x11ff; + gUnknown_020375B4 = palSlot; + if (palSlot == 1) + { + pal_patch_for_npc_range(gUnknown_0850BE38[gUnknown_020375B4], 0, 6); + gReservedSpritePaletteCount = 8; + } + else + { + pal_patch_for_npc_range(gUnknown_0850BE38[gUnknown_020375B4], 0, 10); + } +} + +u16 npc_paltag_by_palslot(u8 palSlot) +{ + u8 i; + + if (palSlot < 10) + { + return gUnknown_0850BE38[gUnknown_020375B4][palSlot]; + } + for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++) + { + if (gUnknown_0850BD78[i].tag == gUnknown_020375B6) + { + return gUnknown_0850BD78[i].data[gUnknown_020375B4]; + } + } + return 0x11ff; +} + +// Map Object Step Callbacks +// file boundary? + +null_object_step(NoMovement1, FALSE) + +field_object_step(GoRandomDirections, gUnknown_0850D6F4) + +bool8 sub_808F44C(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_808F460(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_808F48C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (!FieldObjectExecRegularAnim(mapObject, sprite)) + { + return FALSE; + } + SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + sprite->data[1] = 3; + return TRUE; +} + +bool8 sub_808F4C8(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_808F4E8(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[4]; + u8 chosenDirection; + + memcpy(directions, gUnknown_0850D710, sizeof directions); + chosenDirection = directions[Random() & 0x03]; + FieldObjectSetDirection(mapObject, chosenDirection); + sprite->data[1] = 5; + if (npc_block_way__next_tile(mapObject, chosenDirection)) + { + sprite->data[1] = 1; + } + return TRUE; +} + +bool8 sub_808F534(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 6; + return TRUE; +} + +bool8 sub_808F564(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 1; + } + return FALSE; +} + +bool8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) +{ + s16 playerX; + s16 playerY; + s16 objX; + s16 objY; + s16 minX; + s16 maxX; + s16 minY; + s16 maxY; + + if (!TestPlayerAvatarFlags(0x80)) + { + return FALSE; + } + if (mapObject->trainerType != 1 && mapObject->trainerType != 3) + { + return FALSE; + } + PlayerGetDestCoords(&playerX, &playerY); + objX = mapObject->coords2.x; + objY = mapObject->coords2.y; + minX = objX - mapObject->trainerRange_berryTreeId; + minY = objY - mapObject->trainerRange_berryTreeId; + maxX = objX + mapObject->trainerRange_berryTreeId; + maxY = objY + mapObject->trainerRange_berryTreeId; + if (minX > playerX || maxX < playerX || minY > playerY || maxY < playerY) + { + return FALSE; + } + return TRUE; +} + +u8 GetRegularRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + if (absdx > absdy) + { + direction = DIR_EAST; + if (dx < 0) + { + direction = DIR_WEST; + } + } + else + { + direction = DIR_SOUTH; + if (dy < 0) + { + direction = DIR_NORTH; + } + } + return direction; +} + +u8 GetNorthSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = DIR_SOUTH; + if (dy < 0) + { + direction = DIR_NORTH; + } + return direction; +} + +u8 GetEastWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = DIR_EAST; + if (dx < 0) + { + direction = DIR_WEST; + } + return direction; +} + +u8 GetNorthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_SOUTH) + { + direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_EAST) + { + direction = DIR_NORTH; + } + } + else if (direction == DIR_EAST) + { + direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_SOUTH) + { + direction = DIR_NORTH; + } + } + return direction; +} + +u8 GetNorthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_SOUTH) + { + direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_WEST) + { + direction = DIR_NORTH; + } + } + else if (direction == DIR_WEST) + { + direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_SOUTH) + { + direction = DIR_NORTH; + } + } + return direction; +} + +u8 GetSouthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_NORTH) + { + direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_EAST) + { + direction = DIR_SOUTH; + } + } + else if (direction == DIR_EAST) + { + direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_NORTH) + { + direction = DIR_SOUTH; + } + } + return direction; +} + +u8 GetSouthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_NORTH) + { + direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_WEST) + { + direction = DIR_SOUTH; + } + } + else if (direction == DIR_WEST) + { + direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_NORTH) + { + direction = DIR_SOUTH; + } + } + return direction; +} + +u8 GetNonEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_EAST) + { + direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + } + return direction; +} + +u8 GetNonWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_WEST) + { + direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + } + return direction; +} + +u8 GetNonSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_SOUTH) + { + direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + } + return direction; +} + +u8 GetNonNorthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +{ + u8 direction; + + direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + if (direction == DIR_NORTH) + { + direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + } + return direction; +} + +u8 GetRunningPastFacingDirection(struct MapObject *mapObject, u8 movementType) +{ + s16 dx; + s16 dy; + s16 absdx; + s16 absdy; + + if (!FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + return 0; + } + PlayerGetDestCoords(&dx, &dy); + dx -= mapObject->coords2.x; + dy -= mapObject->coords2.y; + absdx = dx; + absdy = dy; + if (absdx < 0) + { + absdx = -absdx; + } + if (absdy < 0) + { + absdy = -absdy; + } + return gUnknown_0850D714[movementType](dx, dy, absdx, absdy); +} + +field_object_step(LookRandomDirections, gUnknown_0850D740) + +bool8 sub_808F988(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_808F99C(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_808FA0C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_808FA3C(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[4]; + u8 direction; + + memcpy(directions, gUnknown_0850D710, sizeof directions); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); + if (direction == 0) + { + direction = directions[Random() & 0x03]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyGoNorthOrSouth, gUnknown_0850D754) + +bool8 sub_808FAC8(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_808FADC(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_808FB08(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (!FieldObjectExecRegularAnim(mapObject, sprite)) + { + return FALSE; + } + SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + sprite->data[1] = 3; + return TRUE; +} + +bool8 sub_808FB44(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_808FB64(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D770, sizeof directions); + direction = directions[Random() & 0x01]; + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 5; + if (npc_block_way__next_tile(mapObject, direction)) + { + sprite->data[1] = 1; + } + return TRUE; +} + +bool8 sub_808FBB0(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 6; + return TRUE; +} + +bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 1; + } + return FALSE; +} + +field_object_step(RandomlyGoEastOrWest, gUnknown_0850D774) + +bool8 sub_808FC4C(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_808FC60(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_808FC8C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (!FieldObjectExecRegularAnim(mapObject, sprite)) + { + return FALSE; + } + SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + sprite->data[1] = 3; + return TRUE; +} + +bool8 sub_808FCC8(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_808FCE8(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D790, sizeof directions); + direction = directions[Random() & 0x01]; + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 5; + if (npc_block_way__next_tile(mapObject, direction)) + { + sprite->data[1] = 1; + } + return TRUE; +} + +bool8 sub_808FD34(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 6; + return TRUE; +} + +bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 1; + } + return FALSE; +} + +field_object_step(FaceFixedDirection, gUnknown_0850D794) + +bool8 sub_808FDD0(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + sprite->data[1] = 2; + return TRUE; + } + return FALSE; +} + +bool8 sub_808FE1C(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_1 = FALSE; + return FALSE; +} + +static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite); +extern bool8 (*const gUnknown_0850D7A0[])(struct MapObject *mapObject, struct Sprite *sprite); +void FieldObjectCB_BerryTree(struct Sprite *sprite) +{ + struct MapObject *mapObject; + + mapObject = &gMapObjects[sprite->data[0]]; + if (!(sprite->data[7] & 0x0001)) + { + get_berry_tree_graphics(mapObject, sprite); + sprite->data[7] |= 0x0001; + } + FieldObjectStep(mapObject, sprite, FieldObjectCB2_BerryTree); +} +static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite) +{ + return gUnknown_0850D7A0[sprite->data[1]](mapObject, sprite); +} + +bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 berryStage; + + npc_reset(mapObject, sprite); + mapObject->mapobj_bit_13 = TRUE; + sprite->invisible = TRUE; + berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + if (berryStage == 0) + { + if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4) + { + gFieldEffectArguments[0] = mapObject->coords2.x; + gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); + sprite->animNum = berryStage; + } + return FALSE; + } + mapObject->mapobj_bit_13 = FALSE; + sprite->invisible = FALSE; + berryStage --; + if (sprite->animNum != berryStage) + { + sprite->data[1] = 2; + return TRUE; + } + get_berry_tree_graphics(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, 0x39); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + sprite->data[1] = 0; + return TRUE; + } + return FALSE; +} + +bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 3; + sprite->data[2] = 0; + sprite->data[7] |= 0x0002; + gFieldEffectArguments[0] = mapObject->coords2.x; + gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[2] = sprite->subpriority - 1; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); + return TRUE; +} + +bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->data[2] ++; + mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; + sprite->animPaused = TRUE; + if (sprite->data[2] > 64) + { + get_berry_tree_graphics(mapObject, sprite); + sprite->data[1] = 4; + sprite->data[2] = 0; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->data[2] ++; + mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; + sprite->animPaused = TRUE; + if (sprite->data[2] > 64) + { + sprite->data[1] = 0; + sprite->data[7] &= ~0x0002; + return TRUE; + } + return FALSE; +} + +field_object_step(RandomlyLookNorthOrSouth, gUnknown_0850D7B4) + +bool8 sub_8090094 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_80900A8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090118 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090148 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D770, sizeof gUnknown_0850D770); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH); + if (direction == 0) + { + direction = directions[Random() & 0x01]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookEastOrWest, gUnknown_0850D7C8) + +bool8 sub_80901D4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_80901E8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090258 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090288 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D790, sizeof gUnknown_0850D790); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_EAST_WEST); + if (direction == 0) + { + direction = directions[Random() & 0x01]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookNorthOrWest, gUnknown_0850D7DC) + +bool8 sub_8090314 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090328 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090398 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_80903C8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D7F0, sizeof gUnknown_0850D7F0); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_WEST); + if (direction == 0) + { + direction = directions[Random() & 0x01]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookNorthOrEast, gUnknown_0850D7F4) + +bool8 sub_8090454 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090468 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_80904D8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090508 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D808, sizeof gUnknown_0850D808); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_EAST); + if (direction == 0) + { + direction = directions[Random() & 0x01]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookSouthOrWest, gUnknown_0850D80C) + +bool8 sub_8090594 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_80905A8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090618 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090648 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D820, sizeof gUnknown_0850D820); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_WEST); + if (direction == 0) + { + direction = directions[Random() & 0x01]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookSouthOrEast, gUnknown_0850D824) + +bool8 sub_80906D4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_80906E8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090758 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090788 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[2]; + u8 direction; + + memcpy(directions, gUnknown_0850D838, sizeof gUnknown_0850D838); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_EAST); + if (direction == 0) + { + direction = directions[Random() & 0x01]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookNorthOrSouthOrWest, gUnknown_0850D83C) + +bool8 sub_8090814 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090828 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090898 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_80908C8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[4]; + u8 direction; + + memcpy(directions, gUnknown_0850D850, sizeof gUnknown_0850D850); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH_WEST); + if (direction == 0) + { + direction = directions[Random() & 0x03]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookNorthOrSouthOrEast, gUnknown_0850D854) + +bool8 sub_8090954 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090968 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_80909D8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090A08 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[4]; + u8 direction; + + memcpy(directions, gUnknown_0850D868, sizeof gUnknown_0850D868); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH_EAST); + if (direction == 0) + { + direction = directions[Random() & 0x03]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookNorthOrEastOrWest, gUnknown_0850D86C) + +bool8 sub_8090A94 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090AA8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090B18 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090B48 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[4]; + u8 direction; + + memcpy(directions, gUnknown_0850D880, sizeof gUnknown_0850D880); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_EAST_WEST); + if (direction == 0) + { + direction = directions[Random() & 0x03]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(RandomlyLookSouthOrEastOrWest, gUnknown_0850D884) + +bool8 sub_8090BD4 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090BE8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090C58 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 4; + return TRUE; + } + return FALSE; +} + +bool8 sub_8090C88 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[4]; + u8 direction; + + memcpy(directions, gUnknown_0850D898, sizeof gUnknown_0850D898); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_EAST_WEST); + if (direction == 0) + { + direction = directions[Random() & 0x03]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(LookAroundCounterclockwise, gUnknown_0850D89C) + +bool8 sub_8090D14 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090D40 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, 48); + sprite->data[1] = 2; + } + return FALSE; +} + +bool8 sub_8090D64 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090D90 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[5]; + u8 direction; + + memcpy(directions, gUnknown_0850D8AC, sizeof gUnknown_0850D8AC); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); + if (direction == 0) + { + direction = directions[mapObject->mapobj_unk_18]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 0; + return TRUE; +} + +field_object_step(LookAroundClockwise, gUnknown_0850D8B4) + +bool8 sub_8090E18 (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090E44 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + SetFieldObjectStepTimer(sprite, 48); + sprite->data[1] = 2; + } + return FALSE; +} + +bool8 sub_8090E68 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + { + sprite->data[1] = 3; + } + return FALSE; +} + +bool8 sub_8090E94 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 directions[5]; + u8 direction; + + memcpy(directions, gUnknown_0850D8C4, sizeof gUnknown_0850D8C4); + direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); + if (direction == 0) + { + direction = directions[mapObject->mapobj_unk_18]; + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 0; + return TRUE; +} + +field_object_step(AlternatelyGoInOppositeDirections, gUnknown_0850D8CC) + +bool8 sub_8090F1C (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 direction; + + direction = gUnknown_085055CD[mapObject->animPattern]; + if (mapObject->mapobj_unk_21) + { + direction = GetOppositeDirection(direction); + } + FieldObjectSetDirection(mapObject, direction); + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8090F68 (struct MapObject *mapObject, struct Sprite *sprite) +{ + bool8 blockingWay; + u8 animId; + + if (mapObject->mapobj_unk_21 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) + { + mapObject->mapobj_unk_21 = 0; + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); + } + blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + animId = GetGoSpeed0AnimId(mapObject->placeholder18); + if (blockingWay == TRUE) + { + mapObject->mapobj_unk_21 ++; + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); + animId = GetGoSpeed0AnimId(mapObject->placeholder18); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + } + if (blockingWay) + { + animId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); + } + FieldObjectSetRegularAnim(mapObject, sprite, animId); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 3; + return TRUE; +} + +bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 1; + } + return FALSE; +} + +bool8 sub_8091048(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + sprite->data[1] = 1; + return TRUE; +} + +bool8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *route) +{ + u8 blockingWay; + u8 animId; + + if (mapObject->mapobj_unk_21 == 3 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) + { + mapObject->mapobj_unk_21 = 0; + } + FieldObjectSetDirection(mapObject, route[mapObject->mapobj_unk_21]); + animId = GetGoSpeed0AnimId(mapObject->placeholder18); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + if (blockingWay == TRUE) + { + mapObject->mapobj_unk_21 ++; + FieldObjectSetDirection(mapObject, route[mapObject->mapobj_unk_21]); + animId = GetGoSpeed0AnimId(mapObject->placeholder18); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + } + if (blockingWay) + { + animId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); + } + FieldObjectSetRegularAnim(mapObject, sprite, animId); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 1; + } + return FALSE; +} + +field_object_path( 1, gUnknown_0850D8DC, sub_809117C, gUnknown_0850D8E8, 2, x) +field_object_path( 2, gUnknown_0850D8EC, sub_8091208, gUnknown_0850D8F8, 1, x) +field_object_path( 3, gUnknown_0850D8FC, sub_8091294, gUnknown_0850D908, 1, y) +field_object_path( 4, gUnknown_0850D90C, sub_8091320, gUnknown_0850D918, 2, y) +field_object_path( 5, gUnknown_0850D91C, sub_80913AC, gUnknown_0850D928, 2, x) +field_object_path( 6, gUnknown_0850D92C, sub_8091438, gUnknown_0850D938, 1, x) +field_object_path( 7, gUnknown_0850D93C, sub_80914C4, gUnknown_0850D710, 1, y) +field_object_path( 8, gUnknown_0850D948, sub_8091550, gUnknown_0850D954, 2, y) +field_object_path( 9, gUnknown_0850D958, sub_80915DC, gUnknown_0850D964, 2, y) +field_object_path(10, gUnknown_0850D968, sub_8091668, gUnknown_0850D974, 1, y) +field_object_path(11, gUnknown_0850D978, sub_80916F4, gUnknown_0850D984, 1, x) +field_object_path(12, gUnknown_0850D988, sub_8091780, gUnknown_0850D994, 2, x) +field_object_path(13, gUnknown_0850D998, sub_809180C, gUnknown_0850D9A4, 2, y) +field_object_path(14, gUnknown_0850D9A8, sub_8091898, gUnknown_0850D9B4, 1, y) +field_object_path(15, gUnknown_0850D9B8, sub_8091924, gUnknown_0850D9C4, 1, x) +field_object_path(16, gUnknown_0850D9C8, sub_80919B0, gUnknown_0850D9D4, 2, x) +field_object_path(17, gUnknown_0850D9D8, sub_8091A3C, gUnknown_0850D9E4, 2, y) +field_object_path(18, gUnknown_0850D9E8, sub_8091AC8, gUnknown_0850D9F4, 2, y) +field_object_path(19, gUnknown_0850D9F8, sub_8091B54, gUnknown_0850DA04, 2, x) +field_object_path(20, gUnknown_0850DA08, sub_8091BE0, gUnknown_0850DA14, 2, x) +field_object_path(21, gUnknown_0850DA18, sub_8091C6C, gUnknown_0850DA24, 2, y) +field_object_path(22, gUnknown_0850DA28, sub_8091CF8, gUnknown_0850DA34, 2, y) +field_object_path(23, gUnknown_0850DA38, sub_8091D84, gUnknown_0850DA44, 2, x) +field_object_path(24, gUnknown_0850DA48, sub_8091E10, gUnknown_0850DA54, 2, x) + +field_object_step(CopyPlayer1, gUnknown_0850DA58) + +bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + if (mapObject->mapobj_unk_21 == 0) + { + mapObject->mapobj_unk_21 = player_get_direction_lower_nybble(); + } + sprite->data[1] = 1; + return TRUE; +} + +bool8 sub_8091EC0(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) + { + return FALSE; + } + return gUnknown_0850DA64[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), NULL); +} + +bool8 sub_8091F20(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + mapObject->mapobj_bit_1 = FALSE; + sprite->data[1] = 1; + } + return FALSE; +} + +bool8 sub_8091F48(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + return FALSE; +} + +bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, playerDirection))); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + if (FieldObjectIsFarawayIslandMew(mapObject)) + { + direction = sub_81D427C(); + if (direction == 0) + { + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; + } + } + else + { + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + } + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed1AnimId(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed3AnimId(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, sub_8093438(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction)); + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + FieldObjectMoveDestCoords(mapObject, direction, &x, &y); + FieldObjectSetRegularAnim(mapObject, sprite, sub_8093514(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +{ + u32 direction; + s16 x; + s16 y; + + direction = playerDirection; + direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + x = mapObject->coords2.x; + y = mapObject->coords2.y; + sub_8092F88(direction, &x, &y, 2, 2); + FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); + if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + { + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + } + mapObject->mapobj_bit_1 = TRUE; + sprite->data[1] = 2; + return TRUE; +} + +field_object_step(CopyPlayer2, gUnknown_0850DA90) + +bool8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) + { + return FALSE; + } + return gUnknown_0850DA64[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass); +} + +bool8 sub_80925AC(struct MapObject *, struct Sprite *); + +void FieldObjectCB_TreeDisguise(struct Sprite *sprite) +{ + struct MapObject *mapObject; + + mapObject = &gMapObjects[sprite->data[0]]; + if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) + { + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); + mapObject->mapobj_unk_21 = 1; + sprite->data[7] ++; + } + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); +} + +bool8 sub_80925AC(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + return FALSE; +} + +void FieldObjectCB_MountainDisguise(struct Sprite *sprite) +{ + struct MapObject *mapObject; + + mapObject = &gMapObjects[sprite->data[0]]; + if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) + { + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); + mapObject->mapobj_unk_21 = 1; + sprite->data[7] ++; + } + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); +} + +extern bool8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *); +bool8 sub_809268C(struct MapObject *, struct Sprite *); + +void FieldObjectCB_Hidden1(struct Sprite *sprite) +{ + if (!sprite->data[7]) + { + gMapObjects[sprite->data[0]].mapobj_bit_26 = TRUE; + sprite->subspriteMode = 2; + sprite->oam.priority = 3; + sprite->data[7] ++; + } + FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_809268C); +} + +bool8 sub_809268C(struct MapObject *mapObject, struct Sprite *sprite) +{ + return gUnknown_0850DA9C[sprite->data[1]](mapObject, sprite); +} + +bool8 sub_80926AC (struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + return FALSE; +} +bool8 sub_80926B8 (struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + sprite->data[1] = 0; + } + return FALSE; +} + +field_object_step(WalkInPlace1, gUnknown_0850DAA0) + +bool8 sub_8092718(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(WalkInPlace4, gUnknown_0850DAA8) + +bool8 sub_8092788(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(WalkInPlace2, gUnknown_0850DAB0) + +bool8 sub_80927F8(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(WalkInPlace3, gUnknown_0850DAB8) + +bool8 sub_8092868(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); + sprite->data[1] = 1; + return TRUE; +} + +field_object_step(Hidden2, gUnknown_0850DAC0) + +bool8 sub_80928D8(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_reset(mapObject, sprite); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + mapObject->mapobj_bit_13 = TRUE; + sprite->data[1] = 1; + return TRUE; +} +bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (FieldObjectExecRegularAnim(mapObject, sprite)) + { + sprite->data[1] = 2; + return TRUE; + } + return FALSE; +} + +bool8 sub_809292C(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_1 = FALSE; + return FALSE; +} + +void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_1 = FALSE; + mapObject->mapobj_bit_6 = FALSE; + mapObject->mapobj_bit_7 = FALSE; + mapObject->mapobj_unk_1C = 0xFF; + sprite->data[1] = 0; +} + +#define dirn2anim(name, table)\ +extern const u8 table[4];\ +u8 name(u8 direction)\ +{\ + return table[direction];\ +} + +dirn2anim(FieldObjectDirectionToImageAnimId, gUnknown_0850DACC) +dirn2anim(get_go_image_anim_num, gUnknown_0850DAD5) +dirn2anim(get_go_fast_image_anim_num, gUnknown_0850DADE) +dirn2anim(get_go_faster_image_anim_num, gUnknown_0850DAE7) +dirn2anim(get_go_fastest_image_anim_num, gUnknown_0850DAF0) +dirn2anim(sub_80929AC, gUnknown_0850DAF9) +dirn2anim(sub_80929BC, gUnknown_0850DB02) +dirn2anim(sub_80929CC, gUnknown_0850DB0B) +dirn2anim(sub_80929DC, gUnknown_0850DB14) +dirn2anim(sub_80929EC, gUnknown_0850DB1D) +dirn2anim(sub_80929FC, gUnknown_0850DB26) +dirn2anim(sub_8092A0C, gUnknown_0850DB2F) +dirn2anim(sub_8092A1C, gUnknown_0850DB38) +dirn2anim(sub_8092A2C, gUnknown_0850DB41) +dirn2anim(get_run_image_anim_num, gUnknown_0850DB4A) + +// file boundary? + +struct UnkStruct_085094AC { + const union AnimCmd *const *anims; + u8 animPos[4]; +}; + +extern const struct UnkStruct_085094AC gUnknown_085094AC[]; + +static const struct UnkStruct_085094AC *sub_8092A4C(const union AnimCmd *const *anims) +{ + const struct UnkStruct_085094AC *retval; + + for (retval = gUnknown_085094AC; retval->anims != NULL; retval ++) + { + if (retval->anims == anims) + { + return retval; + } + } + return NULL; +} + +void npc_apply_anim_looping(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +{ + const struct UnkStruct_085094AC *unk85094AC; + + if (!mapObject->mapobj_bit_12) + { + sprite->animNum = animNum; + unk85094AC = sub_8092A4C(sprite->anims); + if (unk85094AC != NULL) + { + if (sprite->animCmdIndex == unk85094AC->animPos[0]) + { + sprite->animCmdIndex = unk85094AC->animPos[3]; + } + else if (sprite->animCmdIndex == unk85094AC->animPos[1]) + { + sprite->animCmdIndex = unk85094AC->animPos[2]; + } + } + SeekSpriteAnim(sprite, sprite->animCmdIndex); + } +} + +void obj_npc_animation_step(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +{ + const struct UnkStruct_085094AC *unk85094AC; + + if (!mapObject->mapobj_bit_12) + { + u8 animPos; + + sprite->animNum = animNum; + unk85094AC = sub_8092A4C(sprite->anims); + if (unk85094AC != NULL) + { + animPos = unk85094AC->animPos[1]; + if (sprite->animCmdIndex <= unk85094AC->animPos[0]) + { + animPos = unk85094AC->animPos[0]; + } + SeekSpriteAnim(sprite, animPos); + } + } +} + +// file boundary? + +u8 sub_8092AF8(s16 x1, s16 y1, s16 x2, s16 y2) +{ + if (x1 > x2) + { + return DIR_WEST; + } + if (x1 < x2) + { + return DIR_EAST; + } + if (y1 > y2) + { + return DIR_NORTH; + } + return DIR_SOUTH; +} + +void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern) +{ + mapObject->animPattern = animPattern; + mapObject->mapobj_unk_21 = 0; + mapObject->animId = 0; + gSprites[mapObject->spriteId].callback = gUnknown_08505438[animPattern]; + gSprites[mapObject->spriteId].data[1] = 0; +} + +dirn2anim(npc_running_behaviour_by_direction, gUnknown_0850DB53) + +u8 npc_block_way__next_tile(struct MapObject *mapObject, u8 direction) +{ + s16 x; + s16 y; + + x = mapObject->coords2.x; + y = mapObject->coords2.y; + MoveCoords(direction, &x, &y); + return npc_block_way(mapObject, x, y, direction); +} + +u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) +{ + u8 direction; + + direction = dirn; + if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) + { + return 1; + } + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) + { + return 2; + } + if (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction)) + { + return 2; + } + if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) + { + return 3; + } + if (CheckForCollisionBetweenFieldObjects(mapObject, x, y)) + { + return 4; + } + return 0; +} + +u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +{ + u8 retval; + + retval = 0x00; + if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) + { + retval |= 1; + } + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction))) + { + retval |= 2; + } + if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) + { + retval |= 4; + } + if (CheckForCollisionBetweenFieldObjects(mapObject, x, y)) + { + retval |= 8; + } + return retval; +} + +static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y) +{ + s16 left; + s16 right; + s16 top; + s16 bottom; + + if (mapObject->range.as_nybbles.x != 0) + { + left = mapObject->coords1.x - mapObject->range.as_nybbles.x; + right = mapObject->coords1.x + mapObject->range.as_nybbles.x; + if (left > x || right < x) + { + return TRUE; + } + } + if (mapObject->range.as_nybbles.y != 0) + { + top = mapObject->coords1.y - mapObject->range.as_nybbles.y; + bottom = mapObject->coords1.y + mapObject->range.as_nybbles.y; + if (top > y || bottom < y) + { + return TRUE; + } + } + return FALSE; +} + +static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +{ + if (gUnknown_0850DB5C[direction - 1](mapObject->mapobj_unk_1E) || gUnknown_0850DB6C[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + { + return TRUE; + } + return FALSE; +} + +static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *mapObject, s16 x, s16 y) +{ + u8 i; + struct MapObject *curObject; + + for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + { + curObject = &gMapObjects[i]; + if (curObject->active && curObject != mapObject) + { + if ((curObject->coords2.x == x && curObject->coords2.y == y) || (curObject->coords3.x == x && curObject->coords3.y == y)) + { + if (AreZCoordsCompatible(mapObject->mapobj_unk_0B_0, curObject->mapobj_unk_0B_0)) + { + return TRUE; + } + } + } + } + return FALSE; +} + +bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data[7] & 0x02) + { + return TRUE; + } + return FALSE; +} + +void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + { + gSprites[gMapObjects[mapObjectId].spriteId].data[7] |= 0x04; + } +} + +void MoveCoords(u8 direction, s16 *x, s16 *y) +{ + *x += gUnknown_0850DB7C[direction].x; + *y += gUnknown_0850DB7C[direction].y; +} + +void sub_8092F60(u8 direction, s16 *x, s16 *y) +{ + *x += gUnknown_0850DB7C[direction].x << 4; + *y += gUnknown_0850DB7C[direction].y << 4; +} + +void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy) +{ + u8 direction; + s16 dx_2; + s16 dy_2; + s16 cur_x; + s16 cur_y; + + direction = dirn; + dx_2 = dx; + dy_2 = dy; + cur_x = gUnknown_0850DB7C[direction].x; + if (cur_x > 0) + { + *x += dx_2; + } + if (cur_x < 0) + { + *x -= dx_2; + } + cur_y = gUnknown_0850DB7C[direction].y; + if (cur_y > 0) + { + *y += dy_2; + } + if (cur_y < 0) + { + *y -= dy_2; + } +} + +void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y) +{ + *dest_x = (x - gSaveBlock1Ptr->pos.x) << 4; + *dest_y = (y - gSaveBlock1Ptr->pos.y) << 4; + *dest_x -= gUnknown_03005DEC; + *dest_y -= gUnknown_03005DE8; +} + +void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y) +{ + s16 dx; + s16 dy; + + dx = -gUnknown_03005DEC - gUnknown_03005DD0.x; + dy = -gUnknown_03005DE8 - gUnknown_03005DD0.y; + if (gUnknown_03005DD0.x > 0) + { + dx += 0x10; + } + if (gUnknown_03005DD0.x < 0) + { + dx -= 0x10; + } + if (gUnknown_03005DD0.y > 0) + { + dy += 0x10; + } + if (gUnknown_03005DD0.y < 0) + { + dy -= 0x10; + } + *dest_x = ((x - gSaveBlock1Ptr->pos.x) << 4) + dx; + *dest_y = ((y - gSaveBlock1Ptr->pos.y) << 4) + dy; +} + +void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy) +{ + sub_8093038(*x, *y, x, y); + *x += dx; + *y += dy; +} + +void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) +{ + *x = 0; + *y = 0; + if (gUnknown_03005DD0.x > 0) + { + (*x) ++; + } + if (gUnknown_03005DD0.x < 0) + { + (*x) --; + } + if (gUnknown_03005DD0.y > 0) + { + (*y) ++; + } + if (gUnknown_03005DD0.y < 0) + { + (*y) --; + } +} + +void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 dirn, s16 *x, s16 *y) +{ + u8 direction; + + direction = dirn; + *x = mapObject->coords2.x; + *y = mapObject->coords2.y; + MoveCoords(direction, x, y); +} + +// file boundary? + +bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_1 || mapObject->mapobj_bit_6) + { + return TRUE; + } + return FALSE; +} + +bool8 FieldObjectIsSpecialAnimActive(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_6 && mapObject->mapobj_unk_1C != 0xFF) + { + return TRUE; + } + return FALSE; +} + +bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) +{ + if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) + { + return TRUE; + } + npc_sync_anim_pause_bits(mapObject); + mapObject->mapobj_unk_1C = specialAnimId; + mapObject->mapobj_bit_6 = TRUE; + mapObject->mapobj_bit_7 = FALSE; + gSprites[mapObject->spriteId].data[2] = 0; + return FALSE; +} + +void FieldObjectForceSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) +{ + FieldObjectClearAnimIfSpecialAnimActive(mapObject); + FieldObjectSetSpecialAnim(mapObject, specialAnimId); +} + +void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_6) + { + FieldObjectClearAnim(mapObject); + } +} + +void FieldObjectClearAnim(struct MapObject *mapObject) +{ + mapObject->mapobj_unk_1C = 0xFF; + mapObject->mapobj_bit_6 = FALSE; + mapObject->mapobj_bit_7 = FALSE; + gSprites[mapObject->spriteId].data[1] = 0; + gSprites[mapObject->spriteId].data[2] = 0; +} + +u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_6) + { + return mapObject->mapobj_bit_7; + } + return 0x10; +} + +u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *mapObject) +{ + u8 specialAnimState; + + specialAnimState = FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject); + if (specialAnimState != 0 && specialAnimState != 16) + { + FieldObjectClearAnimIfSpecialAnimActive(mapObject); + } + return specialAnimState; +} + +u8 FieldObjectGetSpecialAnim(struct MapObject *mapObject) +{ + if (mapObject->mapobj_bit_6) + { + return mapObject->mapobj_unk_1C; + } + return 0xFF; +} + +void FieldObjectStep(struct MapObject *mapObject, struct Sprite *sprite, bool8 (*callback)(struct MapObject *, struct Sprite *)) +{ + DoGroundEffects_OnSpawn(mapObject, sprite); + sub_80964E8(mapObject, sprite); + if (FieldObjectIsSpecialAnimActive(mapObject)) + { + FieldObjectExecSpecialAnim(mapObject, sprite); + } + else if (!mapObject->mapobj_bit_8) + { + while (callback(mapObject, sprite)); + } + DoGroundEffects_OnBeginStep(mapObject, sprite); + DoGroundEffects_OnFinishStep(mapObject, sprite); + npc_obj_transfer_image_anim_pause_flag(mapObject, sprite); + sub_8096518(mapObject, sprite); + FieldObjectUpdateSubpriority(mapObject, sprite); +} + +#define dirn2anim_2(name, table) \ +extern const u8 table[5]; \ +u8 name(u32 direction) \ +{ \ + u8 dirn2; \ + u8 animIds[5]; \ + dirn2 = direction; \ + memcpy(animIds, table, 5); \ + if (dirn2 > DIR_EAST) \ + { \ + dirn2 = 0; \ + } \ + return animIds[dirn2]; \ +} + +dirn2anim_2(GetFaceDirectionAnimId, gUnknown_0850DBA0); +dirn2anim_2(GetSimpleGoAnimId, gUnknown_0850DBA5); +dirn2anim_2(GetGoSpeed0AnimId, gUnknown_0850DBAA); +dirn2anim_2(GetGoSpeed1AnimId, gUnknown_0850DBAF); +dirn2anim_2(GetGoSpeed2AnimId, gUnknown_0850DBB4); +dirn2anim_2(GetGoSpeed3AnimId, gUnknown_0850DBB9); +dirn2anim_2(sub_8093438, gUnknown_0850DBBE); +dirn2anim_2(GetRunAnimId, gUnknown_0850DBC3); +dirn2anim_2(GetJumpLedgeAnimId, gUnknown_0850DBC8); +dirn2anim_2(sub_80934BC, gUnknown_0850DBCD); +dirn2anim_2(sub_80934E8, gUnknown_0850DBD2); +dirn2anim_2(sub_8093514, gUnknown_0850DBD7); +dirn2anim_2(sub_8093540, gUnknown_0850DBDC); +dirn2anim_2(GetStepInPlaceDelay32AnimId, gUnknown_0850DBE1); +dirn2anim_2(GetStepInPlaceDelay16AnimId, gUnknown_0850DBE6); +dirn2anim_2(GetStepInPlaceDelay8AnimId, gUnknown_0850DBEB); +dirn2anim_2(GetStepInPlaceDelay4AnimId, gUnknown_0850DBF0); + +bool8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) +{ + return FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); +} + +dirn2anim_2(sub_8093648, gUnknown_0850DBF5); +dirn2anim_2(sub_8093674, gUnknown_0850DBFA); +dirn2anim_2(sub_80936A0, gUnknown_0850DBFF); +dirn2anim_2(sub_80936CC, gUnknown_0850DC04); +dirn2anim_2(sub_80936F8, gUnknown_0850DC09); +dirn2anim_2(sub_8093724, gUnknown_0850DC0E); +dirn2anim_2(sub_8093750, gUnknown_0850DC13); +dirn2anim_2(sub_809377C, gUnknown_0850DC18); +dirn2anim_2(sub_80937A8, gUnknown_0850DC1D); +dirn2anim_2(d2s_08064034, gUnknown_0850DC22); + +extern const u8 gUnknown_0850DC27[8]; + +u8 GetOppositeDirection(u8 direction) +{ + u8 directions[sizeof gUnknown_0850DC27]; + + memcpy(directions, gUnknown_0850DC27, sizeof gUnknown_0850DC27); + if (direction < 1 || direction > (sizeof gUnknown_0850DC27)) + { + return direction; + } + return directions[direction - 1]; +} + +static u32 zffu_offset_calc(u8 a0, u8 a1) +{ + return gUnknown_0850DC2F[a0 - 1][a1 - 1]; +} + +static u32 state_to_direction(u8 a0, u32 a1, u32 a2) +{ + u32 zffuOffset; + u8 a1_2; + u8 a2_2; + + a1_2 = a1; + a2_2 = a2; + if (a1_2 == 0 || a2_2 == 0 || a1_2 > DIR_EAST || a2_2 > DIR_EAST) + { + return 0; + } + zffuOffset = zffu_offset_calc(a1_2, a2); + return gUnknown_0850DC3F[a0 - 1][zffuOffset - 1]; +} + +static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) + { + mapObject->mapobj_bit_7 = TRUE; + } +} + +bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) + { + mapObject->mapobj_unk_1C = 0xFF; + sprite->data[2] = 0; + return TRUE; + } + return FALSE; +} + +void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) +{ + mapObject->mapobj_unk_1C = animId; + sprite->data[2] = 0; +} + +// file boundary? + +void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +{ + FieldObjectSetDirection(mapObject, direction); + npc_coords_shift_still(mapObject); + obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + sprite->animPaused = TRUE; + sprite->data[2] = 1; +} + +bool8 sub_8093950(struct MapObject *mapObject, struct Sprite *sprite) +{ + an_look_any(mapObject, sprite, DIR_SOUTH); + return TRUE; +} + +bool8 sub_8093960(struct MapObject *mapObject, struct Sprite *sprite) +{ + an_look_any(mapObject, sprite, DIR_NORTH); + return TRUE; +} + +bool8 sub_8093970(struct MapObject *mapObject, struct Sprite *sprite) +{ + an_look_any(mapObject, sprite, DIR_WEST); + return TRUE; +} + +bool8 sub_8093980(struct MapObject *mapObject, struct Sprite *sprite) +{ + an_look_any(mapObject, sprite, DIR_EAST); + return TRUE; +} + +void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +{ + s16 x; + s16 y; + + x = mapObject->coords2.x; + y = mapObject->coords2.y; + FieldObjectSetDirection(mapObject, direction); + MoveCoords(direction, &x, &y); + npc_coords_shift(mapObject, x, y); + oamt_npc_ministep_reset(sprite, direction, speed); + sprite->animPaused = FALSE; + if (gUnknown_020375B8 != NULL && sub_8097F78(mapObject) != 0x10) + { + sprite->animPaused = TRUE; + } + mapObject->mapobj_bit_2 = TRUE; + sprite->data[2] = 1; +} + +void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +{ + u8 (*functions[ARRAY_COUNT(gUnknown_0850DEE8)])(u8); + + memcpy(functions, gUnknown_0850DEE8, sizeof gUnknown_0850DEE8); + npc_apply_direction(mapObject, sprite, direction, speed); + npc_apply_anim_looping(mapObject, sprite, functions[speed](mapObject->mapobj_unk_18)); +} + +void do_run_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +{ + npc_apply_direction(mapObject, sprite, direction, 1); + npc_apply_anim_looping(mapObject, sprite, get_run_image_anim_num(mapObject->mapobj_unk_18)); +} + +bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (obj_npc_ministep(sprite)) + { + npc_coords_shift_still(mapObject); + mapObject->mapobj_bit_3 = TRUE; + sprite->animPaused = TRUE; + return TRUE; + } + return FALSE; +} + +void sub_8093AF0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +{ + s16 x; + s16 y; + + x = mapObject->coords2.x; + y = mapObject->coords2.y; + FieldObjectSetDirection(mapObject, direction); + MoveCoords(direction, &x, &y); + npc_coords_shift(mapObject, x, y); + sub_80976DC(sprite, direction); + sprite->animPaused = FALSE; + mapObject->mapobj_bit_2 = TRUE; + sprite->data[2] = 1; +} + +void sub_8093B60(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +{ + sub_8093AF0(mapObject, sprite, direction); + npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); +} + +bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_80976EC(sprite)) + { + npc_coords_shift_still(mapObject); + mapObject->mapobj_bit_3 = TRUE; + sprite->animPaused = TRUE; + return TRUE; + } + return FALSE; +} + +#define an_walk_any_2_macro(name, fn1, fn2, ...) \ +bool8 name##_2(struct MapObject *, struct Sprite *);\ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + fn1(mapObject, sprite, __VA_ARGS__);\ + return name##_2(mapObject, sprite);\ +}\ +bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + if (fn2(mapObject, sprite))\ + {\ + sprite->data[2] = 2;\ + return TRUE;\ + }\ + return FALSE;\ +} + +an_walk_any_2_macro(sub_8093BC4, sub_8093B60, an_walk_any_2, 7) +an_walk_any_2_macro(sub_8093C04, sub_8093B60, an_walk_any_2, 8) +an_walk_any_2_macro(sub_8093C44, sub_8093B60, an_walk_any_2, 5) +an_walk_any_2_macro(sub_8093C84, sub_8093B60, an_walk_any_2, 6) +an_walk_any_2_macro(sub_8093CC4, sub_8093B60, an_walk_any_2, 1) +an_walk_any_2_macro(sub_8093D04, sub_8093B60, an_walk_any_2, 2) +an_walk_any_2_macro(sub_8093D44, sub_8093B60, an_walk_any_2, 3) +an_walk_any_2_macro(sub_8093D84, sub_8093B60, an_walk_any_2, 4) +an_walk_any_2_macro(sub_8093DC4, do_go_anim, npc_obj_ministep_stop_on_arrival, 7, 0) +an_walk_any_2_macro(sub_8093E04, do_go_anim, npc_obj_ministep_stop_on_arrival, 8, 0) +an_walk_any_2_macro(sub_8093E44, do_go_anim, npc_obj_ministep_stop_on_arrival, 5, 0) +an_walk_any_2_macro(sub_8093E84, do_go_anim, npc_obj_ministep_stop_on_arrival, 6, 0) +an_walk_any_2_macro(sub_8093EC4, do_go_anim, npc_obj_ministep_stop_on_arrival, 1, 0) +an_walk_any_2_macro(sub_8093F04, do_go_anim, npc_obj_ministep_stop_on_arrival, 2, 0) +an_walk_any_2_macro(sub_8093F44, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 0) +an_walk_any_2_macro(sub_8093F84, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 0) + +void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) +{ + s16 displacements[ARRAY_COUNT(gUnknown_0850DFBC)]; + s16 x; + s16 y; + + memcpy(displacements, gUnknown_0850DFBC, sizeof gUnknown_0850DFBC); + x = 0; + y = 0; + FieldObjectSetDirection(mapObject, direction); + sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]); + npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); + sub_809783C(sprite, direction, speed, a5); + sprite->data[2] = 1; + sprite->animPaused = 0; + mapObject->mapobj_bit_2 = 1; + mapObject->mapobj_bit_4 = 1; +} + +void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +{ + sub_8093FC4(mapObject, sprite, direction, speed, a4); + npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + DoShadowFieldEffect(mapObject); +} + +u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(struct Sprite *)) +{ + s16 displacements[ARRAY_COUNT(gUnknown_0850DFC2)]; + s16 x; + s16 y; + u8 result; + + memcpy(displacements, gUnknown_0850DFC2, sizeof gUnknown_0850DFC2); + result = callback(sprite); + if (result == 1 && displacements[sprite->data[4]] != 0) + { + x = 0; + y = 0; + sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); + npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); + mapObject->mapobj_bit_2 = TRUE; + mapObject->mapobj_bit_4 = TRUE; + } + else if (result == 0xFF) + { + npc_coords_shift_still(mapObject); + mapObject->mapobj_bit_3 = TRUE; + mapObject->mapobj_bit_5 = TRUE; + sprite->animPaused = TRUE; + } + return result; +} + +u8 sub_8094188(struct MapObject *mapObject, struct Sprite *sprite) +{ + return sub_80940C4(mapObject, sprite, sub_809785C); +} + +u8 sub_809419C(struct MapObject *mapObject, struct Sprite *sprite) +{ + return sub_80940C4(mapObject, sprite, sub_80978E4); +} + +bool8 sub_80941B0(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_8094188(mapObject, sprite) == 0xFF) + { + return TRUE; + } + return FALSE; +} + +bool8 sub_80941C8(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_809419C(mapObject, sprite) == 0xFF) + { + return TRUE; + } + return FALSE; +} + +bool8 sub_80941E0(struct MapObject *mapObject, struct Sprite *sprite) +{ + switch (sub_8094188(mapObject, sprite)) + { + case 255: + return TRUE; + case 1: + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); + obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + default: + return FALSE; + } +} + +#define maybe_shadow_1_macro(name, fn1, fn2, ...) \ +bool8 name##_2(struct MapObject *, struct Sprite *);\ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + fn1(mapObject, sprite, __VA_ARGS__);\ + return name##_2(mapObject, sprite);\ +}\ +bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + if (fn2(mapObject, sprite))\ + {\ + mapObject->mapobj_bit_22 = FALSE;\ + sprite->data[2] = 2;\ + return TRUE;\ + }\ + return FALSE;\ +} + +maybe_shadow_1_macro(sub_8094230, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 2, 0) +maybe_shadow_1_macro(sub_8094288, maybe_shadow_1, sub_80941B0, DIR_NORTH, 2, 0) +maybe_shadow_1_macro(sub_80942E0, maybe_shadow_1, sub_80941B0, DIR_WEST, 2, 0) +maybe_shadow_1_macro(sub_8094338, maybe_shadow_1, sub_80941B0, DIR_EAST, 2, 0) + +void sub_8094390(struct Sprite *sprite, u16 duration) +{ + sprite->data[2] = 1; + sprite->data[3] = duration; +} + +bool8 sub_8094398(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (-- sprite->data[3] == 0) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +#define special_anim_with_timer(name, duration)\ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + sub_8094390(sprite, duration);\ + return sub_8094398(mapObject, sprite);\ +} + +special_anim_with_timer(sub_80943B4, 1) +special_anim_with_timer(sub_80943D4, 2) +special_anim_with_timer(sub_80943F4, 4) +special_anim_with_timer(sub_8094414, 8) +special_anim_with_timer(sub_8094434, 16) + +an_walk_any_2_macro(sub_8094454, do_go_anim, npc_obj_ministep_stop_on_arrival, 1, 1) +an_walk_any_2_macro(sub_8094494, do_go_anim, npc_obj_ministep_stop_on_arrival, 2, 1) +an_walk_any_2_macro(sub_80944D4, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 1) +an_walk_any_2_macro(sub_8094514, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 1) + +void sub_8094554(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +{ + FieldObjectSetDirection(mapObject, direction); + npc_apply_anim_looping(mapObject, sprite, animNum); + sprite->animPaused = FALSE; + sprite->data[2] = 1; + sprite->data[3] = duration; +} + +bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (-- sprite->data[3] == 0) + { + sprite->data[2] = 2; + sprite->animPaused = TRUE; + return TRUE; + } + return FALSE; +} + +bool8 sub_80945C4(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sprite->data[3] & 1) + { + sprite->animDelayCounter ++; + } + return sub_809459C(mapObject, sprite); +} + +#define special_anim_with_timer_2(name, direction, images, duration, timer) \ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + u8 animId;\ + animId = images(DIR_##direction);\ + sub_8094554(mapObject, sprite, DIR_##direction, animId, duration);\ + return timer(mapObject, sprite);\ +} + +special_anim_with_timer_2(sub_8094600, SOUTH, get_go_image_anim_num, 32, sub_80945C4) +special_anim_with_timer_2(sub_8094638, NORTH, get_go_image_anim_num, 32, sub_80945C4) +special_anim_with_timer_2(sub_8094670, WEST, get_go_image_anim_num, 32, sub_80945C4) +special_anim_with_timer_2(sub_80946A8, EAST, get_go_image_anim_num, 32, sub_80945C4) +special_anim_with_timer_2(sub_80946E0, SOUTH, get_go_image_anim_num, 16, sub_809459C) +special_anim_with_timer_2(sub_8094718, NORTH, get_go_image_anim_num, 16, sub_809459C) +special_anim_with_timer_2(sub_8094750, WEST, get_go_image_anim_num, 16, sub_809459C) +special_anim_with_timer_2(sub_8094788, EAST, get_go_image_anim_num, 16, sub_809459C) +special_anim_with_timer_2(sub_80947C0, SOUTH, get_go_fast_image_anim_num, 8, sub_809459C) +special_anim_with_timer_2(sub_80947F8, NORTH, get_go_fast_image_anim_num, 8, sub_809459C) +special_anim_with_timer_2(sub_8094830, WEST, get_go_fast_image_anim_num, 8, sub_809459C) +special_anim_with_timer_2(sub_8094868, EAST, get_go_fast_image_anim_num, 8, sub_809459C) +special_anim_with_timer_2(sub_80948A0, SOUTH, get_go_faster_image_anim_num, 4, sub_809459C) +special_anim_with_timer_2(sub_80948D8, NORTH, get_go_faster_image_anim_num, 4, sub_809459C) +special_anim_with_timer_2(sub_8094910, WEST, get_go_faster_image_anim_num, 4, sub_809459C) +special_anim_with_timer_2(sub_8094948, EAST, get_go_faster_image_anim_num, 4, sub_809459C) + +an_walk_any_2_macro(sub_8094980, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 2) +an_walk_any_2_macro(sub_80949C0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 2) +an_walk_any_2_macro(sub_8094A00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 2) +an_walk_any_2_macro(sub_8094A40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 2) +an_walk_any_2_macro(sub_8094A80, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 3) +an_walk_any_2_macro(sub_8094AC0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 3) +an_walk_any_2_macro(sub_8094B00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 3) +an_walk_any_2_macro(sub_8094B40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 3) +an_walk_any_2_macro(sub_8094B80, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 4) +an_walk_any_2_macro(sub_8094BC0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 4) +an_walk_any_2_macro(sub_8094C00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 4) +an_walk_any_2_macro(sub_8094C40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 4) +an_walk_any_2_macro(sub_8094C80, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH) +an_walk_any_2_macro(sub_8094CC0, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH) +an_walk_any_2_macro(sub_8094D00, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST) +an_walk_any_2_macro(sub_8094D40, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST) + +void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) +{ + obj_anim_image_set_and_seek(sprite, animNum, 0); + FieldObjectSetDirection(mapObject, direction); + sprite->data[2] = 1; +} + +bool8 sub_8094DAC(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->placeholder18, sprite->animNum); + return FALSE; +} + +bool8 sub_8094DC4(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_80979BC(sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +void sub_8094DE4(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +{ + sub_8093FC4(mapObject, sprite, direction, 1, 0); + StartSpriteAnim(sprite, sub_80929AC(direction)); +} + +#define unk_macro_8094E18(name, direction)\ +bool8 name##_2(struct MapObject *, struct Sprite *);\ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + sub_8094DE4(mapObject, sprite, direction);\ + return name##_2(mapObject, sprite);\ +}\ +bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + if (sub_80941C8(mapObject, sprite))\ + {\ + sprite->data[2] = 2;\ + mapObject->mapobj_bit_5 = FALSE;\ + return TRUE;\ + }\ + return FALSE;\ +} + +unk_macro_8094E18(sub_8094E18, DIR_SOUTH) +unk_macro_8094E18(sub_8094E60, DIR_NORTH) +unk_macro_8094E18(sub_8094EB8, DIR_WEST) +unk_macro_8094E18(sub_8094710, DIR_EAST) + +bool8 sub_8094F38(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) + { + an_look_any(mapObject, sprite, sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y)); + } + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite) +{ + u8 mapObjectId; + + if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) + { + an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y))); + } + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8094FF8(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_9 = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8095008(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_9 = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +maybe_shadow_1_macro(sub_8095018, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 1, 2) +maybe_shadow_1_macro(sub_8095070, maybe_shadow_1, sub_80941B0, DIR_NORTH, 1, 2) +maybe_shadow_1_macro(sub_80950C8, maybe_shadow_1, sub_80941B0, DIR_WEST, 1, 2) +maybe_shadow_1_macro(sub_8095120, maybe_shadow_1, sub_80941B0, DIR_EAST, 1, 2) +maybe_shadow_1_macro(sub_8095178, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 0, 0) +maybe_shadow_1_macro(sub_80951D0, maybe_shadow_1, sub_80941B0, DIR_NORTH, 0, 0) +maybe_shadow_1_macro(sub_8095228, maybe_shadow_1, sub_80941B0, DIR_WEST, 0, 0) +maybe_shadow_1_macro(sub_8095280, maybe_shadow_1, sub_80941B0, DIR_EAST, 0, 0) +maybe_shadow_1_macro(sub_80952D8, maybe_shadow_1, sub_80941E0, DIR_SOUTH, 0, 2) +maybe_shadow_1_macro(sub_8095330, maybe_shadow_1, sub_80941E0, DIR_NORTH, 0, 2) +maybe_shadow_1_macro(sub_8095388, maybe_shadow_1, sub_80941E0, DIR_WEST, 0, 2) +maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2) + +bool8 sub_8095438(struct MapObject *mapObject, struct Sprite *sprite) +{ + an_look_any(mapObject, sprite, gUnknown_085055CD[mapObject->animPattern]); + return TRUE; +} + +bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite) +{ + npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, 0x14); + return FALSE; +} + +bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_25 = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_25 = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_12 = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_13 = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_13 = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); + sprite->data[2] = 1; + return TRUE; +} + +bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); + sprite->data[2] = 1; + return TRUE; +} + +bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) +{ + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_HEART_ICON); + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8095548(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (mapObject->animPattern == 0x3F) + { + sub_80B4578(mapObject); + return FALSE; + } + if (mapObject->animPattern != 0x39 && mapObject->animPattern != 0x3A) + { + sprite->data[2] = 2; + return TRUE; + } + sub_8155D78(mapObject); + sprite->data[2] = 1; + return sub_809558C(mapObject, sprite); +} + +bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_8155DA0(mapObject)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 sub_80955AC(struct MapObject *mapObject, struct Sprite *sprite) +{ + obj_anim_image_set_and_seek(sprite, 1, 0); + sprite->data[2] = 1; + return FALSE; +} + +bool8 sub_80955C8(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_80979BC(sprite)) + { + SetFieldObjectStepTimer(sprite, 32); + sprite->data[2] = 2; + } + return FALSE; +} + +bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_13 ^= TRUE; + if (RunFieldObjectStepTimer(sprite)) + { + mapObject->mapobj_bit_13 = TRUE; + sprite->data[2] = 3; + } + return FALSE; +} + +bool8 sub_8095628(struct MapObject *mapObject, struct Sprite *sprite) +{ + obj_anim_image_set_and_seek(sprite, 1, 0); + sprite->data[2] = 1; + return FALSE; +} + +bool8 sub_8095644(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_80979BC(sprite)) + { + SetFieldObjectStepTimer(sprite, 32); + sprite->data[2] = 2; + } + return FALSE; +} + +bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_13 ^= TRUE; + if (RunFieldObjectStepTimer(sprite)) + { + mapObject->mapobj_bit_13 = TRUE; + sprite->data[2] = 3; + } + return FALSE; +} + +bool8 sub_80956A4(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_26 = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_80956B4(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_26 = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_80956C4(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->oam.affineMode = 3; + InitSpriteAffineAnim(sprite); + sprite->affineAnimPaused = TRUE; + sprite->subspriteMode = 0; + return TRUE; +} + +bool8 sub_80956F4(struct MapObject *mapObject, struct Sprite *sprite) +{ + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = 0; + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); + return TRUE; +} + +bool8 sub_8095724(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_27 = TRUE; + return TRUE; +} + +bool8 sub_8095730(struct MapObject *mapObject, struct Sprite *sprite) +{ + mapObject->mapobj_bit_27 = FALSE; + return TRUE; +} + +#define affine_an_walk_any_2_macro(name, fn, fn2, action, anim, ...)\ +bool8 name##_2(struct MapObject *, struct Sprite *);\ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + fn(mapObject, sprite, __VA_ARGS__);\ + sprite->affineAnimPaused = FALSE;\ + action(sprite, anim);\ + return name##_2(mapObject, sprite);\ +}\ +bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + if (fn2(mapObject, sprite))\ + {\ + sprite->affineAnimPaused = TRUE;\ + sprite->data[2] = 2;\ + return TRUE;\ + }\ + return FALSE;\ +}\ + +affine_an_walk_any_2_macro(sub_8095740, sub_8093B60, an_walk_any_2, StartSpriteAffineAnimIfDifferent, 0, DIR_SOUTH) +affine_an_walk_any_2_macro(sub_80957A0, sub_8093B60, an_walk_any_2, ChangeSpriteAffineAnimIfDifferent, 1, DIR_SOUTH) +affine_an_walk_any_2_macro(sub_8095800, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 2, DIR_WEST, 1) +affine_an_walk_any_2_macro(sub_8095860, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 3, DIR_EAST, 1) + +static void sub_80958C0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +{ + FieldObjectSetDirection(mapObject, direction); + npc_coords_shift_still(mapObject); + obj_npc_animation_step(mapObject, sprite, sub_80929FC(direction)); + sprite->animPaused = TRUE; + sprite->data[2] = 1; +} + +bool8 sub_8095900(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_80958C0(mapObject, sprite, DIR_SOUTH); + return TRUE; +} + +bool8 sub_8095910(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_80958C0(mapObject, sprite, DIR_NORTH); + return TRUE; +} + +bool8 sub_8095920(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_80958C0(mapObject, sprite, DIR_WEST); + return TRUE; +} + +bool8 sub_8095930(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_80958C0(mapObject, sprite, DIR_EAST); + return TRUE; +} + +#define set_dirn_and_anim__an_proceed(name, direction, anims)\ +bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +{\ + npc_set_direction_and_anim__an_proceed(mapObject, sprite, direction, anims(direction));\ + return FALSE;\ +} + +set_dirn_and_anim__an_proceed(sub_8095940, DIR_SOUTH, sub_80929BC) +set_dirn_and_anim__an_proceed(sub_8095964, DIR_NORTH, sub_80929BC) +set_dirn_and_anim__an_proceed(sub_8095988, DIR_WEST, sub_80929BC) +set_dirn_and_anim__an_proceed(sub_80959AC, DIR_EAST, sub_80929BC) +set_dirn_and_anim__an_proceed(sub_80959D0, DIR_SOUTH, sub_80929DC) +set_dirn_and_anim__an_proceed(sub_80959F4, DIR_NORTH, sub_80929DC) +set_dirn_and_anim__an_proceed(sub_8095A18, DIR_WEST, sub_80929DC) +set_dirn_and_anim__an_proceed(sub_8095A3C, DIR_EAST, sub_80929DC) +set_dirn_and_anim__an_proceed(sub_8095A60, DIR_SOUTH, sub_80929EC) +set_dirn_and_anim__an_proceed(sub_8095A84, DIR_NORTH, sub_80929EC) +set_dirn_and_anim__an_proceed(sub_8095AA8, DIR_WEST, sub_80929EC) +set_dirn_and_anim__an_proceed(sub_8095ACC, DIR_EAST, sub_80929EC) + +void sub_8095AF0(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_8097750(sprite); + sprite->animPaused = FALSE; +} + +bool8 sub_8095B0C(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_8097758(sprite)) + { + npc_coords_shift_still(mapObject); + mapObject->mapobj_bit_3 = TRUE; + sprite->animPaused = TRUE; + return TRUE; + } + return FALSE; +} + +bool8 sub_8095B44(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_8095AF0(mapObject, sprite); + sprite->data[2] = 1; + return sub_8095B64(mapObject, sprite); +} + +bool8 sub_8095B64(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sub_8095B0C(mapObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +void sub_8095B84(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +{ + sub_8093FC4(mapObject, sprite, direction, speed, a4); + StartSpriteAnimIfDifferent(sprite, sub_80929BC(direction)); + DoShadowFieldEffect(mapObject); +} + +maybe_shadow_1_macro(sub_8095BC8, sub_8095B84, sub_80941B0, DIR_SOUTH, 0, 1) +maybe_shadow_1_macro(sub_8095C20, sub_8095B84, sub_80941B0, DIR_NORTH, 0, 1) +maybe_shadow_1_macro(sub_8095C78, sub_8095B84, sub_80941B0, DIR_WEST, 0, 1) +maybe_shadow_1_macro(sub_8095CD0, sub_8095B84, sub_80941B0, DIR_EAST, 0, 1) +maybe_shadow_1_macro(sub_8095D28, sub_8095B84, sub_80941B0, DIR_SOUTH, 1, 1) +maybe_shadow_1_macro(sub_8095D80, sub_8095B84, sub_80941B0, DIR_NORTH, 1, 1) +maybe_shadow_1_macro(sub_8095DD8, sub_8095B84, sub_80941B0, DIR_WEST, 1, 1) +maybe_shadow_1_macro(sub_8095E30, sub_8095B84, sub_80941B0, DIR_EAST, 1, 1) +maybe_shadow_1_macro(sub_8095E88, sub_8095B84, sub_80941B0, DIR_SOUTH, 2, 0) +maybe_shadow_1_macro(sub_8095EE0, sub_8095B84, sub_80941B0, DIR_NORTH, 2, 0) +maybe_shadow_1_macro(sub_8095F38, sub_8095B84, sub_80941B0, DIR_WEST, 2, 0) +maybe_shadow_1_macro(sub_8095F90, sub_8095B84, sub_80941B0, DIR_EAST, 2, 0) + +special_anim_with_timer_2(sub_8095FE8, SOUTH, sub_80929FC, 8, sub_809459C) +special_anim_with_timer_2(sub_8096020, NORTH, sub_80929FC, 8, sub_809459C) +special_anim_with_timer_2(sub_8096058, WEST, sub_80929FC, 8, sub_809459C) +special_anim_with_timer_2(sub_8096090, EAST, sub_80929FC, 8, sub_809459C) + +void sub_80960C8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +{ + npc_apply_direction(mapObject, sprite, direction, speed); + StartSpriteAnim(sprite, sub_80929BC(mapObject->mapobj_unk_18)); + SeekSpriteAnim(sprite, 0); +} + +an_walk_any_2_macro(sub_8096100, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) +an_walk_any_2_macro(sub_8096140, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) +an_walk_any_2_macro(sub_8096180, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) +an_walk_any_2_macro(sub_80961C0, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) + +void sub_8096200(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +{ + npc_apply_direction(mapObject, sprite, direction, speed); + npc_apply_anim_looping(mapObject, sprite, sub_80929FC(mapObject->mapobj_unk_18)); +} + +an_walk_any_2_macro(sub_8096230, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) +an_walk_any_2_macro(sub_8096270, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) +an_walk_any_2_macro(sub_80962B0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) +an_walk_any_2_macro(sub_80962F0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) + +void sub_8096330(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +{ + npc_apply_direction(mapObject, sprite, direction, speed); + StartSpriteAnim(sprite, sub_80929DC(mapObject->mapobj_unk_18)); + SeekSpriteAnim(sprite, 0); +} +an_walk_any_2_macro(sub_8096368, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) +an_walk_any_2_macro(sub_80963A8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) +an_walk_any_2_macro(sub_80963E8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) +an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) + +bool8 sub_8096468(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_8097FA4(mapObject); + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_809647C(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_8098044(mapObject->mapobj_unk_1B); + sprite->pos2.y = 0; + sprite->data[2] = 1; + return TRUE; +} + +bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (sprite->pos2.y == 0) + { + sub_8098044(mapObject->mapobj_unk_1B); + sprite->data[2] = 1; + return TRUE; + } + return FALSE; +} + +bool8 sub_80964B8(struct MapObject *mapObject, struct Sprite *sprite) +{ + return TRUE; +} + +bool8 sub_80964BC(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->animPaused = TRUE; + return TRUE; +} + +void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (mapObject->mapobj_bit_10) + { + sprite->animPaused = TRUE; + } +} + +void sub_80964E8(struct MapObject *mapObject, struct Sprite *sprite) +{ + if (mapObject->mapobj_bit_11) + { + sprite->animPaused = FALSE; + mapObject->mapobj_bit_10 = FALSE; + mapObject->mapobj_bit_11 = FALSE; + } +} + +void sub_8096518(struct MapObject *mapObject, struct Sprite *sprite) +{ + sub_8096530(mapObject, sprite); + npc_update_obj_anim_flag(mapObject, sprite); +} + +static void sub_8096530(struct MapObject *mapObject, struct Sprite *sprite) +{ + u16 x; + u16 y; + u16 x2; + u16 y2; + const struct MapObjectGraphicsInfo *graphicsInfo; + + mapObject->mapobj_bit_14 = FALSE; + graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + 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 = graphicsInfo->width; + x2 += x; + y2 = y; + y2 += graphicsInfo->height; + if ((s16)x >= 0x100 || (s16)x2 < -0x10) + { + mapObject->mapobj_bit_14 = TRUE; + } + if ((s16)y >= 0xB0 || (s16)y2 < -0x10) + { + mapObject->mapobj_bit_14 = TRUE; + } +} + +static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite *sprite) +{ + sprite->invisible = FALSE; + if (mapObject->mapobj_bit_13 || mapObject->mapobj_bit_14) + { + sprite->invisible = TRUE; + } +} + +/*static*/ void GetAllGroundEffectFlags_OnSpawn(struct MapObject *eventObj, u32 *flags) +{ + FieldObjectUpdateMetatileBehaviors(eventObj); + GetGroundEffectFlags_Reflection(eventObj, flags); + GetGroundEffectFlags_TallGrassOnSpawn(eventObj, flags); + GetGroundEffectFlags_LongGrassOnSpawn(eventObj, flags); + GetGroundEffectFlags_SandHeap(eventObj, flags); + GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); + GetGroundEffectFlags_ShortGrass(eventObj, flags); + GetGroundEffectFlags_HotSprings(eventObj, flags); +} + +/*static*/ void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *eventObj, u32 *flags) +{ + FieldObjectUpdateMetatileBehaviors(eventObj); + GetGroundEffectFlags_Reflection(eventObj, flags); + GetGroundEffectFlags_TallGrassOnBeginStep(eventObj, flags); + GetGroundEffectFlags_LongGrassOnBeginStep(eventObj, flags); + GetGroundEffectFlags_Tracks(eventObj, flags); + GetGroundEffectFlags_SandHeap(eventObj, flags); + GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); + GetGroundEffectFlags_Puddle(eventObj, flags); + GetGroundEffectFlags_ShortGrass(eventObj, flags); + GetGroundEffectFlags_HotSprings(eventObj, flags); +} + +/*static*/ void GetAllGroundEffectFlags_OnFinishStep(struct MapObject *eventObj, u32 *flags) +{ + FieldObjectUpdateMetatileBehaviors(eventObj); + GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); + GetGroundEffectFlags_SandHeap(eventObj, flags); + GetGroundEffectFlags_Puddle(eventObj, flags); + GetGroundEffectFlags_Ripple(eventObj, flags); + GetGroundEffectFlags_ShortGrass(eventObj, flags); + GetGroundEffectFlags_HotSprings(eventObj, flags); + GetGroundEffectFlags_Seaweed(eventObj, flags); + GetGroundEffectFlags_JumpLanding(eventObj, flags); +} diff --git a/src/event_object_movement_helpers.c b/src/event_object_movement_helpers.c new file mode 100755 index 000000000..48f3b9052 --- /dev/null +++ b/src/event_object_movement_helpers.c @@ -0,0 +1,705 @@ +#include "global.h" +#include "field_ground_effect.h" +#include "event_object_movement.h" +#include "field_effect.h" +#include "event_object_movement_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; +} diff --git a/src/field_camera.c b/src/field_camera.c index 95167ee10..b937f704b 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -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" diff --git a/src/field_effect.c b/src/field_effect.c index 692090779..79753f027 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -6,8 +6,8 @@ #include "decompress.h" #include "field_camera.h" #include "field_effect_helpers.h" -#include "field_map_obj.h" -#include "field_map_obj_helpers.h" +#include "event_object_movement.h" +#include "event_object_movement_helpers.h" #include "field_player_avatar.h" #include "field_screen.h" #include "field_weather.h" diff --git a/src/field_map_obj.c b/src/field_map_obj.c deleted file mode 100644 index af018eb16..000000000 --- a/src/field_map_obj.c +++ /dev/null @@ -1,5119 +0,0 @@ -// Includes - -#include "global.h" -#include "malloc.h" -#include "sprite.h" -#include "overworld.h" -#include "random.h" -#include "event_scripts.h" -#include "berry.h" -#include "palette.h" -#include "field_player_avatar.h" -#include "fieldmap.h" -#include "event_data.h" -#include "rom_818CFC8.h" -#include "rom_81BE66C.h" -#include "field_ground_effect.h" -#include "field_map_obj_helpers.h" -#include "mauville_old_man.h" -#include "metatile_behavior.h" -#include "field_effect.h" -#include "field_effect_helpers.h" -#include "field_camera.h" -#include "trainer_see.h" -#include "decoration.h" -#include "field_map_obj.h" - -#define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 - -#define null_object_step(name, retval) \ -bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ -void FieldObjectCB_##name(struct Sprite *sprite)\ -{\ - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ -}\ -bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - return (retval);\ -} - -#define field_object_step(name, table) \ -extern bool8 (*const (table)[])(struct MapObject *, struct Sprite *);\ -bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ -void FieldObjectCB_##name(struct Sprite *sprite)\ -{\ - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ -}\ -bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - return (table)[sprite->data[1]](mapObject, sprite);\ -} - -#define field_object_path(idx, table, sub, path, catch, coord)\ -field_object_step(GoInDirectionSequence##idx, table)\ -extern const u8 path[4];\ -bool8 sub(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - u8 route[sizeof(path)];\ - memcpy(route, path, sizeof(path));\ - if (mapObject->mapobj_unk_21 == (catch) && mapObject->coords1.coord == mapObject->coords2.coord)\ - {\ - mapObject->mapobj_unk_21 = (catch) + 1;\ - }\ - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, route);\ -}\ - -// Static struct declarations - -// Static RAM declarations - -extern u8 gUnknown_020375B4; -extern u16 gUnknown_020375B6; - -// Static ROM declarations - -static void sub_808D450(void); -static u8 GetFieldObjectIdByLocalId(u8); -static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8); -static bool8 GetAvailableFieldObjectSlot(u16, u8, u8, u8 *); -static void FieldObjectHandleDynamicGraphicsId(struct MapObject *); -static void RemoveFieldObjectInternal (struct MapObject *); -/*static*/ u16 GetFieldObjectFlagIdByFieldObjectId(u8); -void sub_8096518(struct MapObject *, struct Sprite *); -static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); -/*static*/ void GetFieldObjectMovingCameraOffset(s16 *, s16 *); -/*static*/ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8); -static void sub_808E894(u16); -static void RemoveFieldObjectIfOutsideView(struct MapObject *); -static void sub_808E1B8(u8, s16, s16); -static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); -/*static*/ void sub_808E38C(struct MapObject *); -static u8 sub_808E8F4(const struct SpritePalette *); -static u8 FindFieldObjectPaletteIndexByTag(u16); -static void sub_808EAB0(u16, u8); -static bool8 FieldObjectDoesZCoordMatch(struct MapObject *, u8); -//static void CameraObject_0(struct Sprite *); -/*static*/ void CameraObject_1(struct Sprite *); -//static void CameraObject_2(struct Sprite *); -/*static*/ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); -void npc_reset(struct MapObject *, struct Sprite *); -void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); - -u8 GetFaceDirectionAnimId(u32); -u8 GetGoSpeed0AnimId(u32); -u8 GetGoSpeed1AnimId(u32); -u8 GetGoSpeed3AnimId(u32); -u8 sub_8093438(u32); -u8 sub_80934BC(u32); -u8 sub_8093514(u32); -u8 GetJumpLedgeAnimId(u32); -void sub_8092F88(u32, s16 *, s16 *, s16, s16); - -bool8 FieldObjectExecRegularAnim(struct MapObject *, struct Sprite *); -void SetFieldObjectStepTimer(struct Sprite *, s16); -bool8 RunFieldObjectStepTimer(struct Sprite *); -bool8 npc_block_way__next_tile(struct MapObject *, u8); -static u32 state_to_direction(u8, u32, u32); -/*static*/ void sub_80964E8(struct MapObject *, struct Sprite *); -static void FieldObjectExecSpecialAnim(struct MapObject *, struct Sprite *); -/*static*/ void npc_obj_transfer_image_anim_pause_flag(struct MapObject *, struct Sprite *); - -static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *, s16, s16); -static bool8 IsMetatileDirectionallyImpassable(struct MapObject *, s16, s16, u8); -static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *, s16, s16); -bool8 sub_809558C(struct MapObject *, struct Sprite *); -bool8 sub_8095B64(struct MapObject *, struct Sprite *); -static void sub_8096530(struct MapObject *, struct Sprite *); -static void npc_update_obj_anim_flag(struct MapObject *, struct Sprite *); - -// ROM data - -extern void (*const gUnknown_08505438[NUM_FIELD_MAP_OBJECT_TEMPLATES])(struct Sprite *); -extern const u8 gUnknown_0850557C[NUM_FIELD_MAP_OBJECT_TEMPLATES]; -extern const u8 gUnknown_085055CD[NUM_FIELD_MAP_OBJECT_TEMPLATES]; -extern const struct MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[7]; -extern const struct MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[0xEF]; -extern u8 (*const gUnknown_0850D714[11])(s16, s16, s16, s16); - -struct PairedPalettes { - u16 tag; - const u16 *data; -}; - -extern const u8 gUnknown_084975C4[0x10]; -extern const struct SpriteTemplate gUnknown_084975D4; -extern void (*const gUnknown_084975EC[3])(struct Sprite *); -extern const struct SpritePalette gUnknown_0850BBC8[39]; -extern const struct PairedPalettes gUnknown_0850BD00[4]; -extern const struct PairedPalettes gUnknown_0850BD78[14]; -extern const u16 *const gUnknown_0850BE38[2]; -extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} -extern const s16 gUnknown_0850D6EC[4]; -extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} -extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} -extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} -extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} -extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} -extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} -extern const u8 gUnknown_0850D838[2]; // {DIR_SOUTH, DIR_EAST} -extern const u8 gUnknown_0850D850[4]; -extern const u8 gUnknown_0850D868[4]; -extern const u8 gUnknown_0850D880[4]; -extern const u8 gUnknown_0850D898[4]; -extern const u8 gUnknown_0850D8AC[5]; -extern const u8 gUnknown_0850D8C4[5]; -extern const u8 gUnknown_0850D8E8[4]; -extern bool8 (*const gUnknown_0850DA64[11])(struct MapObject *, struct Sprite *, u8, bool8(u8)); -extern bool8 (*const gUnknown_0850DB5C[4])(u8); -extern bool8 (*const gUnknown_0850DB6C[4])(u8); -extern const struct Coords16 gUnknown_0850DB7C[4]; -extern const u8 gUnknown_0850DC2F[4][4]; -extern const u8 gUnknown_0850DC3F[4][4]; -extern const u8 gUnknown_0850DBA0[5]; -extern bool8 (*const *const gUnknown_0850DC50[166])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850DEE8[5])(u8); -extern const s16 gUnknown_0850DFBC[3]; -extern const s16 gUnknown_0850DFC2[3]; - -// Code - -static void npc_clear_ids_and_state(struct MapObject *mapObject) -{ - *mapObject = (struct MapObject){}; - mapObject->localId = 0xFF; - mapObject->mapNum = -1; - mapObject->mapGroup = -1; - mapObject->mapobj_unk_1C = -1; -} - -static void npcs_clear_ids_and_state(void) -{ - u8 i; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - npc_clear_ids_and_state(&gMapObjects[i]); - } -} - -void sub_808D438(void) -{ - ZeroAllLinkPlayerMapObjects(); - npcs_clear_ids_and_state(); - ClearPlayerAvatarInfo(); - sub_808D450(); -} - -static void sub_808D450(void) -{ - u8 spriteIdx; - - spriteIdx = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); - gSprites[spriteIdx].oam.affineMode = 1; - InitSpriteAffineAnim(&gSprites[spriteIdx]); - StartSpriteAffineAnim(&gSprites[spriteIdx], 0); - gSprites[spriteIdx].invisible = TRUE; - - spriteIdx = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); - gSprites[spriteIdx].oam.affineMode = 1; - InitSpriteAffineAnim(&gSprites[spriteIdx]); - StartSpriteAffineAnim(&gSprites[spriteIdx], 1); - gSprites[spriteIdx].invisible = TRUE; -} - -u8 sub_808D4F4(void) -{ - u8 i; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (!gMapObjects[i].active) - { - break; - } - } - return i; -} - -u8 GetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId) -{ - if (localId < 0xff) - { - return GetFieldObjectIdByLocalIdAndMapInternal(localId, mapId, mapGroupId); - } - return GetFieldObjectIdByLocalId(localId); -} - -bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *fieldObjectId) -{ - *fieldObjectId = GetFieldObjectIdByLocalIdAndMap(localId, mapId, mapGroupId); - if (*fieldObjectId == NUM_FIELD_OBJECTS) - { - return TRUE; - } - return FALSE; -} - -u8 GetFieldObjectIdByXY(s16 x, s16 y) -{ - u8 i; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (gMapObjects[i].active && gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y) - { - break; - } - } - return i; -} - -static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapId, u8 mapGroupId) -{ - u8 i; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapId && gMapObjects[i].mapGroup == mapGroupId) - { - return i; - } - } - return NUM_FIELD_OBJECTS; -} - -static u8 GetFieldObjectIdByLocalId(u8 localId) -{ - u8 i; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (gMapObjects[i].active && gMapObjects[i].localId == localId) - { - return i; - } - } - return NUM_FIELD_OBJECTS; -} - -// This function has the same nonmatching quirk as in Ruby/Sapphire. -#ifdef NONMATCHING -static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapNum, u8 mapGroup) -{ - struct MapObject *mapObject; - s16 x; - s16 y; - u8 slot; - - // mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7) - if (GetAvailableFieldObjectSlot(template->localId, mapNum, mapGroup, &slot)) - { - return NUM_FIELD_OBJECTS; - } - mapObject = &gMapObjects[slot]; - npc_clear_ids_and_state(mapObject); - x = template->x + 7; - y = template->y + 7; - mapObject->active = TRUE; - mapObject->mapobj_bit_2 = TRUE; - mapObject->graphicsId = template->graphicsId; - mapObject->animPattern = template->movementType; - mapObject->localId = template->localId; - mapObject->mapNum = mapNum; - mapObject->mapGroup = mapGroup; - mapObject->coords1.x = x; - mapObject->coords1.y = y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; - mapObject->coords3.x = x; - mapObject->coords3.y = y; - mapObject->mapobj_unk_0B_0 = template->elevation; - mapObject->elevation = template->elevation; - // For some reason, 0x0F is placed in r9, to be used later - mapObject->range.as_nybbles.x = template->unkA_0; - mapObject->range.as_nybbles.y = template->unkA_4; - mapObject->trainerType = template->unkC; - mapObject->trainerRange_berryTreeId = template->unkE; - mapObject->mapobj_unk_20 = gUnknown_085055CD[template->movementType]; - FieldObjectSetDirection(mapObject, mapObject->mapobj_unk_20); - FieldObjectHandleDynamicGraphicsId(mapObject); - - if (gUnknown_0850557C[mapObject->animPattern]) - { - if ((mapObject->range.as_nybbles.x) == 0) - { - // r9 is invoked here - mapObject->range.as_nybbles.x ++; - } - if ((mapObject->range.as_nybbles.y) == 0) - { - mapObject->range.as_nybbles.y ++; - } - } - return slot; -} -#else -static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapId, u8 mapGroupId) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r9\n" - "\tmov r6, r8\n" - "\tpush {r6,r7}\n" - "\tsub sp, 0x4\n" - "\tadds r5, r0, 0\n" - "\tlsls r1, 24\n" - "\tlsrs r6, r1, 24\n" - "\tlsls r2, 24\n" - "\tlsrs r7, r2, 24\n" - "\tldrb r0, [r5]\n" - "\tadds r1, r6, 0\n" - "\tadds r2, r7, 0\n" - "\tmov r3, sp\n" - "\tbl GetAvailableFieldObjectSlot\n" - "\tlsls r0, 24\n" - "\tcmp r0, 0\n" - "\tbeq _0808D66E\n" - "\tmovs r0, 0x10\n" - "\tb _0808D762\n" - "_0808D66E:\n" - "\tmov r0, sp\n" - "\tldrb r1, [r0]\n" - "\tlsls r0, r1, 3\n" - "\tadds r0, r1\n" - "\tlsls r0, 2\n" - "\tldr r1, =gMapObjects\n" - "\tadds r4, r0, r1\n" - "\tadds r0, r4, 0\n" - "\tbl npc_clear_ids_and_state\n" - "\tldrh r3, [r5, 0x4]\n" - "\tadds r3, 0x7\n" - "\tlsls r3, 16\n" - "\tlsrs r3, 16\n" - "\tldrh r2, [r5, 0x6]\n" - "\tadds r2, 0x7\n" - "\tlsls r2, 16\n" - "\tlsrs r2, 16\n" - "\tldrb r0, [r4]\n" - "\tmovs r1, 0x1\n" - "\torrs r0, r1\n" - "\tmovs r1, 0x4\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4]\n" - "\tldrb r0, [r5, 0x1]\n" - "\tstrb r0, [r4, 0x5]\n" - "\tldrb r0, [r5, 0x9]\n" - "\tstrb r0, [r4, 0x6]\n" - "\tldrb r0, [r5]\n" - "\tstrb r0, [r4, 0x8]\n" - "\tstrb r6, [r4, 0x9]\n" - "\tstrb r7, [r4, 0xA]\n" - "\tstrh r3, [r4, 0xC]\n" - "\tstrh r2, [r4, 0xE]\n" - "\tstrh r3, [r4, 0x10]\n" - "\tstrh r2, [r4, 0x12]\n" - "\tstrh r3, [r4, 0x14]\n" - "\tstrh r2, [r4, 0x16]\n" - "\tldrb r0, [r5, 0x8]\n" - "\tmovs r7, 0xF\n" - "\tadds r1, r7, 0\n" - "\tands r1, r0\n" - "\tldrb r2, [r4, 0xB]\n" - "\tmovs r0, 0x10\n" - "\tnegs r0, r0\n" - "\tmov r8, r0\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0xB]\n" - "\tldrb r1, [r5, 0x8]\n" - "\tlsls r1, 4\n" - "\tands r0, r7\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0xB]\n" - "\tldrb r1, [r5, 0xA]\n" - "\tlsls r1, 28\n" - "\tmovs r0, 0xF\n" - "\tmov r9, r0\n" - "\tlsrs r1, 28\n" - "\tldrb r2, [r4, 0x19]\n" - "\tmov r0, r8\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0x19]\n" - "\tldrb r1, [r5, 0xA]\n" - "\tlsrs r1, 4\n" - "\tlsls r1, 4\n" - "\tands r0, r7\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0x19]\n" - "\tldrh r0, [r5, 0xC]\n" - "\tstrb r0, [r4, 0x7]\n" - "\tldrh r0, [r5, 0xE]\n" - "\tstrb r0, [r4, 0x1D]\n" - "\tldr r1, =gUnknown_085055CD\n" - "\tldrb r0, [r5, 0x9]\n" - "\tadds r0, r1\n" - "\tldrb r1, [r0]\n" - "\tadds r0, r4, 0\n" - "\tadds r0, 0x20\n" - "\tstrb r1, [r0]\n" - "\tldrb r1, [r0]\n" - "\tadds r0, r4, 0\n" - "\tbl FieldObjectSetDirection\n" - "\tadds r0, r4, 0\n" - "\tbl FieldObjectHandleDynamicGraphicsId\n" - "\tldr r1, =gUnknown_0850557C\n" - "\tldrb r0, [r4, 0x6]\n" - "\tadds r0, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbeq _0808D75E\n" - "\tldrb r2, [r4, 0x19]\n" - "\tadds r0, r7, 0\n" - "\tands r0, r2\n" - "\tcmp r0, 0\n" - "\tbne _0808D746\n" - "\tlsls r0, r2, 28\n" - "\tlsrs r0, 28\n" - "\tadds r0, 0x1\n" - "\tmov r1, r9\n" - "\tands r0, r1\n" - "\tmov r1, r8\n" - "\tands r1, r2\n" - "\torrs r1, r0\n" - "\tstrb r1, [r4, 0x19]\n" - "_0808D746:\n" - "\tldrb r2, [r4, 0x19]\n" - "\tmovs r0, 0xF0\n" - "\tands r0, r2\n" - "\tcmp r0, 0\n" - "\tbne _0808D75E\n" - "\tlsrs r1, r2, 4\n" - "\tadds r1, 0x1\n" - "\tlsls r1, 4\n" - "\tadds r0, r7, 0\n" - "\tands r0, r2\n" - "\torrs r0, r1\n" - "\tstrb r0, [r4, 0x19]\n" - "_0808D75E:\n" - "\tmov r0, sp\n" - "\tldrb r0, [r0]\n" - "_0808D762:\n" - "\tadd sp, 0x4\n" - "\tpop {r3,r4}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tpop {r4-r7}\n" - "\tpop {r1}\n" - "\tbx r1\n" - ".pool"); -} -#endif - -u8 unref_sub_808D77C(u8 localId) -{ - u8 i; - u8 nObjects; - struct MapObjectTemplate *template; - - if (gMapHeader.events != NULL) - { - if (InBattlePyramid()) - { - nObjects = sub_81AAA40(); - } - else if (InTrainerHill()) - { - nObjects = 2; - } - else - { - nObjects = gMapHeader.events->mapObjectCount; - } - for (i = 0; i < nObjects; i ++) - { - template = &gSaveBlock1Ptr->mapObjectTemplates[i]; - if (template->localId == localId && !FlagGet(template->flagId)) - { - return InitFieldObjectStateFromTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); - } - } - } - return NUM_FIELD_OBJECTS; -} - -static bool8 GetAvailableFieldObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 *result) -// Looks for an empty slot. -// Returns FALSE and the location of the available slot -// in *result. -// If no slots are available, or if the object is already -// loaded, returns TRUE. -{ - u8 i = 0; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (!gMapObjects[i].active) - break; - if (gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) - return TRUE; - } - if (i >= NUM_FIELD_OBJECTS) - return TRUE; - *result = i; - do - { - if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) - return TRUE; - i ++; - } while (i < NUM_FIELD_OBJECTS); - return FALSE; -} - -static void RemoveFieldObject(struct MapObject *mapObject) -{ - mapObject->active = FALSE; - RemoveFieldObjectInternal(mapObject); -} - -void RemoveFieldObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 index; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &index)) - { - FlagSet(GetFieldObjectFlagIdByFieldObjectId(index)); - RemoveFieldObject(&gMapObjects[index]); - } -} - -static void RemoveFieldObjectInternal(struct MapObject *mapObject) -{ - struct SpriteFrameImage image; - image.size = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->size; - gSprites[mapObject->spriteId].images = ℑ - DestroySprite(&gSprites[mapObject->spriteId]); -} - -void unref_sub_808D958(void) -{ - u8 i; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (i != gPlayerAvatar.mapObjectId) - { - RemoveFieldObject(&gMapObjects[i]); - } - } -} - -static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) -{ - struct MapObject *mapObject; - const struct MapObjectGraphicsInfo *graphicsInfo; - struct Sprite *sprite; - u8 mapObjectId; - u8 paletteSlot; - u8 spriteId; - - mapObjectId = InitFieldObjectStateFromTemplate(mapObjectTemplate, mapNum, mapGroup); - if (mapObjectId == NUM_FIELD_OBJECTS) - { - return NUM_FIELD_OBJECTS; - } - mapObject = &gMapObjects[mapObjectId]; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) - { - npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, 0); - } - else if (paletteSlot == 10) - { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, 10); - } - else if (paletteSlot >= 16) - { - paletteSlot -= 16; - sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); - } - if (mapObject->animPattern == 0x4c) - { - mapObject->mapobj_bit_13 = TRUE; - } - *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; - spriteId = CreateSprite(spriteTemplate, 0, 0, 0); - if (spriteId == MAX_SPRITES) - { - gMapObjects[mapObjectId].active = FALSE; - return NUM_FIELD_OBJECTS; - } - sprite = &gSprites[spriteId]; - sub_8092FF0(mapObject->coords2.x + cameraX, mapObject->coords2.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); - sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); - sprite->pos1.x += 8; - sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sprite->oam.paletteNum = paletteSlot; - sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = mapObjectId; - mapObject->spriteId = spriteId; - mapObject->mapobj_bit_12 = graphicsInfo->inanimate; - if (!mapObject->mapobj_bit_12) - { - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); - } - SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); - sub_8096518(mapObject, sprite); - return mapObjectId; -} - -static u8 SpawnFieldObject(struct MapObjectTemplate *mapObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) -{ - const struct MapObjectGraphicsInfo *graphicsInfo; - struct SpriteTemplate spriteTemplate; - const struct SubspriteTable *subspriteTables; - struct SpriteFrameImage spriteFrameImage; - u8 mapObjectId; - - subspriteTables = NULL; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObjectTemplate->graphicsId); - MakeObjectTemplateFromFieldObjectTemplate(mapObjectTemplate, &spriteTemplate, &subspriteTables); - spriteFrameImage.size = graphicsInfo->size; - spriteTemplate.images = &spriteFrameImage; - mapObjectId = SpawnFieldObjectInternal(mapObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); - if (mapObjectId == NUM_FIELD_OBJECTS) - { - return NUM_FIELD_OBJECTS; - } - gSprites[gMapObjects[mapObjectId].spriteId].images = graphicsInfo->images; - if (subspriteTables != NULL) - { - SetSubspriteTables(&gSprites[gMapObjects[mapObjectId].spriteId], subspriteTables); - } - return mapObjectId; -} - -u8 SpawnSpecialFieldObject(struct MapObjectTemplate *mapObjectTemplate) -{ - s16 cameraX; - s16 cameraY; - - GetFieldObjectMovingCameraOffset(&cameraX, &cameraY); - return SpawnFieldObject(mapObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); -} - -u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) -{ - struct MapObjectTemplate mapObjectTemplate; - - x -= 7; - y -= 7; - mapObjectTemplate.localId = localId; - mapObjectTemplate.graphicsId = graphicsId; - mapObjectTemplate.unk2 = 0; - mapObjectTemplate.x = x; - mapObjectTemplate.y = y; - mapObjectTemplate.elevation = z; - mapObjectTemplate.movementType = movementBehavior; - mapObjectTemplate.unkA_0 = 0; - mapObjectTemplate.unkA_4 = 0; - mapObjectTemplate.unkC = 0; - mapObjectTemplate.unkE = 0; - return SpawnSpecialFieldObject(&mapObjectTemplate); -} - -u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) -{ - struct MapObjectTemplate *mapObjectTemplate; - s16 cameraX; - s16 cameraY; - - mapObjectTemplate = GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - if (mapObjectTemplate == NULL) - { - return NUM_FIELD_OBJECTS; - } - GetFieldObjectMovingCameraOffset(&cameraX, &cameraY); - return SpawnFieldObject(mapObjectTemplate, mapNum, mapGroup, cameraX, cameraY); -} - -static void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) -{ - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); - - sprTemplate->tileTag = gfxInfo->tileTag; - sprTemplate->paletteTag = gfxInfo->paletteTag1; - sprTemplate->oam = gfxInfo->oam; - sprTemplate->anims = gfxInfo->anims; - sprTemplate->images = gfxInfo->images; - sprTemplate->affineAnims = gfxInfo->affineAnims; - sprTemplate->callback = callback; - *subspriteTables = gfxInfo->subspriteTables; -} - -static void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) -{ - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, gUnknown_08505438[callbackIndex], sprTemplate, subspriteTables); -} - -static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) -{ - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjectTemplate->graphicsId, mapObjectTemplate->movementType, spriteTemplate, subspriteTables); -} - -u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) -{ - struct SpriteTemplate *spriteTemplate; - const struct SubspriteTable *subspriteTables; - struct Sprite *sprite; - u8 spriteIdx; - - spriteTemplate = malloc(sizeof(struct SpriteTemplate)); - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables); - if (spriteTemplate->paletteTag != 0xffff) - { - sub_808E894(spriteTemplate->paletteTag); - } - spriteIdx = CreateSprite(spriteTemplate, x, y, subpriority); - free(spriteTemplate); - - if (spriteIdx != MAX_SPRITES && subspriteTables != NULL) - { - sprite = &gSprites[spriteIdx]; - SetSubspriteTables(sprite, subspriteTables); - sprite->subspriteMode = 2; - } - return spriteIdx; -} - -u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) -{ - const struct MapObjectGraphicsInfo *graphicsInfo; - struct SpriteTemplate spriteTemplate; - const struct SubspriteTable *subspriteTables; - u8 spriteId; - struct Sprite *sprite; - - graphicsInfo = GetFieldObjectGraphicsInfo(graphicsId); - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sub_8097AC8, &spriteTemplate, &subspriteTables); - *(u16 *)&spriteTemplate.paletteTag = 0xffff; - x += 7; - y += 7; - sub_80930E0(&x, &y, 8, 16); - spriteId = CreateSpriteAtEnd(&spriteTemplate, x, y, 0); - if (spriteId != MAX_SPRITES) - { - sprite = &gSprites[spriteId]; - sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); - sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); - sprite->pos1.y += sprite->centerToCornerVecY; - sprite->oam.paletteNum = graphicsInfo->paletteSlot; - if (sprite->oam.paletteNum >= 16) - { - sprite->oam.paletteNum -= 16; - } - sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = a1; - sprite->data[1] = z; - if (graphicsInfo->paletteSlot == 10) - { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); - } - else if (graphicsInfo->paletteSlot >= 16) - { - sub_808EAB0(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot | 0xf0); - } - if (subspriteTables != NULL) - { - SetSubspriteTables(sprite, subspriteTables); - sprite->subspriteMode = 2; - } - InitObjectPriorityByZCoord(sprite, z); - SetObjectSubpriorityByZCoord(z, sprite, 1); - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(direction)); - } - return spriteId; -} - -void SpawnFieldObjectsInView(s16 cameraX, s16 cameraY) -{ - u8 i; - s16 left; - s16 right; - s16 top; - s16 bottom; - u8 objectCount; - s16 npcX; - s16 npcY; - - if (gMapHeader.events != NULL) - { - left = gSaveBlock1Ptr->pos.x - 2; - right = gSaveBlock1Ptr->pos.x + 17; - top = gSaveBlock1Ptr->pos.y; - bottom = gSaveBlock1Ptr->pos.y + 16; - - if (InBattlePyramid()) - { - objectCount = sub_81AAA40(); - } - else if (InTrainerHill()) - { - objectCount = 2; - } - else - { - objectCount = gMapHeader.events->mapObjectCount; - } - - for (i = 0; i < objectCount; i++) - { - struct MapObjectTemplate *template = &gSaveBlock1Ptr->mapObjectTemplates[i]; - npcX = template->x + 7; - npcY = template->y + 7; - - if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX - && !FlagGet(template->flagId)) - SpawnFieldObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); - } - } -} - -/*static*/ void RemoveFieldObjectsOutsideView(void) -{ - u8 i; - u8 j; - bool8 isActiveLinkPlayer; - struct MapObject *mapObject; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerMapObjects); j ++) - { - if (gLinkPlayerMapObjects[j].active && i == gLinkPlayerMapObjects[j].mapObjId) - isActiveLinkPlayer = TRUE; - } - if (!isActiveLinkPlayer) - { - mapObject = &gMapObjects[i]; - - if (mapObject->active && !mapObject->mapobj_bit_16) - RemoveFieldObjectIfOutsideView(mapObject); - } - } -} - -static void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) -{ - s16 left; - s16 right; - s16 top; - s16 bottom; - - left = gSaveBlock1Ptr->pos.x - 2; - right = gSaveBlock1Ptr->pos.x + 17; - top = gSaveBlock1Ptr->pos.y; - bottom = gSaveBlock1Ptr->pos.y + 16; - - if (mapObject->coords2.x >= left && mapObject->coords2.x <= right - && mapObject->coords2.y >= top && mapObject->coords2.y <= bottom) - return; - if (mapObject->coords1.x >= left && mapObject->coords1.x <= right - && mapObject->coords1.y >= top && mapObject->coords1.y <= bottom) - return; - RemoveFieldObject(mapObject); -} - -void sub_808E16C(s16 x, s16 y) -{ - u8 i; - - ClearPlayerAvatarInfo(); - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (gMapObjects[i].active) - { - sub_808E1B8(i, x, y); - } - } - sub_808D450(); -} - -static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) -{ - u8 spriteId; - u8 paletteSlot; - struct MapObject *mapObject; - const struct SubspriteTable *subspriteTables; - const struct MapObjectGraphicsInfo *graphicsInfo; - struct SpriteFrameImage spriteFrameImage; - struct SpriteTemplate spriteTemplate; - struct Sprite *sprite; - -#define i spriteId - for (i = 0; i < ARRAY_COUNT(gLinkPlayerMapObjects); i ++) - { - if (gLinkPlayerMapObjects[i].active && mapObjectId == gLinkPlayerMapObjects[i].mapObjId) - { - return; - } - } -#undef i - - mapObject = &gMapObjects[mapObjectId]; - subspriteTables = NULL; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - spriteFrameImage.size = graphicsInfo->size; - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->animPattern, &spriteTemplate, &subspriteTables); - spriteTemplate.images = &spriteFrameImage; - *(u16 *)&spriteTemplate.paletteTag = 0xffff; - paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) - { - npc_load_two_palettes__no_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); - } - else if (paletteSlot == 10) - { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); - } - else if (paletteSlot >= 16) - { - paletteSlot -= 16; - sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); - } - *(u16 *)&spriteTemplate.paletteTag = 0xffff; - spriteId = CreateSprite(&spriteTemplate, 0, 0, 0); - if (spriteId != MAX_SPRITES) - { - sprite = &gSprites[spriteId]; - sub_8092FF0(x + mapObject->coords2.x, y + mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); - sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); - sprite->pos1.x += 8; - sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sprite->images = graphicsInfo->images; - if (mapObject->animPattern == 0x0b) - { - SetPlayerAvatarFieldObjectIdAndObjectId(mapObjectId, spriteId); - mapObject->mapobj_unk_1B = sub_8154228(); - } - if (subspriteTables != NULL) - { - SetSubspriteTables(sprite, subspriteTables); - } - sprite->oam.paletteNum = paletteSlot; - sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = mapObjectId; - mapObject->spriteId = spriteId; - if (!mapObject->mapobj_bit_12 && mapObject->animPattern != 0x0b) - { - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); - } - sub_808E38C(mapObject); - SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); - } -} - -/*static*/ void sub_808E38C(struct MapObject *mapObject) -{ - mapObject->mapobj_bit_1 = FALSE; - mapObject->mapobj_bit_2 = TRUE; - mapObject->mapobj_bit_22 = FALSE; - mapObject->mapobj_bit_17 = FALSE; - mapObject->mapobj_bit_18 = FALSE; - mapObject->mapobj_bit_19 = FALSE; - mapObject->mapobj_bit_20 = FALSE; - mapObject->mapobj_bit_21 = FALSE; - FieldObjectClearAnim(mapObject); -} - -static void SetPlayerAvatarFieldObjectIdAndObjectId(u8 mapObjectId, u8 spriteId) -{ - gPlayerAvatar.mapObjectId = mapObjectId; - gPlayerAvatar.spriteId = spriteId; - gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gMapObjects[mapObjectId].graphicsId); - SetPlayerAvatarExtraStateTransition(gMapObjects[mapObjectId].graphicsId, 0x20); -} - -void FieldObjectSetGraphicsId(struct MapObject *mapObject, u8 graphicsId) -{ - const struct MapObjectGraphicsInfo *graphicsInfo; - struct Sprite *sprite; - u8 paletteSlot; - - graphicsInfo = GetFieldObjectGraphicsInfo(graphicsId); - sprite = &gSprites[mapObject->spriteId]; - paletteSlot = graphicsInfo->paletteSlot; - if (paletteSlot == 0) - { - pal_patch_for_npc(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); - } - else if (paletteSlot == 10) - { - npc_load_two_palettes__and_record(graphicsInfo->paletteTag1, graphicsInfo->paletteSlot); - } - else if (paletteSlot >= 16) - { - paletteSlot -= 16; - sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); - } - sprite->oam.shape = graphicsInfo->oam->shape; - sprite->oam.size = graphicsInfo->oam->size; - sprite->images = graphicsInfo->images; - sprite->anims = graphicsInfo->anims; - sprite->subspriteTables = graphicsInfo->subspriteTables; - sprite->oam.paletteNum = paletteSlot; - mapObject->mapobj_bit_12 = graphicsInfo->inanimate; - mapObject->graphicsId = graphicsId; - sub_8093038(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); - sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); - sprite->pos1.x += 8; - sprite->pos1.y += 16 + sprite->centerToCornerVecY; - if (mapObject->mapobj_bit_15) - { - CameraObjectReset1(); - } -} - -void FieldObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - FieldObjectSetGraphicsId(&gMapObjects[mapObjectId], graphicsId); - } -} - -void FieldObjectTurn(struct MapObject *mapObject, u8 direction) -{ - FieldObjectSetDirection(mapObject, direction); - if (!mapObject->mapobj_bit_12) - { - StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); - SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); - } -} - -void FieldObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - FieldObjectTurn(&gMapObjects[mapObjectId], direction); - } -} - -void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) -{ - FieldObjectTurn(&gMapObjects[playerAvatar->mapObjectId], direction); -} - -/*static*/ void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 berryStage; - u8 berryId; - - mapObject->mapobj_bit_13 = TRUE; - sprite->invisible = TRUE; - berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); - if (berryStage != 0) - { - mapObject->mapobj_bit_13 = FALSE; - sprite->invisible = FALSE; - berryId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; - berryStage -= 1; - if (berryId >= NUM_BERRIES) - { - berryId = 0; - } - FieldObjectSetGraphicsId(mapObject, gBerryTreeFieldObjectGraphicsIdTablePointers[berryId][berryStage]); - sprite->images = gBerryTreePicTablePointers[berryId]; - sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; - StartSpriteAnim(sprite, berryStage); - } -} - -const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId) -{ - u8 bard; - - if (graphicsId >= SPRITE_VAR) - { - graphicsId = VarGetFieldObjectGraphicsId(graphicsId - SPRITE_VAR); - } - if (graphicsId == 0x45) - { - bard = GetCurrentMauvilleOldMan(); - return gMauvilleOldManGraphicsInfoPointers[bard]; - } - if (graphicsId >= NUM_OBJECT_GRAPHICS_INFO) - { - graphicsId = 0x05; // LittleBoy1 - } - return gFieldObjectGraphicsInfoPointers[graphicsId]; -} - -static void FieldObjectHandleDynamicGraphicsId(struct MapObject *mapObject) -{ - if (mapObject->graphicsId >= SPRITE_VAR) - { - mapObject->graphicsId = VarGetFieldObjectGraphicsId(mapObject->graphicsId - SPRITE_VAR); - } -} - -void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 state) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - gMapObjects[mapObjectId].mapobj_bit_13 = state; - } -} - -void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) -{ - *(u8*)(localId) = mapObject->localId; - *(u8*)(mapNum) = mapObject->mapNum; - *(u8*)(mapGroup) = mapObject->mapGroup; -} - -void sub_808E75C(s16 x, s16 y) -{ - u8 mapObjectId; - struct MapObject *mapObject; - - mapObjectId = GetFieldObjectIdByXY(x, y); - if (mapObjectId != NUM_FIELD_OBJECTS) - { - mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_2 = TRUE; - } -} - -void sub_808E78C(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) -{ - u8 mapObjectId; - struct MapObject *mapObject; - struct Sprite *sprite; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - mapObject = &gMapObjects[mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; - mapObject->mapobj_bit_26 = TRUE; - sprite->subpriority = subpriority; - } -} - -void sub_808E7E4(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 mapObjectId; - struct MapObject *mapObject; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_26 = FALSE; - mapObject->mapobj_bit_2 = TRUE; - } -} - -void sub_808E82C(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) -{ - u8 mapObjectId; - struct Sprite *sprite; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - sprite = &gSprites[gMapObjects[mapObjectId].spriteId]; - sprite->pos2.x = x; - sprite->pos2.y = y; - } -} - -void gpu_pal_allocator_reset__manage_upper_four(void) -{ - FreeAllSpritePalettes(); - gReservedSpritePaletteCount = 12; -} - -static void sub_808E894(u16 paletteTag) -{ - u16 paletteSlot; - - paletteSlot = FindFieldObjectPaletteIndexByTag(paletteTag); - if (paletteSlot != 0x11ff) // always true - { - sub_808E8F4(&gUnknown_0850BBC8[paletteSlot]); - } -} - -void sub_808E8C0(u16 *paletteTags) -{ - u8 i; - - for (i = 0; paletteTags[i] != 0x11ff; i ++) - { - sub_808E894(paletteTags[i]); - } -} - -static u8 sub_808E8F4(const struct SpritePalette *spritePalette) -{ - if (IndexOfSpritePaletteTag(spritePalette->tag) != 0xff) - { - return 0xff; - } - return LoadSpritePalette(spritePalette); -} - -void pal_patch_for_npc(u16 paletteTag, u8 paletteSlot) -{ - u16 paletteIdx; - - paletteIdx = FindFieldObjectPaletteIndexByTag(paletteTag); - LoadPalette(gUnknown_0850BBC8[paletteIdx].data, 16 * paletteSlot + 256, 0x20); -} - -void pal_patch_for_npc_range(const u16 *paletteTags, u8 minSlot, u8 maxSlot) -{ - while (minSlot < maxSlot) - { - pal_patch_for_npc(*paletteTags, minSlot); - paletteTags ++; - minSlot ++; - } -} - -static u8 FindFieldObjectPaletteIndexByTag(u16 tag) -{ - u8 i; - - for (i = 0; gUnknown_0850BBC8[i].tag != 0x11ff; i ++) - { - if (gUnknown_0850BBC8[i].tag == tag) - { - return i; - } - } - return 0xff; -} - -void npc_load_two_palettes__no_record(u16 tag, u8 slot) -{ - u8 i; - - pal_patch_for_npc(tag, slot); - for (i = 0; gUnknown_0850BD00[i].tag != 0x11ff; i ++) - { - if (gUnknown_0850BD00[i].tag == tag) - { - pal_patch_for_npc(gUnknown_0850BD00[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]); - return; - } - } -} - -void npc_load_two_palettes__and_record(u16 tag, u8 slot) -{ - u8 i; - - gUnknown_020375B6 = tag; - pal_patch_for_npc(tag, slot); - for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++) - { - if (gUnknown_0850BD78[i].tag == tag) - { - pal_patch_for_npc(gUnknown_0850BD78[i].data[gUnknown_020375B4], gUnknown_084975C4[slot]); - return; - } - } -} - -static void sub_808EAB0(u16 tag, u8 slot) -{ - pal_patch_for_npc(tag, slot); -} - -void unref_sub_808EAC4(struct MapObject *mapObject, s16 x, s16 y) -{ - mapObject->coords3.x = mapObject->coords2.x; - mapObject->coords3.y = mapObject->coords2.y; - mapObject->coords2.x += x; - mapObject->coords2.y += y; -} - -void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) -{ - mapObject->coords3.x = mapObject->coords2.x; - mapObject->coords3.y = mapObject->coords2.y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; -} - -/*static*/ void npc_coords_set(struct MapObject *mapObject, s16 x, s16 y) -{ - mapObject->coords3.x = x; - mapObject->coords3.y = y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; -} - -void sub_808EB08(struct MapObject *mapObject, s16 x, s16 y) -{ - struct Sprite *sprite; - const struct MapObjectGraphicsInfo *graphicsInfo; - - sprite = &gSprites[mapObject->spriteId]; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - npc_coords_set(mapObject, x, y); - sub_8093038(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); - sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); - sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); - sprite->pos1.x += 8; - sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sub_808E38C(mapObject); - if (mapObject->mapobj_bit_15) - { - CameraObjectReset1(); - } -} - -void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - x += 7; - y += 7; - sub_808EB08(&gMapObjects[mapObjectId], x, y); - } -} - -void npc_coords_shift_still(struct MapObject *mapObject) -{ - npc_coords_shift(mapObject, mapObject->coords2.x, mapObject->coords2.y); -} - -void UpdateFieldObjectCoordsForCameraUpdate(void) -{ - u8 i; - s16 dx; - s16 dy; - - if (gCamera.active) - { - dx = gCamera.x; - dy = gCamera.y; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (gMapObjects[i].active) - { - gMapObjects[i].coords1.x -= dx; - gMapObjects[i].coords1.y -= dy; - gMapObjects[i].coords2.x -= dx; - gMapObjects[i].coords2.y -= dy; - gMapObjects[i].coords3.x -= dx; - gMapObjects[i].coords3.y -= dy; - } - } - } -} - -u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) -{ - u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - if (gMapObjects[i].active) - { - if (gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) - { - return i; - } - } - } - return NUM_FIELD_OBJECTS; -} - -static bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) -{ - if (mapObject->mapobj_unk_0B_0 != 0 && z != 0 && mapObject->mapobj_unk_0B_0 != z) - { - return FALSE; - } - return TRUE; -} - -void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y) -{ - UpdateFieldObjectCoordsForCameraUpdate(); - SpawnFieldObjectsInView(x, y); - RemoveFieldObjectsOutsideView(); -} - -u8 AddCameraObject(u8 linkedSpriteId) -{ - u8 spriteId; - - spriteId = CreateSprite(&gUnknown_084975D4, 0, 0, 4); - gSprites[spriteId].invisible = TRUE; - gSprites[spriteId].data[0] = linkedSpriteId; - return spriteId; -} - -void ObjectCB_CameraObject(struct Sprite *sprite) -{ - void (*callbacks[ARRAY_COUNT(gUnknown_084975EC)])(struct Sprite *); - - memcpy(callbacks, gUnknown_084975EC, sizeof gUnknown_084975EC); - callbacks[sprite->data[1]](sprite); -} - -/*static*/ void CameraObject_0(struct Sprite *sprite) -{ - sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; - sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; - sprite->invisible = TRUE; - sprite->data[1] = 1; - CameraObject_1(sprite); -} - -/*static*/ void CameraObject_1(struct Sprite *sprite) -{ - s16 x; - s16 y; - - y = gSprites[sprite->data[0]].pos1.y; - x = gSprites[sprite->data[0]].pos1.x; - sprite->data[2] = x - sprite->pos1.x; - sprite->data[3] = y - sprite->pos1.y; - sprite->pos1.x = x; - sprite->pos1.y = y; -} - -/*static*/ void CameraObject_2(struct Sprite *sprite) -{ - sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; - sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; - sprite->data[2] = 0; - sprite->data[3] = 0; -} - -static struct Sprite *FindCameraObject(void) -{ - u8 spriteId; - - for (spriteId = 0; spriteId < MAX_SPRITES; spriteId ++) - { - if (gSprites[spriteId].inUse && gSprites[spriteId].callback == ObjectCB_CameraObject) - { - return &gSprites[spriteId]; - } - } - return NULL; -} - -void CameraObjectReset1(void) -{ - struct Sprite *cameraObject; - - cameraObject = FindCameraObject(); - if (cameraObject != NULL) - { - cameraObject->data[1] = 0; - cameraObject->callback(cameraObject); - } -} - -void CameraObjectSetFollowedObjectId(u8 objectId) -{ - struct Sprite *cameraObject; - - cameraObject = FindCameraObject(); - if (cameraObject != NULL) - { - cameraObject->data[0] = objectId; - CameraObjectReset1(); - } -} - -u8 CameraObjectGetFollowedObjectId(void) -{ - struct Sprite *cameraObject; - - cameraObject = FindCameraObject(); - if (cameraObject == NULL) - { - return MAX_SPRITES; - } - return cameraObject->data[0]; -} - -void CameraObjectReset2(void) -{ - FindCameraObject()->data[1] = 2; -} - -u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) -{ - u8 i; - - for (i = 0; i < MAX_SPRITES; i ++) - { - if (!gSprites[i].inUse) - { - gSprites[i] = *sprite; - gSprites[i].pos1.x = x; - gSprites[i].pos1.y = y; - gSprites[i].subpriority = subpriority; - break; - } - } - return i; -} - -u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) -{ - s16 i; - - for (i = MAX_SPRITES - 1; i > -1; i --) - { - if (!gSprites[i].inUse) - { - gSprites[i] = *sprite; - gSprites[i].pos1.x = x; - gSprites[i].pos1.y = y; - gSprites[i].subpriority = subpriority; - return i; - } - } - return MAX_SPRITES; -} - -void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction) -{ - s8 d2; - mapObject->mapobj_unk_20 = mapObject->mapobj_unk_18; - if (!mapObject->mapobj_bit_9) - { - d2 = direction; - mapObject->mapobj_unk_18 = d2; - } - mapObject->placeholder18 = direction; -} - -static const u8 *GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) -{ - return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; -} - -const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId) -{ - return GetFieldObjectScriptPointerByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); -} - -static u16 GetFieldObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) -{ - return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; -} - -u16 GetFieldObjectFlagIdByFieldObjectId(u8 mapObjectId) -{ - return GetFieldObjectFlagIdByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); -} - -u8 sub_808F080(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 mapObjectId; - - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - return 0xFF; - } - return gMapObjects[mapObjectId].trainerType; -} - -u8 sub_808F0BC(u8 mapObjectId) -{ - return gMapObjects[mapObjectId].trainerType; -} - -u8 sub_808F0D4(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 mapObjectId; - - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - return 0xFF; - } - return gMapObjects[mapObjectId].trainerRange_berryTreeId; -} - -u8 FieldObjectGetBerryTreeId(u8 mapObjectId) -{ - return gMapObjects[mapObjectId].trainerRange_berryTreeId; -} - -struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) -{ - struct MapObjectTemplate *templates; - const struct MapHeader *mapHeader; - u8 count; - - if (gSaveBlock1Ptr->location.mapNum == mapNum && gSaveBlock1Ptr->location.mapGroup == mapGroup) - { - templates = gSaveBlock1Ptr->mapObjectTemplates; - count = gMapHeader.events->mapObjectCount; - } - else - { - mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); - templates = mapHeader->events->mapObjects; - count = mapHeader->events->mapObjectCount; - } - return FindFieldObjectTemplateInArrayByLocalId(localId, templates, count); -} - -struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) -{ - u8 i; - - for (i = 0; i < count; i ++) - { - if (templates[i].localId == localId) - { - return &templates[i]; - } - } - return NULL; -} - -struct MapObjectTemplate *sub_808F1B4(const struct MapObject *mapObject) -{ - int i; - - if (mapObject->mapNum != gSaveBlock1Ptr->location.mapNum || mapObject->mapGroup != gSaveBlock1Ptr->location.mapGroup) - { - return NULL; - } - for (i = 0; i < 64; i ++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble) - { - if (mapObject->localId == gSaveBlock1Ptr->mapObjectTemplates[i].localId) - { - return &gSaveBlock1Ptr->mapObjectTemplates[i]; - } - } - return NULL; -} - -void sub_808F208(const struct MapObject *mapObject) -{ - struct MapObjectTemplate *mapObjectTemplate; - - mapObjectTemplate = sub_808F1B4(mapObject); - if (mapObjectTemplate != NULL) - { - mapObjectTemplate->x = mapObject->coords2.x - 7; - mapObjectTemplate->y = mapObject->coords2.y - 7; - } -} - -void sub_808F228(const struct MapObject *mapObject, const u8 *script) -{ - struct MapObjectTemplate *mapObjectTemplate; - - mapObjectTemplate = sub_808F1B4(mapObject); - if (mapObjectTemplate != NULL) - { - mapObjectTemplate->script = script; - } -} - -void sub_808F23C(const struct MapObject *mapObject, u8 movementType) -{ - struct MapObjectTemplate *mapObjectTemplate; - - mapObjectTemplate = sub_808F1B4(mapObject); - if (mapObjectTemplate != NULL) - { - mapObjectTemplate->movementType = movementType; - } -} - -void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - sub_808F208(&gMapObjects[mapObjectId]); - } -} - -void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - switch (decorCat) - { - case DECORCAT_DOLL: - sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A2); - break; - case DECORCAT_CUSHION: - sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A6); - break; - } - } -} - -void npc_paltag_set_load(u8 palSlot) -{ - gpu_pal_allocator_reset__manage_upper_four(); - gUnknown_020375B6 = 0x11ff; - gUnknown_020375B4 = palSlot; - if (palSlot == 1) - { - pal_patch_for_npc_range(gUnknown_0850BE38[gUnknown_020375B4], 0, 6); - gReservedSpritePaletteCount = 8; - } - else - { - pal_patch_for_npc_range(gUnknown_0850BE38[gUnknown_020375B4], 0, 10); - } -} - -u16 npc_paltag_by_palslot(u8 palSlot) -{ - u8 i; - - if (palSlot < 10) - { - return gUnknown_0850BE38[gUnknown_020375B4][palSlot]; - } - for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++) - { - if (gUnknown_0850BD78[i].tag == gUnknown_020375B6) - { - return gUnknown_0850BD78[i].data[gUnknown_020375B4]; - } - } - return 0x11ff; -} - -// Map Object Step Callbacks -// file boundary? - -null_object_step(NoMovement1, FALSE) - -field_object_step(GoRandomDirections, gUnknown_0850D6F4) - -bool8 sub_808F44C(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_808F460(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_808F48C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (!FieldObjectExecRegularAnim(mapObject, sprite)) - { - return FALSE; - } - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - sprite->data[1] = 3; - return TRUE; -} - -bool8 sub_808F4C8(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_808F4E8(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[4]; - u8 chosenDirection; - - memcpy(directions, gUnknown_0850D710, sizeof directions); - chosenDirection = directions[Random() & 0x03]; - FieldObjectSetDirection(mapObject, chosenDirection); - sprite->data[1] = 5; - if (npc_block_way__next_tile(mapObject, chosenDirection)) - { - sprite->data[1] = 1; - } - return TRUE; -} - -bool8 sub_808F534(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 6; - return TRUE; -} - -bool8 sub_808F564(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 1; - } - return FALSE; -} - -bool8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) -{ - s16 playerX; - s16 playerY; - s16 objX; - s16 objY; - s16 minX; - s16 maxX; - s16 minY; - s16 maxY; - - if (!TestPlayerAvatarFlags(0x80)) - { - return FALSE; - } - if (mapObject->trainerType != 1 && mapObject->trainerType != 3) - { - return FALSE; - } - PlayerGetDestCoords(&playerX, &playerY); - objX = mapObject->coords2.x; - objY = mapObject->coords2.y; - minX = objX - mapObject->trainerRange_berryTreeId; - minY = objY - mapObject->trainerRange_berryTreeId; - maxX = objX + mapObject->trainerRange_berryTreeId; - maxY = objY + mapObject->trainerRange_berryTreeId; - if (minX > playerX || maxX < playerX || minY > playerY || maxY < playerY) - { - return FALSE; - } - return TRUE; -} - -u8 GetRegularRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - if (absdx > absdy) - { - direction = DIR_EAST; - if (dx < 0) - { - direction = DIR_WEST; - } - } - else - { - direction = DIR_SOUTH; - if (dy < 0) - { - direction = DIR_NORTH; - } - } - return direction; -} - -u8 GetNorthSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = DIR_SOUTH; - if (dy < 0) - { - direction = DIR_NORTH; - } - return direction; -} - -u8 GetEastWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = DIR_EAST; - if (dx < 0) - { - direction = DIR_WEST; - } - return direction; -} - -u8 GetNorthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_SOUTH) - { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_EAST) - { - direction = DIR_NORTH; - } - } - else if (direction == DIR_EAST) - { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_SOUTH) - { - direction = DIR_NORTH; - } - } - return direction; -} - -u8 GetNorthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_SOUTH) - { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_WEST) - { - direction = DIR_NORTH; - } - } - else if (direction == DIR_WEST) - { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_SOUTH) - { - direction = DIR_NORTH; - } - } - return direction; -} - -u8 GetSouthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_NORTH) - { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_EAST) - { - direction = DIR_SOUTH; - } - } - else if (direction == DIR_EAST) - { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_NORTH) - { - direction = DIR_SOUTH; - } - } - return direction; -} - -u8 GetSouthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_NORTH) - { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_WEST) - { - direction = DIR_SOUTH; - } - } - else if (direction == DIR_WEST) - { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_NORTH) - { - direction = DIR_SOUTH; - } - } - return direction; -} - -u8 GetNonEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_EAST) - { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); - } - return direction; -} - -u8 GetNonWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_WEST) - { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); - } - return direction; -} - -u8 GetNonSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_SOUTH) - { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); - } - return direction; -} - -u8 GetNonNorthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) -{ - u8 direction; - - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); - if (direction == DIR_NORTH) - { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); - } - return direction; -} - -u8 GetRunningPastFacingDirection(struct MapObject *mapObject, u8 movementType) -{ - s16 dx; - s16 dy; - s16 absdx; - s16 absdy; - - if (!FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - return 0; - } - PlayerGetDestCoords(&dx, &dy); - dx -= mapObject->coords2.x; - dy -= mapObject->coords2.y; - absdx = dx; - absdy = dy; - if (absdx < 0) - { - absdx = -absdx; - } - if (absdy < 0) - { - absdy = -absdy; - } - return gUnknown_0850D714[movementType](dx, dy, absdx, absdy); -} - -field_object_step(LookRandomDirections, gUnknown_0850D740) - -bool8 sub_808F988(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_808F99C(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_808FA0C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_808FA3C(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[4]; - u8 direction; - - memcpy(directions, gUnknown_0850D710, sizeof directions); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); - if (direction == 0) - { - direction = directions[Random() & 0x03]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyGoNorthOrSouth, gUnknown_0850D754) - -bool8 sub_808FAC8(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_808FADC(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_808FB08(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (!FieldObjectExecRegularAnim(mapObject, sprite)) - { - return FALSE; - } - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - sprite->data[1] = 3; - return TRUE; -} - -bool8 sub_808FB44(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_808FB64(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D770, sizeof directions); - direction = directions[Random() & 0x01]; - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 5; - if (npc_block_way__next_tile(mapObject, direction)) - { - sprite->data[1] = 1; - } - return TRUE; -} - -bool8 sub_808FBB0(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 6; - return TRUE; -} - -bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 1; - } - return FALSE; -} - -field_object_step(RandomlyGoEastOrWest, gUnknown_0850D774) - -bool8 sub_808FC4C(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_808FC60(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_808FC8C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (!FieldObjectExecRegularAnim(mapObject, sprite)) - { - return FALSE; - } - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - sprite->data[1] = 3; - return TRUE; -} - -bool8 sub_808FCC8(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_808FCE8(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D790, sizeof directions); - direction = directions[Random() & 0x01]; - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 5; - if (npc_block_way__next_tile(mapObject, direction)) - { - sprite->data[1] = 1; - } - return TRUE; -} - -bool8 sub_808FD34(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 6; - return TRUE; -} - -bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 1; - } - return FALSE; -} - -field_object_step(FaceFixedDirection, gUnknown_0850D794) - -bool8 sub_808FDD0(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - sprite->data[1] = 2; - return TRUE; - } - return FALSE; -} - -bool8 sub_808FE1C(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_1 = FALSE; - return FALSE; -} - -static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite); -extern bool8 (*const gUnknown_0850D7A0[])(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectCB_BerryTree(struct Sprite *sprite) -{ - struct MapObject *mapObject; - - mapObject = &gMapObjects[sprite->data[0]]; - if (!(sprite->data[7] & 0x0001)) - { - get_berry_tree_graphics(mapObject, sprite); - sprite->data[7] |= 0x0001; - } - FieldObjectStep(mapObject, sprite, FieldObjectCB2_BerryTree); -} -static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite) -{ - return gUnknown_0850D7A0[sprite->data[1]](mapObject, sprite); -} - -bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 berryStage; - - npc_reset(mapObject, sprite); - mapObject->mapobj_bit_13 = TRUE; - sprite->invisible = TRUE; - berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); - if (berryStage == 0) - { - if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4) - { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; - gFieldEffectArguments[2] = sprite->subpriority - 1; - gFieldEffectArguments[3] = sprite->oam.priority; - FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); - sprite->animNum = berryStage; - } - return FALSE; - } - mapObject->mapobj_bit_13 = FALSE; - sprite->invisible = FALSE; - berryStage --; - if (sprite->animNum != berryStage) - { - sprite->data[1] = 2; - return TRUE; - } - get_berry_tree_graphics(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, 0x39); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - sprite->data[1] = 0; - return TRUE; - } - return FALSE; -} - -bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 3; - sprite->data[2] = 0; - sprite->data[7] |= 0x0002; - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; - gFieldEffectArguments[2] = sprite->subpriority - 1; - gFieldEffectArguments[3] = sprite->oam.priority; - FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); - return TRUE; -} - -bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - sprite->data[2] ++; - mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; - sprite->animPaused = TRUE; - if (sprite->data[2] > 64) - { - get_berry_tree_graphics(mapObject, sprite); - sprite->data[1] = 4; - sprite->data[2] = 0; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite) -{ - sprite->data[2] ++; - mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; - sprite->animPaused = TRUE; - if (sprite->data[2] > 64) - { - sprite->data[1] = 0; - sprite->data[7] &= ~0x0002; - return TRUE; - } - return FALSE; -} - -field_object_step(RandomlyLookNorthOrSouth, gUnknown_0850D7B4) - -bool8 sub_8090094 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_80900A8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090118 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090148 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D770, sizeof gUnknown_0850D770); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH); - if (direction == 0) - { - direction = directions[Random() & 0x01]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookEastOrWest, gUnknown_0850D7C8) - -bool8 sub_80901D4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_80901E8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090258 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090288 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D790, sizeof gUnknown_0850D790); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_EAST_WEST); - if (direction == 0) - { - direction = directions[Random() & 0x01]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookNorthOrWest, gUnknown_0850D7DC) - -bool8 sub_8090314 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090328 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090398 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_80903C8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D7F0, sizeof gUnknown_0850D7F0); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_WEST); - if (direction == 0) - { - direction = directions[Random() & 0x01]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookNorthOrEast, gUnknown_0850D7F4) - -bool8 sub_8090454 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090468 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_80904D8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090508 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D808, sizeof gUnknown_0850D808); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_EAST); - if (direction == 0) - { - direction = directions[Random() & 0x01]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookSouthOrWest, gUnknown_0850D80C) - -bool8 sub_8090594 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_80905A8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090618 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090648 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D820, sizeof gUnknown_0850D820); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_WEST); - if (direction == 0) - { - direction = directions[Random() & 0x01]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookSouthOrEast, gUnknown_0850D824) - -bool8 sub_80906D4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_80906E8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090758 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090788 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[2]; - u8 direction; - - memcpy(directions, gUnknown_0850D838, sizeof gUnknown_0850D838); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_EAST); - if (direction == 0) - { - direction = directions[Random() & 0x01]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookNorthOrSouthOrWest, gUnknown_0850D83C) - -bool8 sub_8090814 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090828 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090898 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_80908C8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[4]; - u8 direction; - - memcpy(directions, gUnknown_0850D850, sizeof gUnknown_0850D850); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH_WEST); - if (direction == 0) - { - direction = directions[Random() & 0x03]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookNorthOrSouthOrEast, gUnknown_0850D854) - -bool8 sub_8090954 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090968 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_80909D8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090A08 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[4]; - u8 direction; - - memcpy(directions, gUnknown_0850D868, sizeof gUnknown_0850D868); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH_EAST); - if (direction == 0) - { - direction = directions[Random() & 0x03]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookNorthOrEastOrWest, gUnknown_0850D86C) - -bool8 sub_8090A94 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090AA8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090B18 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090B48 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[4]; - u8 direction; - - memcpy(directions, gUnknown_0850D880, sizeof gUnknown_0850D880); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_EAST_WEST); - if (direction == 0) - { - direction = directions[Random() & 0x03]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(RandomlyLookSouthOrEastOrWest, gUnknown_0850D884) - -bool8 sub_8090BD4 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090BE8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090C58 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 4; - return TRUE; - } - return FALSE; -} - -bool8 sub_8090C88 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[4]; - u8 direction; - - memcpy(directions, gUnknown_0850D898, sizeof gUnknown_0850D898); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_EAST_WEST); - if (direction == 0) - { - direction = directions[Random() & 0x03]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(LookAroundCounterclockwise, gUnknown_0850D89C) - -bool8 sub_8090D14 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090D40 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, 48); - sprite->data[1] = 2; - } - return FALSE; -} - -bool8 sub_8090D64 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090D90 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[5]; - u8 direction; - - memcpy(directions, gUnknown_0850D8AC, sizeof gUnknown_0850D8AC); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); - if (direction == 0) - { - direction = directions[mapObject->mapobj_unk_18]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 0; - return TRUE; -} - -field_object_step(LookAroundClockwise, gUnknown_0850D8B4) - -bool8 sub_8090E18 (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090E44 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - SetFieldObjectStepTimer(sprite, 48); - sprite->data[1] = 2; - } - return FALSE; -} - -bool8 sub_8090E68 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) - { - sprite->data[1] = 3; - } - return FALSE; -} - -bool8 sub_8090E94 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 directions[5]; - u8 direction; - - memcpy(directions, gUnknown_0850D8C4, sizeof gUnknown_0850D8C4); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); - if (direction == 0) - { - direction = directions[mapObject->mapobj_unk_18]; - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 0; - return TRUE; -} - -field_object_step(AlternatelyGoInOppositeDirections, gUnknown_0850D8CC) - -bool8 sub_8090F1C (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 direction; - - direction = gUnknown_085055CD[mapObject->animPattern]; - if (mapObject->mapobj_unk_21) - { - direction = GetOppositeDirection(direction); - } - FieldObjectSetDirection(mapObject, direction); - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8090F68 (struct MapObject *mapObject, struct Sprite *sprite) -{ - bool8 blockingWay; - u8 animId; - - if (mapObject->mapobj_unk_21 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) - { - mapObject->mapobj_unk_21 = 0; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - } - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - if (blockingWay == TRUE) - { - mapObject->mapobj_unk_21 ++; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); - } - if (blockingWay) - { - animId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); - } - FieldObjectSetRegularAnim(mapObject, sprite, animId); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 3; - return TRUE; -} - -bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 1; - } - return FALSE; -} - -bool8 sub_8091048(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - sprite->data[1] = 1; - return TRUE; -} - -bool8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *route) -{ - u8 blockingWay; - u8 animId; - - if (mapObject->mapobj_unk_21 == 3 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) - { - mapObject->mapobj_unk_21 = 0; - } - FieldObjectSetDirection(mapObject, route[mapObject->mapobj_unk_21]); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); - if (blockingWay == TRUE) - { - mapObject->mapobj_unk_21 ++; - FieldObjectSetDirection(mapObject, route[mapObject->mapobj_unk_21]); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); - } - if (blockingWay) - { - animId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); - } - FieldObjectSetRegularAnim(mapObject, sprite, animId); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 1; - } - return FALSE; -} - -field_object_path( 1, gUnknown_0850D8DC, sub_809117C, gUnknown_0850D8E8, 2, x) -field_object_path( 2, gUnknown_0850D8EC, sub_8091208, gUnknown_0850D8F8, 1, x) -field_object_path( 3, gUnknown_0850D8FC, sub_8091294, gUnknown_0850D908, 1, y) -field_object_path( 4, gUnknown_0850D90C, sub_8091320, gUnknown_0850D918, 2, y) -field_object_path( 5, gUnknown_0850D91C, sub_80913AC, gUnknown_0850D928, 2, x) -field_object_path( 6, gUnknown_0850D92C, sub_8091438, gUnknown_0850D938, 1, x) -field_object_path( 7, gUnknown_0850D93C, sub_80914C4, gUnknown_0850D710, 1, y) -field_object_path( 8, gUnknown_0850D948, sub_8091550, gUnknown_0850D954, 2, y) -field_object_path( 9, gUnknown_0850D958, sub_80915DC, gUnknown_0850D964, 2, y) -field_object_path(10, gUnknown_0850D968, sub_8091668, gUnknown_0850D974, 1, y) -field_object_path(11, gUnknown_0850D978, sub_80916F4, gUnknown_0850D984, 1, x) -field_object_path(12, gUnknown_0850D988, sub_8091780, gUnknown_0850D994, 2, x) -field_object_path(13, gUnknown_0850D998, sub_809180C, gUnknown_0850D9A4, 2, y) -field_object_path(14, gUnknown_0850D9A8, sub_8091898, gUnknown_0850D9B4, 1, y) -field_object_path(15, gUnknown_0850D9B8, sub_8091924, gUnknown_0850D9C4, 1, x) -field_object_path(16, gUnknown_0850D9C8, sub_80919B0, gUnknown_0850D9D4, 2, x) -field_object_path(17, gUnknown_0850D9D8, sub_8091A3C, gUnknown_0850D9E4, 2, y) -field_object_path(18, gUnknown_0850D9E8, sub_8091AC8, gUnknown_0850D9F4, 2, y) -field_object_path(19, gUnknown_0850D9F8, sub_8091B54, gUnknown_0850DA04, 2, x) -field_object_path(20, gUnknown_0850DA08, sub_8091BE0, gUnknown_0850DA14, 2, x) -field_object_path(21, gUnknown_0850DA18, sub_8091C6C, gUnknown_0850DA24, 2, y) -field_object_path(22, gUnknown_0850DA28, sub_8091CF8, gUnknown_0850DA34, 2, y) -field_object_path(23, gUnknown_0850DA38, sub_8091D84, gUnknown_0850DA44, 2, x) -field_object_path(24, gUnknown_0850DA48, sub_8091E10, gUnknown_0850DA54, 2, x) - -field_object_step(CopyPlayer1, gUnknown_0850DA58) - -bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - if (mapObject->mapobj_unk_21 == 0) - { - mapObject->mapobj_unk_21 = player_get_direction_lower_nybble(); - } - sprite->data[1] = 1; - return TRUE; -} - -bool8 sub_8091EC0(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) - { - return FALSE; - } - return gUnknown_0850DA64[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), NULL); -} - -bool8 sub_8091F20(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - mapObject->mapobj_bit_1 = FALSE; - sprite->data[1] = 1; - } - return FALSE; -} - -bool8 sub_8091F48(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - return FALSE; -} - -bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, playerDirection))); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - s16 x; - s16 y; - - direction = playerDirection; - if (FieldObjectIsFarawayIslandMew(mapObject)) - { - direction = sub_81D427C(); - if (direction == 0) - { - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; - } - } - else - { - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - } - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) - { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - } - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - s16 x; - s16 y; - - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed1AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) - { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - } - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - s16 x; - s16 y; - - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed3AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) - { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - } - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - s16 x; - s16 y; - - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_8093438(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) - { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - } - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction)); - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - s16 x; - s16 y; - - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_8093514(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) - { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - } - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) -{ - u32 direction; - s16 x; - s16 y; - - direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - x = mapObject->coords2.x; - y = mapObject->coords2.y; - sub_8092F88(direction, &x, &y, 2, 2); - FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) - { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - } - mapObject->mapobj_bit_1 = TRUE; - sprite->data[1] = 2; - return TRUE; -} - -field_object_step(CopyPlayer2, gUnknown_0850DA90) - -bool8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) - { - return FALSE; - } - return gUnknown_0850DA64[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass); -} - -bool8 sub_80925AC(struct MapObject *, struct Sprite *); - -void FieldObjectCB_TreeDisguise(struct Sprite *sprite) -{ - struct MapObject *mapObject; - - mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) - { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); - mapObject->mapobj_unk_21 = 1; - sprite->data[7] ++; - } - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); -} - -bool8 sub_80925AC(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - return FALSE; -} - -void FieldObjectCB_MountainDisguise(struct Sprite *sprite) -{ - struct MapObject *mapObject; - - mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) - { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); - mapObject->mapobj_unk_21 = 1; - sprite->data[7] ++; - } - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); -} - -extern bool8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *); -bool8 sub_809268C(struct MapObject *, struct Sprite *); - -void FieldObjectCB_Hidden1(struct Sprite *sprite) -{ - if (!sprite->data[7]) - { - gMapObjects[sprite->data[0]].mapobj_bit_26 = TRUE; - sprite->subspriteMode = 2; - sprite->oam.priority = 3; - sprite->data[7] ++; - } - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_809268C); -} - -bool8 sub_809268C(struct MapObject *mapObject, struct Sprite *sprite) -{ - return gUnknown_0850DA9C[sprite->data[1]](mapObject, sprite); -} - -bool8 sub_80926AC (struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - return FALSE; -} -bool8 sub_80926B8 (struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - sprite->data[1] = 0; - } - return FALSE; -} - -field_object_step(WalkInPlace1, gUnknown_0850DAA0) - -bool8 sub_8092718(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(WalkInPlace4, gUnknown_0850DAA8) - -bool8 sub_8092788(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(WalkInPlace2, gUnknown_0850DAB0) - -bool8 sub_80927F8(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(WalkInPlace3, gUnknown_0850DAB8) - -bool8 sub_8092868(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); - sprite->data[1] = 1; - return TRUE; -} - -field_object_step(Hidden2, gUnknown_0850DAC0) - -bool8 sub_80928D8(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - mapObject->mapobj_bit_13 = TRUE; - sprite->data[1] = 1; - return TRUE; -} -bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (FieldObjectExecRegularAnim(mapObject, sprite)) - { - sprite->data[1] = 2; - return TRUE; - } - return FALSE; -} - -bool8 sub_809292C(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_1 = FALSE; - return FALSE; -} - -void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_1 = FALSE; - mapObject->mapobj_bit_6 = FALSE; - mapObject->mapobj_bit_7 = FALSE; - mapObject->mapobj_unk_1C = 0xFF; - sprite->data[1] = 0; -} - -#define dirn2anim(name, table)\ -extern const u8 table[4];\ -u8 name(u8 direction)\ -{\ - return table[direction];\ -} - -dirn2anim(FieldObjectDirectionToImageAnimId, gUnknown_0850DACC) -dirn2anim(get_go_image_anim_num, gUnknown_0850DAD5) -dirn2anim(get_go_fast_image_anim_num, gUnknown_0850DADE) -dirn2anim(get_go_faster_image_anim_num, gUnknown_0850DAE7) -dirn2anim(get_go_fastest_image_anim_num, gUnknown_0850DAF0) -dirn2anim(sub_80929AC, gUnknown_0850DAF9) -dirn2anim(sub_80929BC, gUnknown_0850DB02) -dirn2anim(sub_80929CC, gUnknown_0850DB0B) -dirn2anim(sub_80929DC, gUnknown_0850DB14) -dirn2anim(sub_80929EC, gUnknown_0850DB1D) -dirn2anim(sub_80929FC, gUnknown_0850DB26) -dirn2anim(sub_8092A0C, gUnknown_0850DB2F) -dirn2anim(sub_8092A1C, gUnknown_0850DB38) -dirn2anim(sub_8092A2C, gUnknown_0850DB41) -dirn2anim(get_run_image_anim_num, gUnknown_0850DB4A) - -// file boundary? - -struct UnkStruct_085094AC { - const union AnimCmd *const *anims; - u8 animPos[4]; -}; - -extern const struct UnkStruct_085094AC gUnknown_085094AC[]; - -static const struct UnkStruct_085094AC *sub_8092A4C(const union AnimCmd *const *anims) -{ - const struct UnkStruct_085094AC *retval; - - for (retval = gUnknown_085094AC; retval->anims != NULL; retval ++) - { - if (retval->anims == anims) - { - return retval; - } - } - return NULL; -} - -void npc_apply_anim_looping(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) -{ - const struct UnkStruct_085094AC *unk85094AC; - - if (!mapObject->mapobj_bit_12) - { - sprite->animNum = animNum; - unk85094AC = sub_8092A4C(sprite->anims); - if (unk85094AC != NULL) - { - if (sprite->animCmdIndex == unk85094AC->animPos[0]) - { - sprite->animCmdIndex = unk85094AC->animPos[3]; - } - else if (sprite->animCmdIndex == unk85094AC->animPos[1]) - { - sprite->animCmdIndex = unk85094AC->animPos[2]; - } - } - SeekSpriteAnim(sprite, sprite->animCmdIndex); - } -} - -void obj_npc_animation_step(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) -{ - const struct UnkStruct_085094AC *unk85094AC; - - if (!mapObject->mapobj_bit_12) - { - u8 animPos; - - sprite->animNum = animNum; - unk85094AC = sub_8092A4C(sprite->anims); - if (unk85094AC != NULL) - { - animPos = unk85094AC->animPos[1]; - if (sprite->animCmdIndex <= unk85094AC->animPos[0]) - { - animPos = unk85094AC->animPos[0]; - } - SeekSpriteAnim(sprite, animPos); - } - } -} - -// file boundary? - -u8 sub_8092AF8(s16 x1, s16 y1, s16 x2, s16 y2) -{ - if (x1 > x2) - { - return DIR_WEST; - } - if (x1 < x2) - { - return DIR_EAST; - } - if (y1 > y2) - { - return DIR_NORTH; - } - return DIR_SOUTH; -} - -void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern) -{ - mapObject->animPattern = animPattern; - mapObject->mapobj_unk_21 = 0; - mapObject->animId = 0; - gSprites[mapObject->spriteId].callback = gUnknown_08505438[animPattern]; - gSprites[mapObject->spriteId].data[1] = 0; -} - -dirn2anim(npc_running_behaviour_by_direction, gUnknown_0850DB53) - -u8 npc_block_way__next_tile(struct MapObject *mapObject, u8 direction) -{ - s16 x; - s16 y; - - x = mapObject->coords2.x; - y = mapObject->coords2.y; - MoveCoords(direction, &x, &y); - return npc_block_way(mapObject, x, y, direction); -} - -u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) -{ - u8 direction; - - direction = dirn; - if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) - { - return 1; - } - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) - { - return 2; - } - if (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction)) - { - return 2; - } - if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) - { - return 3; - } - if (CheckForCollisionBetweenFieldObjects(mapObject, x, y)) - { - return 4; - } - return 0; -} - -u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction) -{ - u8 retval; - - retval = 0x00; - if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) - { - retval |= 1; - } - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction))) - { - retval |= 2; - } - if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) - { - retval |= 4; - } - if (CheckForCollisionBetweenFieldObjects(mapObject, x, y)) - { - retval |= 8; - } - return retval; -} - -static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y) -{ - s16 left; - s16 right; - s16 top; - s16 bottom; - - if (mapObject->range.as_nybbles.x != 0) - { - left = mapObject->coords1.x - mapObject->range.as_nybbles.x; - right = mapObject->coords1.x + mapObject->range.as_nybbles.x; - if (left > x || right < x) - { - return TRUE; - } - } - if (mapObject->range.as_nybbles.y != 0) - { - top = mapObject->coords1.y - mapObject->range.as_nybbles.y; - bottom = mapObject->coords1.y + mapObject->range.as_nybbles.y; - if (top > y || bottom < y) - { - return TRUE; - } - } - return FALSE; -} - -static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) -{ - if (gUnknown_0850DB5C[direction - 1](mapObject->mapobj_unk_1E) || gUnknown_0850DB6C[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) - { - return TRUE; - } - return FALSE; -} - -static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *mapObject, s16 x, s16 y) -{ - u8 i; - struct MapObject *curObject; - - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) - { - curObject = &gMapObjects[i]; - if (curObject->active && curObject != mapObject) - { - if ((curObject->coords2.x == x && curObject->coords2.y == y) || (curObject->coords3.x == x && curObject->coords3.y == y)) - { - if (AreZCoordsCompatible(mapObject->mapobj_unk_0B_0, curObject->mapobj_unk_0B_0)) - { - return TRUE; - } - } - } - } - return FALSE; -} - -bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data[7] & 0x02) - { - return TRUE; - } - return FALSE; -} - -void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) - { - gSprites[gMapObjects[mapObjectId].spriteId].data[7] |= 0x04; - } -} - -void MoveCoords(u8 direction, s16 *x, s16 *y) -{ - *x += gUnknown_0850DB7C[direction].x; - *y += gUnknown_0850DB7C[direction].y; -} - -void sub_8092F60(u8 direction, s16 *x, s16 *y) -{ - *x += gUnknown_0850DB7C[direction].x << 4; - *y += gUnknown_0850DB7C[direction].y << 4; -} - -void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy) -{ - u8 direction; - s16 dx_2; - s16 dy_2; - s16 cur_x; - s16 cur_y; - - direction = dirn; - dx_2 = dx; - dy_2 = dy; - cur_x = gUnknown_0850DB7C[direction].x; - if (cur_x > 0) - { - *x += dx_2; - } - if (cur_x < 0) - { - *x -= dx_2; - } - cur_y = gUnknown_0850DB7C[direction].y; - if (cur_y > 0) - { - *y += dy_2; - } - if (cur_y < 0) - { - *y -= dy_2; - } -} - -void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y) -{ - *dest_x = (x - gSaveBlock1Ptr->pos.x) << 4; - *dest_y = (y - gSaveBlock1Ptr->pos.y) << 4; - *dest_x -= gUnknown_03005DEC; - *dest_y -= gUnknown_03005DE8; -} - -void sub_8093038(s16 x, s16 y, s16 *dest_x, s16 *dest_y) -{ - s16 dx; - s16 dy; - - dx = -gUnknown_03005DEC - gUnknown_03005DD0.x; - dy = -gUnknown_03005DE8 - gUnknown_03005DD0.y; - if (gUnknown_03005DD0.x > 0) - { - dx += 0x10; - } - if (gUnknown_03005DD0.x < 0) - { - dx -= 0x10; - } - if (gUnknown_03005DD0.y > 0) - { - dy += 0x10; - } - if (gUnknown_03005DD0.y < 0) - { - dy -= 0x10; - } - *dest_x = ((x - gSaveBlock1Ptr->pos.x) << 4) + dx; - *dest_y = ((y - gSaveBlock1Ptr->pos.y) << 4) + dy; -} - -void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy) -{ - sub_8093038(*x, *y, x, y); - *x += dx; - *y += dy; -} - -void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) -{ - *x = 0; - *y = 0; - if (gUnknown_03005DD0.x > 0) - { - (*x) ++; - } - if (gUnknown_03005DD0.x < 0) - { - (*x) --; - } - if (gUnknown_03005DD0.y > 0) - { - (*y) ++; - } - if (gUnknown_03005DD0.y < 0) - { - (*y) --; - } -} - -void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 dirn, s16 *x, s16 *y) -{ - u8 direction; - - direction = dirn; - *x = mapObject->coords2.x; - *y = mapObject->coords2.y; - MoveCoords(direction, x, y); -} - -// file boundary? - -bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) -{ - if (mapObject->mapobj_bit_1 || mapObject->mapobj_bit_6) - { - return TRUE; - } - return FALSE; -} - -bool8 FieldObjectIsSpecialAnimActive(struct MapObject *mapObject) -{ - if (mapObject->mapobj_bit_6 && mapObject->mapobj_unk_1C != 0xFF) - { - return TRUE; - } - return FALSE; -} - -bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) -{ - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) - { - return TRUE; - } - npc_sync_anim_pause_bits(mapObject); - mapObject->mapobj_unk_1C = specialAnimId; - mapObject->mapobj_bit_6 = TRUE; - mapObject->mapobj_bit_7 = FALSE; - gSprites[mapObject->spriteId].data[2] = 0; - return FALSE; -} - -void FieldObjectForceSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) -{ - FieldObjectClearAnimIfSpecialAnimActive(mapObject); - FieldObjectSetSpecialAnim(mapObject, specialAnimId); -} - -void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) -{ - if (mapObject->mapobj_bit_6) - { - FieldObjectClearAnim(mapObject); - } -} - -void FieldObjectClearAnim(struct MapObject *mapObject) -{ - mapObject->mapobj_unk_1C = 0xFF; - mapObject->mapobj_bit_6 = FALSE; - mapObject->mapobj_bit_7 = FALSE; - gSprites[mapObject->spriteId].data[1] = 0; - gSprites[mapObject->spriteId].data[2] = 0; -} - -u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) -{ - if (mapObject->mapobj_bit_6) - { - return mapObject->mapobj_bit_7; - } - return 0x10; -} - -u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *mapObject) -{ - u8 specialAnimState; - - specialAnimState = FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject); - if (specialAnimState != 0 && specialAnimState != 16) - { - FieldObjectClearAnimIfSpecialAnimActive(mapObject); - } - return specialAnimState; -} - -u8 FieldObjectGetSpecialAnim(struct MapObject *mapObject) -{ - if (mapObject->mapobj_bit_6) - { - return mapObject->mapobj_unk_1C; - } - return 0xFF; -} - -void FieldObjectStep(struct MapObject *mapObject, struct Sprite *sprite, bool8 (*callback)(struct MapObject *, struct Sprite *)) -{ - DoGroundEffects_OnSpawn(mapObject, sprite); - sub_80964E8(mapObject, sprite); - if (FieldObjectIsSpecialAnimActive(mapObject)) - { - FieldObjectExecSpecialAnim(mapObject, sprite); - } - else if (!mapObject->mapobj_bit_8) - { - while (callback(mapObject, sprite)); - } - DoGroundEffects_OnBeginStep(mapObject, sprite); - DoGroundEffects_OnFinishStep(mapObject, sprite); - npc_obj_transfer_image_anim_pause_flag(mapObject, sprite); - sub_8096518(mapObject, sprite); - FieldObjectUpdateSubpriority(mapObject, sprite); -} - -#define dirn2anim_2(name, table) \ -extern const u8 table[5]; \ -u8 name(u32 direction) \ -{ \ - u8 dirn2; \ - u8 animIds[5]; \ - dirn2 = direction; \ - memcpy(animIds, table, 5); \ - if (dirn2 > DIR_EAST) \ - { \ - dirn2 = 0; \ - } \ - return animIds[dirn2]; \ -} - -dirn2anim_2(GetFaceDirectionAnimId, gUnknown_0850DBA0); -dirn2anim_2(GetSimpleGoAnimId, gUnknown_0850DBA5); -dirn2anim_2(GetGoSpeed0AnimId, gUnknown_0850DBAA); -dirn2anim_2(GetGoSpeed1AnimId, gUnknown_0850DBAF); -dirn2anim_2(GetGoSpeed2AnimId, gUnknown_0850DBB4); -dirn2anim_2(GetGoSpeed3AnimId, gUnknown_0850DBB9); -dirn2anim_2(sub_8093438, gUnknown_0850DBBE); -dirn2anim_2(GetRunAnimId, gUnknown_0850DBC3); -dirn2anim_2(GetJumpLedgeAnimId, gUnknown_0850DBC8); -dirn2anim_2(sub_80934BC, gUnknown_0850DBCD); -dirn2anim_2(sub_80934E8, gUnknown_0850DBD2); -dirn2anim_2(sub_8093514, gUnknown_0850DBD7); -dirn2anim_2(sub_8093540, gUnknown_0850DBDC); -dirn2anim_2(GetStepInPlaceDelay32AnimId, gUnknown_0850DBE1); -dirn2anim_2(GetStepInPlaceDelay16AnimId, gUnknown_0850DBE6); -dirn2anim_2(GetStepInPlaceDelay8AnimId, gUnknown_0850DBEB); -dirn2anim_2(GetStepInPlaceDelay4AnimId, gUnknown_0850DBF0); - -bool8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) -{ - return FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); -} - -dirn2anim_2(sub_8093648, gUnknown_0850DBF5); -dirn2anim_2(sub_8093674, gUnknown_0850DBFA); -dirn2anim_2(sub_80936A0, gUnknown_0850DBFF); -dirn2anim_2(sub_80936CC, gUnknown_0850DC04); -dirn2anim_2(sub_80936F8, gUnknown_0850DC09); -dirn2anim_2(sub_8093724, gUnknown_0850DC0E); -dirn2anim_2(sub_8093750, gUnknown_0850DC13); -dirn2anim_2(sub_809377C, gUnknown_0850DC18); -dirn2anim_2(sub_80937A8, gUnknown_0850DC1D); -dirn2anim_2(d2s_08064034, gUnknown_0850DC22); - -extern const u8 gUnknown_0850DC27[8]; - -u8 GetOppositeDirection(u8 direction) -{ - u8 directions[sizeof gUnknown_0850DC27]; - - memcpy(directions, gUnknown_0850DC27, sizeof gUnknown_0850DC27); - if (direction < 1 || direction > (sizeof gUnknown_0850DC27)) - { - return direction; - } - return directions[direction - 1]; -} - -static u32 zffu_offset_calc(u8 a0, u8 a1) -{ - return gUnknown_0850DC2F[a0 - 1][a1 - 1]; -} - -static u32 state_to_direction(u8 a0, u32 a1, u32 a2) -{ - u32 zffuOffset; - u8 a1_2; - u8 a2_2; - - a1_2 = a1; - a2_2 = a2; - if (a1_2 == 0 || a2_2 == 0 || a1_2 > DIR_EAST || a2_2 > DIR_EAST) - { - return 0; - } - zffuOffset = zffu_offset_calc(a1_2, a2); - return gUnknown_0850DC3F[a0 - 1][zffuOffset - 1]; -} - -static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) - { - mapObject->mapobj_bit_7 = TRUE; - } -} - -bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) - { - mapObject->mapobj_unk_1C = 0xFF; - sprite->data[2] = 0; - return TRUE; - } - return FALSE; -} - -void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) -{ - mapObject->mapobj_unk_1C = animId; - sprite->data[2] = 0; -} - -// file boundary? - -void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) -{ - FieldObjectSetDirection(mapObject, direction); - npc_coords_shift_still(mapObject); - obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); - sprite->animPaused = TRUE; - sprite->data[2] = 1; -} - -bool8 sub_8093950(struct MapObject *mapObject, struct Sprite *sprite) -{ - an_look_any(mapObject, sprite, DIR_SOUTH); - return TRUE; -} - -bool8 sub_8093960(struct MapObject *mapObject, struct Sprite *sprite) -{ - an_look_any(mapObject, sprite, DIR_NORTH); - return TRUE; -} - -bool8 sub_8093970(struct MapObject *mapObject, struct Sprite *sprite) -{ - an_look_any(mapObject, sprite, DIR_WEST); - return TRUE; -} - -bool8 sub_8093980(struct MapObject *mapObject, struct Sprite *sprite) -{ - an_look_any(mapObject, sprite, DIR_EAST); - return TRUE; -} - -void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) -{ - s16 x; - s16 y; - - x = mapObject->coords2.x; - y = mapObject->coords2.y; - FieldObjectSetDirection(mapObject, direction); - MoveCoords(direction, &x, &y); - npc_coords_shift(mapObject, x, y); - oamt_npc_ministep_reset(sprite, direction, speed); - sprite->animPaused = FALSE; - if (gUnknown_020375B8 != NULL && sub_8097F78(mapObject) != 0x10) - { - sprite->animPaused = TRUE; - } - mapObject->mapobj_bit_2 = TRUE; - sprite->data[2] = 1; -} - -void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) -{ - u8 (*functions[ARRAY_COUNT(gUnknown_0850DEE8)])(u8); - - memcpy(functions, gUnknown_0850DEE8, sizeof gUnknown_0850DEE8); - npc_apply_direction(mapObject, sprite, direction, speed); - npc_apply_anim_looping(mapObject, sprite, functions[speed](mapObject->mapobj_unk_18)); -} - -void do_run_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) -{ - npc_apply_direction(mapObject, sprite, direction, 1); - npc_apply_anim_looping(mapObject, sprite, get_run_image_anim_num(mapObject->mapobj_unk_18)); -} - -bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (obj_npc_ministep(sprite)) - { - npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; - sprite->animPaused = TRUE; - return TRUE; - } - return FALSE; -} - -void sub_8093AF0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) -{ - s16 x; - s16 y; - - x = mapObject->coords2.x; - y = mapObject->coords2.y; - FieldObjectSetDirection(mapObject, direction); - MoveCoords(direction, &x, &y); - npc_coords_shift(mapObject, x, y); - sub_80976DC(sprite, direction); - sprite->animPaused = FALSE; - mapObject->mapobj_bit_2 = TRUE; - sprite->data[2] = 1; -} - -void sub_8093B60(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) -{ - sub_8093AF0(mapObject, sprite, direction); - npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); -} - -bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_80976EC(sprite)) - { - npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; - sprite->animPaused = TRUE; - return TRUE; - } - return FALSE; -} - -#define an_walk_any_2_macro(name, fn1, fn2, ...) \ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - fn1(mapObject, sprite, __VA_ARGS__);\ - return name##_2(mapObject, sprite);\ -}\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - if (fn2(mapObject, sprite))\ - {\ - sprite->data[2] = 2;\ - return TRUE;\ - }\ - return FALSE;\ -} - -an_walk_any_2_macro(sub_8093BC4, sub_8093B60, an_walk_any_2, 7) -an_walk_any_2_macro(sub_8093C04, sub_8093B60, an_walk_any_2, 8) -an_walk_any_2_macro(sub_8093C44, sub_8093B60, an_walk_any_2, 5) -an_walk_any_2_macro(sub_8093C84, sub_8093B60, an_walk_any_2, 6) -an_walk_any_2_macro(sub_8093CC4, sub_8093B60, an_walk_any_2, 1) -an_walk_any_2_macro(sub_8093D04, sub_8093B60, an_walk_any_2, 2) -an_walk_any_2_macro(sub_8093D44, sub_8093B60, an_walk_any_2, 3) -an_walk_any_2_macro(sub_8093D84, sub_8093B60, an_walk_any_2, 4) -an_walk_any_2_macro(sub_8093DC4, do_go_anim, npc_obj_ministep_stop_on_arrival, 7, 0) -an_walk_any_2_macro(sub_8093E04, do_go_anim, npc_obj_ministep_stop_on_arrival, 8, 0) -an_walk_any_2_macro(sub_8093E44, do_go_anim, npc_obj_ministep_stop_on_arrival, 5, 0) -an_walk_any_2_macro(sub_8093E84, do_go_anim, npc_obj_ministep_stop_on_arrival, 6, 0) -an_walk_any_2_macro(sub_8093EC4, do_go_anim, npc_obj_ministep_stop_on_arrival, 1, 0) -an_walk_any_2_macro(sub_8093F04, do_go_anim, npc_obj_ministep_stop_on_arrival, 2, 0) -an_walk_any_2_macro(sub_8093F44, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 0) -an_walk_any_2_macro(sub_8093F84, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 0) - -void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) -{ - s16 displacements[ARRAY_COUNT(gUnknown_0850DFBC)]; - s16 x; - s16 y; - - memcpy(displacements, gUnknown_0850DFBC, sizeof gUnknown_0850DFBC); - x = 0; - y = 0; - FieldObjectSetDirection(mapObject, direction); - sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]); - npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); - sub_809783C(sprite, direction, speed, a5); - sprite->data[2] = 1; - sprite->animPaused = 0; - mapObject->mapobj_bit_2 = 1; - mapObject->mapobj_bit_4 = 1; -} - -void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) -{ - sub_8093FC4(mapObject, sprite, direction, speed, a4); - npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); - DoShadowFieldEffect(mapObject); -} - -u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(struct Sprite *)) -{ - s16 displacements[ARRAY_COUNT(gUnknown_0850DFC2)]; - s16 x; - s16 y; - u8 result; - - memcpy(displacements, gUnknown_0850DFC2, sizeof gUnknown_0850DFC2); - result = callback(sprite); - if (result == 1 && displacements[sprite->data[4]] != 0) - { - x = 0; - y = 0; - sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); - npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); - mapObject->mapobj_bit_2 = TRUE; - mapObject->mapobj_bit_4 = TRUE; - } - else if (result == 0xFF) - { - npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; - mapObject->mapobj_bit_5 = TRUE; - sprite->animPaused = TRUE; - } - return result; -} - -u8 sub_8094188(struct MapObject *mapObject, struct Sprite *sprite) -{ - return sub_80940C4(mapObject, sprite, sub_809785C); -} - -u8 sub_809419C(struct MapObject *mapObject, struct Sprite *sprite) -{ - return sub_80940C4(mapObject, sprite, sub_80978E4); -} - -bool8 sub_80941B0(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_8094188(mapObject, sprite) == 0xFF) - { - return TRUE; - } - return FALSE; -} - -bool8 sub_80941C8(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_809419C(mapObject, sprite) == 0xFF) - { - return TRUE; - } - return FALSE; -} - -bool8 sub_80941E0(struct MapObject *mapObject, struct Sprite *sprite) -{ - switch (sub_8094188(mapObject, sprite)) - { - case 255: - return TRUE; - case 1: - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); - default: - return FALSE; - } -} - -#define maybe_shadow_1_macro(name, fn1, fn2, ...) \ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - fn1(mapObject, sprite, __VA_ARGS__);\ - return name##_2(mapObject, sprite);\ -}\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - if (fn2(mapObject, sprite))\ - {\ - mapObject->mapobj_bit_22 = FALSE;\ - sprite->data[2] = 2;\ - return TRUE;\ - }\ - return FALSE;\ -} - -maybe_shadow_1_macro(sub_8094230, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 2, 0) -maybe_shadow_1_macro(sub_8094288, maybe_shadow_1, sub_80941B0, DIR_NORTH, 2, 0) -maybe_shadow_1_macro(sub_80942E0, maybe_shadow_1, sub_80941B0, DIR_WEST, 2, 0) -maybe_shadow_1_macro(sub_8094338, maybe_shadow_1, sub_80941B0, DIR_EAST, 2, 0) - -void sub_8094390(struct Sprite *sprite, u16 duration) -{ - sprite->data[2] = 1; - sprite->data[3] = duration; -} - -bool8 sub_8094398(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (-- sprite->data[3] == 0) - { - sprite->data[2] = 2; - return TRUE; - } - return FALSE; -} - -#define special_anim_with_timer(name, duration)\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - sub_8094390(sprite, duration);\ - return sub_8094398(mapObject, sprite);\ -} - -special_anim_with_timer(sub_80943B4, 1) -special_anim_with_timer(sub_80943D4, 2) -special_anim_with_timer(sub_80943F4, 4) -special_anim_with_timer(sub_8094414, 8) -special_anim_with_timer(sub_8094434, 16) - -an_walk_any_2_macro(sub_8094454, do_go_anim, npc_obj_ministep_stop_on_arrival, 1, 1) -an_walk_any_2_macro(sub_8094494, do_go_anim, npc_obj_ministep_stop_on_arrival, 2, 1) -an_walk_any_2_macro(sub_80944D4, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 1) -an_walk_any_2_macro(sub_8094514, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 1) - -void sub_8094554(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) -{ - FieldObjectSetDirection(mapObject, direction); - npc_apply_anim_looping(mapObject, sprite, animNum); - sprite->animPaused = FALSE; - sprite->data[2] = 1; - sprite->data[3] = duration; -} - -bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (-- sprite->data[3] == 0) - { - sprite->data[2] = 2; - sprite->animPaused = TRUE; - return TRUE; - } - return FALSE; -} - -bool8 sub_80945C4(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sprite->data[3] & 1) - { - sprite->animDelayCounter ++; - } - return sub_809459C(mapObject, sprite); -} - -#define special_anim_with_timer_2(name, direction, images, duration, timer) \ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - u8 animId;\ - animId = images(DIR_##direction);\ - sub_8094554(mapObject, sprite, DIR_##direction, animId, duration);\ - return timer(mapObject, sprite);\ -} - -special_anim_with_timer_2(sub_8094600, SOUTH, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_8094638, NORTH, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_8094670, WEST, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_80946A8, EAST, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_80946E0, SOUTH, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_8094718, NORTH, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_8094750, WEST, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_8094788, EAST, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_80947C0, SOUTH, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_80947F8, NORTH, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_8094830, WEST, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_8094868, EAST, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_80948A0, SOUTH, get_go_faster_image_anim_num, 4, sub_809459C) -special_anim_with_timer_2(sub_80948D8, NORTH, get_go_faster_image_anim_num, 4, sub_809459C) -special_anim_with_timer_2(sub_8094910, WEST, get_go_faster_image_anim_num, 4, sub_809459C) -special_anim_with_timer_2(sub_8094948, EAST, get_go_faster_image_anim_num, 4, sub_809459C) - -an_walk_any_2_macro(sub_8094980, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 2) -an_walk_any_2_macro(sub_80949C0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 2) -an_walk_any_2_macro(sub_8094A00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 2) -an_walk_any_2_macro(sub_8094A40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 2) -an_walk_any_2_macro(sub_8094A80, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 3) -an_walk_any_2_macro(sub_8094AC0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 3) -an_walk_any_2_macro(sub_8094B00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 3) -an_walk_any_2_macro(sub_8094B40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 3) -an_walk_any_2_macro(sub_8094B80, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 4) -an_walk_any_2_macro(sub_8094BC0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 4) -an_walk_any_2_macro(sub_8094C00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 4) -an_walk_any_2_macro(sub_8094C40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 4) -an_walk_any_2_macro(sub_8094C80, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH) -an_walk_any_2_macro(sub_8094CC0, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH) -an_walk_any_2_macro(sub_8094D00, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST) -an_walk_any_2_macro(sub_8094D40, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST) - -void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) -{ - obj_anim_image_set_and_seek(sprite, animNum, 0); - FieldObjectSetDirection(mapObject, direction); - sprite->data[2] = 1; -} - -bool8 sub_8094DAC(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->placeholder18, sprite->animNum); - return FALSE; -} - -bool8 sub_8094DC4(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_80979BC(sprite)) - { - sprite->data[2] = 2; - return TRUE; - } - return FALSE; -} - -void sub_8094DE4(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) -{ - sub_8093FC4(mapObject, sprite, direction, 1, 0); - StartSpriteAnim(sprite, sub_80929AC(direction)); -} - -#define unk_macro_8094E18(name, direction)\ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - sub_8094DE4(mapObject, sprite, direction);\ - return name##_2(mapObject, sprite);\ -}\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - if (sub_80941C8(mapObject, sprite))\ - {\ - sprite->data[2] = 2;\ - mapObject->mapobj_bit_5 = FALSE;\ - return TRUE;\ - }\ - return FALSE;\ -} - -unk_macro_8094E18(sub_8094E18, DIR_SOUTH) -unk_macro_8094E18(sub_8094E60, DIR_NORTH) -unk_macro_8094E18(sub_8094EB8, DIR_WEST) -unk_macro_8094E18(sub_8094710, DIR_EAST) - -bool8 sub_8094F38(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) - { - an_look_any(mapObject, sprite, sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y)); - } - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite) -{ - u8 mapObjectId; - - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) - { - an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y))); - } - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8094FF8(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_9 = TRUE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8095008(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_9 = FALSE; - sprite->data[2] = 1; - return TRUE; -} - -maybe_shadow_1_macro(sub_8095018, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 1, 2) -maybe_shadow_1_macro(sub_8095070, maybe_shadow_1, sub_80941B0, DIR_NORTH, 1, 2) -maybe_shadow_1_macro(sub_80950C8, maybe_shadow_1, sub_80941B0, DIR_WEST, 1, 2) -maybe_shadow_1_macro(sub_8095120, maybe_shadow_1, sub_80941B0, DIR_EAST, 1, 2) -maybe_shadow_1_macro(sub_8095178, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 0, 0) -maybe_shadow_1_macro(sub_80951D0, maybe_shadow_1, sub_80941B0, DIR_NORTH, 0, 0) -maybe_shadow_1_macro(sub_8095228, maybe_shadow_1, sub_80941B0, DIR_WEST, 0, 0) -maybe_shadow_1_macro(sub_8095280, maybe_shadow_1, sub_80941B0, DIR_EAST, 0, 0) -maybe_shadow_1_macro(sub_80952D8, maybe_shadow_1, sub_80941E0, DIR_SOUTH, 0, 2) -maybe_shadow_1_macro(sub_8095330, maybe_shadow_1, sub_80941E0, DIR_NORTH, 0, 2) -maybe_shadow_1_macro(sub_8095388, maybe_shadow_1, sub_80941E0, DIR_WEST, 0, 2) -maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2) - -bool8 sub_8095438(struct MapObject *mapObject, struct Sprite *sprite) -{ - an_look_any(mapObject, sprite, gUnknown_085055CD[mapObject->animPattern]); - return TRUE; -} - -bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite) -{ - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, 0x14); - return FALSE; -} - -bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_25 = FALSE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_25 = TRUE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_12 = TRUE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_13 = TRUE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_13 = FALSE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - sprite->data[2] = 1; - return TRUE; -} - -bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); - sprite->data[2] = 1; - return TRUE; -} - -bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) -{ - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_HEART_ICON); - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8095548(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (mapObject->animPattern == 0x3F) - { - sub_80B4578(mapObject); - return FALSE; - } - if (mapObject->animPattern != 0x39 && mapObject->animPattern != 0x3A) - { - sprite->data[2] = 2; - return TRUE; - } - sub_8155D78(mapObject); - sprite->data[2] = 1; - return sub_809558C(mapObject, sprite); -} - -bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_8155DA0(mapObject)) - { - sprite->data[2] = 2; - return TRUE; - } - return FALSE; -} - -bool8 sub_80955AC(struct MapObject *mapObject, struct Sprite *sprite) -{ - obj_anim_image_set_and_seek(sprite, 1, 0); - sprite->data[2] = 1; - return FALSE; -} - -bool8 sub_80955C8(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_80979BC(sprite)) - { - SetFieldObjectStepTimer(sprite, 32); - sprite->data[2] = 2; - } - return FALSE; -} - -bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_13 ^= TRUE; - if (RunFieldObjectStepTimer(sprite)) - { - mapObject->mapobj_bit_13 = TRUE; - sprite->data[2] = 3; - } - return FALSE; -} - -bool8 sub_8095628(struct MapObject *mapObject, struct Sprite *sprite) -{ - obj_anim_image_set_and_seek(sprite, 1, 0); - sprite->data[2] = 1; - return FALSE; -} - -bool8 sub_8095644(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_80979BC(sprite)) - { - SetFieldObjectStepTimer(sprite, 32); - sprite->data[2] = 2; - } - return FALSE; -} - -bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_13 ^= TRUE; - if (RunFieldObjectStepTimer(sprite)) - { - mapObject->mapobj_bit_13 = TRUE; - sprite->data[2] = 3; - } - return FALSE; -} - -bool8 sub_80956A4(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_26 = TRUE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_80956B4(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_26 = FALSE; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_80956C4(struct MapObject *mapObject, struct Sprite *sprite) -{ - sprite->oam.affineMode = 3; - InitSpriteAffineAnim(sprite); - sprite->affineAnimPaused = TRUE; - sprite->subspriteMode = 0; - return TRUE; -} - -bool8 sub_80956F4(struct MapObject *mapObject, struct Sprite *sprite) -{ - FreeOamMatrix(sprite->oam.matrixNum); - sprite->oam.affineMode = 0; - CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); - return TRUE; -} - -bool8 sub_8095724(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_27 = TRUE; - return TRUE; -} - -bool8 sub_8095730(struct MapObject *mapObject, struct Sprite *sprite) -{ - mapObject->mapobj_bit_27 = FALSE; - return TRUE; -} - -#define affine_an_walk_any_2_macro(name, fn, fn2, action, anim, ...)\ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - fn(mapObject, sprite, __VA_ARGS__);\ - sprite->affineAnimPaused = FALSE;\ - action(sprite, anim);\ - return name##_2(mapObject, sprite);\ -}\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - if (fn2(mapObject, sprite))\ - {\ - sprite->affineAnimPaused = TRUE;\ - sprite->data[2] = 2;\ - return TRUE;\ - }\ - return FALSE;\ -}\ - -affine_an_walk_any_2_macro(sub_8095740, sub_8093B60, an_walk_any_2, StartSpriteAffineAnimIfDifferent, 0, DIR_SOUTH) -affine_an_walk_any_2_macro(sub_80957A0, sub_8093B60, an_walk_any_2, ChangeSpriteAffineAnimIfDifferent, 1, DIR_SOUTH) -affine_an_walk_any_2_macro(sub_8095800, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 2, DIR_WEST, 1) -affine_an_walk_any_2_macro(sub_8095860, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 3, DIR_EAST, 1) - -static void sub_80958C0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) -{ - FieldObjectSetDirection(mapObject, direction); - npc_coords_shift_still(mapObject); - obj_npc_animation_step(mapObject, sprite, sub_80929FC(direction)); - sprite->animPaused = TRUE; - sprite->data[2] = 1; -} - -bool8 sub_8095900(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_80958C0(mapObject, sprite, DIR_SOUTH); - return TRUE; -} - -bool8 sub_8095910(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_80958C0(mapObject, sprite, DIR_NORTH); - return TRUE; -} - -bool8 sub_8095920(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_80958C0(mapObject, sprite, DIR_WEST); - return TRUE; -} - -bool8 sub_8095930(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_80958C0(mapObject, sprite, DIR_EAST); - return TRUE; -} - -#define set_dirn_and_anim__an_proceed(name, direction, anims)\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - npc_set_direction_and_anim__an_proceed(mapObject, sprite, direction, anims(direction));\ - return FALSE;\ -} - -set_dirn_and_anim__an_proceed(sub_8095940, DIR_SOUTH, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_8095964, DIR_NORTH, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_8095988, DIR_WEST, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_80959AC, DIR_EAST, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_80959D0, DIR_SOUTH, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_80959F4, DIR_NORTH, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_8095A18, DIR_WEST, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_8095A3C, DIR_EAST, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_8095A60, DIR_SOUTH, sub_80929EC) -set_dirn_and_anim__an_proceed(sub_8095A84, DIR_NORTH, sub_80929EC) -set_dirn_and_anim__an_proceed(sub_8095AA8, DIR_WEST, sub_80929EC) -set_dirn_and_anim__an_proceed(sub_8095ACC, DIR_EAST, sub_80929EC) - -void sub_8095AF0(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_8097750(sprite); - sprite->animPaused = FALSE; -} - -bool8 sub_8095B0C(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_8097758(sprite)) - { - npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; - sprite->animPaused = TRUE; - return TRUE; - } - return FALSE; -} - -bool8 sub_8095B44(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_8095AF0(mapObject, sprite); - sprite->data[2] = 1; - return sub_8095B64(mapObject, sprite); -} - -bool8 sub_8095B64(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sub_8095B0C(mapObject, sprite)) - { - sprite->data[2] = 2; - return TRUE; - } - return FALSE; -} - -void sub_8095B84(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) -{ - sub_8093FC4(mapObject, sprite, direction, speed, a4); - StartSpriteAnimIfDifferent(sprite, sub_80929BC(direction)); - DoShadowFieldEffect(mapObject); -} - -maybe_shadow_1_macro(sub_8095BC8, sub_8095B84, sub_80941B0, DIR_SOUTH, 0, 1) -maybe_shadow_1_macro(sub_8095C20, sub_8095B84, sub_80941B0, DIR_NORTH, 0, 1) -maybe_shadow_1_macro(sub_8095C78, sub_8095B84, sub_80941B0, DIR_WEST, 0, 1) -maybe_shadow_1_macro(sub_8095CD0, sub_8095B84, sub_80941B0, DIR_EAST, 0, 1) -maybe_shadow_1_macro(sub_8095D28, sub_8095B84, sub_80941B0, DIR_SOUTH, 1, 1) -maybe_shadow_1_macro(sub_8095D80, sub_8095B84, sub_80941B0, DIR_NORTH, 1, 1) -maybe_shadow_1_macro(sub_8095DD8, sub_8095B84, sub_80941B0, DIR_WEST, 1, 1) -maybe_shadow_1_macro(sub_8095E30, sub_8095B84, sub_80941B0, DIR_EAST, 1, 1) -maybe_shadow_1_macro(sub_8095E88, sub_8095B84, sub_80941B0, DIR_SOUTH, 2, 0) -maybe_shadow_1_macro(sub_8095EE0, sub_8095B84, sub_80941B0, DIR_NORTH, 2, 0) -maybe_shadow_1_macro(sub_8095F38, sub_8095B84, sub_80941B0, DIR_WEST, 2, 0) -maybe_shadow_1_macro(sub_8095F90, sub_8095B84, sub_80941B0, DIR_EAST, 2, 0) - -special_anim_with_timer_2(sub_8095FE8, SOUTH, sub_80929FC, 8, sub_809459C) -special_anim_with_timer_2(sub_8096020, NORTH, sub_80929FC, 8, sub_809459C) -special_anim_with_timer_2(sub_8096058, WEST, sub_80929FC, 8, sub_809459C) -special_anim_with_timer_2(sub_8096090, EAST, sub_80929FC, 8, sub_809459C) - -void sub_80960C8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) -{ - npc_apply_direction(mapObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929BC(mapObject->mapobj_unk_18)); - SeekSpriteAnim(sprite, 0); -} - -an_walk_any_2_macro(sub_8096100, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) -an_walk_any_2_macro(sub_8096140, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) -an_walk_any_2_macro(sub_8096180, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) -an_walk_any_2_macro(sub_80961C0, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) - -void sub_8096200(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) -{ - npc_apply_direction(mapObject, sprite, direction, speed); - npc_apply_anim_looping(mapObject, sprite, sub_80929FC(mapObject->mapobj_unk_18)); -} - -an_walk_any_2_macro(sub_8096230, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) -an_walk_any_2_macro(sub_8096270, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) -an_walk_any_2_macro(sub_80962B0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) -an_walk_any_2_macro(sub_80962F0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) - -void sub_8096330(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) -{ - npc_apply_direction(mapObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929DC(mapObject->mapobj_unk_18)); - SeekSpriteAnim(sprite, 0); -} -an_walk_any_2_macro(sub_8096368, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) -an_walk_any_2_macro(sub_80963A8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) -an_walk_any_2_macro(sub_80963E8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) -an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) - -bool8 sub_8096468(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_8097FA4(mapObject); - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_809647C(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_8098044(mapObject->mapobj_unk_1B); - sprite->pos2.y = 0; - sprite->data[2] = 1; - return TRUE; -} - -bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (sprite->pos2.y == 0) - { - sub_8098044(mapObject->mapobj_unk_1B); - sprite->data[2] = 1; - return TRUE; - } - return FALSE; -} - -bool8 sub_80964B8(struct MapObject *mapObject, struct Sprite *sprite) -{ - return TRUE; -} - -bool8 sub_80964BC(struct MapObject *mapObject, struct Sprite *sprite) -{ - sprite->animPaused = TRUE; - return TRUE; -} - -void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (mapObject->mapobj_bit_10) - { - sprite->animPaused = TRUE; - } -} - -void sub_80964E8(struct MapObject *mapObject, struct Sprite *sprite) -{ - if (mapObject->mapobj_bit_11) - { - sprite->animPaused = FALSE; - mapObject->mapobj_bit_10 = FALSE; - mapObject->mapobj_bit_11 = FALSE; - } -} - -void sub_8096518(struct MapObject *mapObject, struct Sprite *sprite) -{ - sub_8096530(mapObject, sprite); - npc_update_obj_anim_flag(mapObject, sprite); -} - -static void sub_8096530(struct MapObject *mapObject, struct Sprite *sprite) -{ - u16 x; - u16 y; - u16 x2; - u16 y2; - const struct MapObjectGraphicsInfo *graphicsInfo; - - mapObject->mapobj_bit_14 = FALSE; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - 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 = graphicsInfo->width; - x2 += x; - y2 = y; - y2 += graphicsInfo->height; - if ((s16)x >= 0x100 || (s16)x2 < -0x10) - { - mapObject->mapobj_bit_14 = TRUE; - } - if ((s16)y >= 0xB0 || (s16)y2 < -0x10) - { - mapObject->mapobj_bit_14 = TRUE; - } -} - -static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite *sprite) -{ - sprite->invisible = FALSE; - if (mapObject->mapobj_bit_13 || mapObject->mapobj_bit_14) - { - sprite->invisible = TRUE; - } -} diff --git a/src/field_map_obj_helpers.c b/src/field_map_obj_helpers.c deleted file mode 100755 index b8efcfe72..000000000 --- a/src/field_map_obj_helpers.c +++ /dev/null @@ -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; -} diff --git a/src/field_special_scene.c b/src/field_special_scene.c index a704beaab..2d9973488 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -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" diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index bee4d2c4b..6da529d00 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -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" diff --git a/src/fossil_specials.c b/src/fossil_specials.c index 060915fa6..49db0f5b6 100644 --- a/src/fossil_specials.c +++ b/src/fossil_specials.c @@ -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" diff --git a/src/item_menu.c b/src/item_menu.c index c4b4b15b1..75465e298 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -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_helpers.h" #include "field_player_avatar.h" #include "field_specials.h" #include "graphics.h" diff --git a/src/item_use.c b/src/item_use.c index d036da6d3..4318a930b 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -12,12 +12,12 @@ #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 "event_object_movement_helpers.h" #include "mail.h" #include "metatile_behavior.h" #include "overworld.h" diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c index 688d0594d..3a67950de 100644 --- a/src/map_obj_lock.c +++ b/src/map_obj_lock.c @@ -1,7 +1,7 @@ #include "global.h" #include "event_data.h" -#include "field_map_obj.h" -#include "field_map_obj_helpers.h" +#include "event_object_movement.h" +#include "event_object_movement_helpers.h" #include "field_player_avatar.h" #include "map_obj_lock.h" #include "script_movement.h" diff --git a/src/naming_screen.c b/src/naming_screen.c index 0e350aa35..9ad1a9742 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -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" diff --git a/src/overworld.c b/src/overworld.c index 3d9a1bdc2..b895ba43e 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -11,8 +11,8 @@ #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 "event_object_movement_helpers.h" #include "field_message_box.h" #include "field_player_avatar.h" #include "field_screen_effect.h" diff --git a/src/player_pc.c b/src/player_pc.c index c10c63dda..48be0633f 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -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" diff --git a/src/rom6.c b/src/rom6.c index 4a5c506b6..9b505a205 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -6,7 +6,7 @@ #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" diff --git a/src/rotating_gate.c b/src/rotating_gate.c index b07814f58..1f5ef165f 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -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" diff --git a/src/scrcmd.c b/src/scrcmd.c index a29e64979..68bcd4936 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -13,8 +13,8 @@ #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 "event_object_movement_helpers.h" #include "field_message_box.h" #include "field_player_avatar.h" #include "field_screen_effect.h" diff --git a/src/script_movement.c b/src/script_movement.c index bbeb0eedc..4d1e77d4a 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -1,7 +1,7 @@ #include "global.h" #include "script_movement.h" -#include "field_map_obj.h" -#include "field_map_obj_helpers.h" +#include "event_object_movement.h" +#include "event_object_movement_helpers.h" #include "task.h" #include "util.h" diff --git a/src/secret_base.c b/src/secret_base.c index 44e980c43..71cf3f1a6 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -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" diff --git a/src/start_menu.c b/src/start_menu.c index c248ca86b..355d0fa22 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -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_helpers.h" #include "script.h" #include "main.h" #include "sound.h" diff --git a/src/trainer_see.c b/src/trainer_see.c index 7706da703..28fe0064b 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -4,9 +4,9 @@ #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 "event_object_movement_helpers.h" #include "pokenav.h" #include "task.h" #include "util.h" diff --git a/src/tv.c b/src/tv.c index e69f6f411..5c1037293 100644 --- a/src/tv.c +++ b/src/tv.c @@ -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" -- cgit v1.2.3 From 4018acfae12ab5d39aaff9acdeaa5d713d1def0e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 09:19:17 -0500 Subject: Update event object struct members --- src/battle_setup.c | 2 +- src/berry.c | 6 +- src/bike.c | 72 ++--- src/event_object_movement.c | 620 ++++++++++++++++++------------------ src/event_object_movement_helpers.c | 30 +- src/field_effect.c | 114 +++---- src/field_special_scene.c | 2 +- src/map_obj_lock.c | 12 +- src/overworld.c | 58 ++-- src/trainer_see.c | 74 ++--- 10 files changed, 495 insertions(+), 495 deletions(-) (limited to 'src') diff --git a/src/battle_setup.c b/src/battle_setup.c index 5411551f7..a801367e9 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1204,7 +1204,7 @@ void sub_80B16D8(void) { struct MapObject *mapObject = &gMapObjects[gSelectedMapObject]; - npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->mapobj_unk_18)); + npc_set_running_behaviour_etc(mapObject, npc_running_behaviour_by_direction(mapObject->facingDirection)); } u8 GetTrainerBattleMode(void) diff --git a/src/berry.c b/src/berry.c index e128eb0ec..3b5df1cc8 100644 --- a/src/berry.c +++ b/src/berry.c @@ -1238,10 +1238,10 @@ void ResetBerryTreeSparkleFlags(void) bottom = top + 8; for (i = 0; i < MAP_OBJECTS_COUNT; i++) { - if (gMapObjects[i].active && gMapObjects[i].animPattern == 12) + if (gMapObjects[i].active && gMapObjects[i].movementType == 12) { - cam_left = gMapObjects[i].coords2.x; - cam_top = gMapObjects[i].coords2.y; + cam_left = gMapObjects[i].currentCoords.x; + cam_top = gMapObjects[i].currentCoords.y; if (left <= cam_left && cam_left <= right && top <= cam_top && cam_top <= bottom) ResetBerryTreeSparkleFlag(gMapObjects[i].trainerRange_berryTreeId); } diff --git a/src/bike.c b/src/bike.c index d413989f0..92f4b8a60 100644 --- a/src/bike.c +++ b/src/bike.c @@ -198,14 +198,14 @@ static void MachBikeTransition_TurnDirection(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E)) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior)) { PlayerTurnInPlace(direction); Bike_SetBikeStill(); } else { - MachBikeTransition_FaceDirection(playerMapObj->mapobj_unk_18); + MachBikeTransition_FaceDirection(playerMapObj->facingDirection); } } @@ -214,13 +214,13 @@ static void MachBikeTransition_TrySpeedUp(u8 direction) struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; u8 collision; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == FALSE) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->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(playerMapObj->movementDirection); else - MachBikeTransition_FaceDirection(playerMapObj->placeholder18); + MachBikeTransition_FaceDirection(playerMapObj->movementDirection); } else { @@ -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(playerMapObj->currentMetatileBehavior)) { // Go back to normal on flat ground *newDirection = direction; @@ -431,7 +431,7 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey { // B button was released Bike_SetBikeStill(); - if (MetatileBehavior_IsBumpySlope(playerMapObj->mapobj_unk_1E)) + if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) { // even though B was released, dont undo the wheelie on the bumpy slope. gPlayerAvatar.acroBikeState = ACRO_STATE_WHEELIE_STANDING; @@ -478,7 +478,7 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he { // 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(playerMapObj->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; @@ -526,8 +526,8 @@ static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - playerMapObj->mapobj_bit_9 = 0; - FieldObjectSetDirection(playerMapObj, playerMapObj->mapobj_unk_18); + playerMapObj->facingDirectionLocked = 0; + FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); } @@ -547,8 +547,8 @@ static void AcroBikeTransition_TurnDirection(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerFaceDirection(direction); } @@ -557,9 +557,9 @@ static void AcroBikeTransition_Moving(u8 direction) u8 collision; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_FaceDirection(playerMapObj->placeholder18); + AcroBikeTransition_FaceDirection(playerMapObj->movementDirection); return; } collision = get_some_collision(direction); @@ -582,8 +582,8 @@ static void AcroBikeTransition_NormalToWheelie(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerStartWheelie(direction); } @@ -591,8 +591,8 @@ static void AcroBikeTransition_WheelieToNormal(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerEndWheelie(direction); } @@ -600,8 +600,8 @@ static void AcroBikeTransition_WheelieIdle(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerIdleWheelie(direction); } @@ -609,8 +609,8 @@ static void AcroBikeTransition_WheelieHoppingStanding(u8 direction) { struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) - direction = playerMapObj->placeholder18; + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) + direction = playerMapObj->movementDirection; PlayerStandingHoppingWheelie(direction); } @@ -619,9 +619,9 @@ static void AcroBikeTransition_WheelieHoppingMoving(u8 direction) u8 collision; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_WheelieHoppingStanding(playerMapObj->placeholder18); + AcroBikeTransition_WheelieHoppingStanding(playerMapObj->movementDirection); return; } collision = get_some_collision(direction); @@ -671,7 +671,7 @@ static void AcroBikeTransition_SideJump(u8 direction) } playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; PlaySE(SE_JITE_PYOKO); - playerMapObj->mapobj_bit_9 = 1; + playerMapObj->facingDirectionLocked = 1; PlayerSetAnimId(sub_8093514(direction), 2); } @@ -685,9 +685,9 @@ static void AcroBikeTransition_WheelieMoving(u8 direction) u8 collision; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - PlayerIdleWheelie(playerMapObj->placeholder18); + PlayerIdleWheelie(playerMapObj->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(playerMapObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_808B980(direction); //hit wall? @@ -719,9 +719,9 @@ static void AcroBikeTransition_WheelieRisingMoving(u8 direction) u8 collision; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - PlayerStartWheelie(playerMapObj->placeholder18); + PlayerStartWheelie(playerMapObj->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(playerMapObj->currentMetatileBehavior)) PlayerIdleWheelie(direction); else sub_808B980(direction); //hit wall? @@ -753,9 +753,9 @@ static void AcroBikeTransition_WheelieLoweringMoving(u8 direction) u8 collision; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (CanBikeFaceDirOnMetatile(direction, playerMapObj->mapobj_unk_1E) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerMapObj->currentMetatileBehavior) == 0) { - PlayerEndWheelie(playerMapObj->placeholder18); + PlayerEndWheelie(playerMapObj->movementDirection); return; } collision = get_some_collision(direction); @@ -882,8 +882,8 @@ static u8 get_some_collision(u8 direction) u8 metatitleBehavior; struct MapObject *playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - x = playerMapObj->coords2.x; - y = playerMapObj->coords2.y; + x = playerMapObj->currentCoords.x; + y = playerMapObj->currentCoords.y; MoveCoords(direction, &x, &y); metatitleBehavior = MapGridGetMetatileBehaviorAt(x, y); return Bike_CheckCollisionTryAdvanceCollisionCount(playerMapObj, x, y, direction, metatitleBehavior); @@ -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(gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior) != FALSE) return FALSE; else return TRUE; diff --git a/src/event_object_movement.c b/src/event_object_movement.c index d847599b8..261f234f4 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -56,9 +56,9 @@ bool8 sub(struct MapObject *mapObject, struct Sprite *sprite)\ {\ u8 route[sizeof(path)];\ memcpy(route, path, sizeof(path));\ - if (mapObject->mapobj_unk_21 == (catch) && mapObject->coords1.coord == mapObject->coords2.coord)\ + if (mapObject->directionSequenceIndex == (catch) && mapObject->initialCoords.coord == mapObject->currentCoords.coord)\ {\ - mapObject->mapobj_unk_21 = (catch) + 1;\ + mapObject->directionSequenceIndex = (catch) + 1;\ }\ return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, route);\ }\ @@ -201,7 +201,7 @@ static void npc_clear_ids_and_state(struct MapObject *mapObject) mapObject->localId = 0xFF; mapObject->mapNum = -1; mapObject->mapGroup = -1; - mapObject->mapobj_unk_1C = -1; + mapObject->movementActionId = -1; } static void npcs_clear_ids_and_state(void) @@ -278,7 +278,7 @@ u8 GetFieldObjectIdByXY(s16 x, s16 y) for (i = 0; i < NUM_FIELD_OBJECTS; i ++) { - if (gMapObjects[i].active && gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y) + if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) { break; } @@ -333,30 +333,30 @@ static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u x = template->x + 7; y = template->y + 7; mapObject->active = TRUE; - mapObject->mapobj_bit_2 = TRUE; + mapObject->triggerGroundEffectsOnMove = TRUE; mapObject->graphicsId = template->graphicsId; - mapObject->animPattern = template->movementType; + mapObject->movementType = template->movementType; mapObject->localId = template->localId; mapObject->mapNum = mapNum; mapObject->mapGroup = mapGroup; - mapObject->coords1.x = x; - mapObject->coords1.y = y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; - mapObject->coords3.x = x; - mapObject->coords3.y = y; - mapObject->mapobj_unk_0B_0 = template->elevation; - mapObject->elevation = template->elevation; + mapObject->initialCoords.x = x; + mapObject->initialCoords.y = y; + mapObject->currentCoords.x = x; + mapObject->currentCoords.y = y; + mapObject->previousCoords.x = x; + mapObject->previousCoords.y = y; + mapObject->currentElevation = template->elevation; + mapObject->previousElevation = template->elevation; // For some reason, 0x0F is placed in r9, to be used later mapObject->range.as_nybbles.x = template->unkA_0; mapObject->range.as_nybbles.y = template->unkA_4; mapObject->trainerType = template->unkC; mapObject->trainerRange_berryTreeId = template->unkE; - mapObject->mapobj_unk_20 = gUnknown_085055CD[template->movementType]; - FieldObjectSetDirection(mapObject, mapObject->mapobj_unk_20); + mapObject->previousMovementDirection = gUnknown_085055CD[template->movementType]; + FieldObjectSetDirection(mapObject, mapObject->previousMovementDirection); FieldObjectHandleDynamicGraphicsId(mapObject); - if (gUnknown_0850557C[mapObject->animPattern]) + if (gUnknown_0850557C[mapObject->movementType]) { if ((mapObject->range.as_nybbles.x) == 0) { @@ -654,9 +654,9 @@ static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, paletteSlot -= 16; sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); } - if (mapObject->animPattern == 0x4c) + if (mapObject->movementType == 0x4c) { - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; } *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); @@ -666,7 +666,7 @@ static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, return NUM_FIELD_OBJECTS; } sprite = &gSprites[spriteId]; - sub_8092FF0(mapObject->coords2.x + cameraX, mapObject->coords2.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); + sub_8092FF0(mapObject->currentCoords.x + cameraX, mapObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; @@ -675,12 +675,12 @@ static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, sprite->coordOffsetEnabled = TRUE; sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; - mapObject->mapobj_bit_12 = graphicsInfo->inanimate; - if (!mapObject->mapobj_bit_12) + mapObject->inanimate = graphicsInfo->inanimate; + if (!mapObject->inanimate) { - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); } - SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); + SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); sub_8096518(mapObject, sprite); return mapObjectId; } @@ -915,7 +915,7 @@ void SpawnFieldObjectsInView(s16 cameraX, s16 cameraY) { mapObject = &gMapObjects[i]; - if (mapObject->active && !mapObject->mapobj_bit_16) + if (mapObject->active && !mapObject->isPlayer) RemoveFieldObjectIfOutsideView(mapObject); } } @@ -933,11 +933,11 @@ static void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) top = gSaveBlock1Ptr->pos.y; bottom = gSaveBlock1Ptr->pos.y + 16; - if (mapObject->coords2.x >= left && mapObject->coords2.x <= right - && mapObject->coords2.y >= top && mapObject->coords2.y <= bottom) + if (mapObject->currentCoords.x >= left && mapObject->currentCoords.x <= right + && mapObject->currentCoords.y >= top && mapObject->currentCoords.y <= bottom) return; - if (mapObject->coords1.x >= left && mapObject->coords1.x <= right - && mapObject->coords1.y >= top && mapObject->coords1.y <= bottom) + if (mapObject->initialCoords.x >= left && mapObject->initialCoords.x <= right + && mapObject->initialCoords.y >= top && mapObject->initialCoords.y <= bottom) return; RemoveFieldObject(mapObject); } @@ -982,7 +982,7 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) subspriteTables = NULL; graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); spriteFrameImage.size = graphicsInfo->size; - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->animPattern, &spriteTemplate, &subspriteTables); + MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->movementType, &spriteTemplate, &subspriteTables); spriteTemplate.images = &spriteFrameImage; *(u16 *)&spriteTemplate.paletteTag = 0xffff; paletteSlot = graphicsInfo->paletteSlot; @@ -1004,16 +1004,16 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; - sub_8092FF0(x + mapObject->coords2.x, y + mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8092FF0(x + mapObject->currentCoords.x, y + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->images = graphicsInfo->images; - if (mapObject->animPattern == 0x0b) + if (mapObject->movementType == 0x0b) { SetPlayerAvatarFieldObjectIdAndObjectId(mapObjectId, spriteId); - mapObject->mapobj_unk_1B = sub_8154228(); + mapObject->warpArrowSpriteId = sub_8154228(); } if (subspriteTables != NULL) { @@ -1023,25 +1023,25 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) sprite->coordOffsetEnabled = TRUE; sprite->data[0] = mapObjectId; mapObject->spriteId = spriteId; - if (!mapObject->mapobj_bit_12 && mapObject->animPattern != 0x0b) + if (!mapObject->inanimate && mapObject->movementType != 0x0b) { - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); } sub_808E38C(mapObject); - SetObjectSubpriorityByZCoord(mapObject->elevation, sprite, 1); + SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); } } /*static*/ void sub_808E38C(struct MapObject *mapObject) { - mapObject->mapobj_bit_1 = FALSE; - mapObject->mapobj_bit_2 = TRUE; - mapObject->mapobj_bit_22 = FALSE; - mapObject->mapobj_bit_17 = FALSE; - mapObject->mapobj_bit_18 = FALSE; - mapObject->mapobj_bit_19 = FALSE; - mapObject->mapobj_bit_20 = FALSE; - mapObject->mapobj_bit_21 = FALSE; + mapObject->singleMovementActive = FALSE; + mapObject->triggerGroundEffectsOnMove = TRUE; + mapObject->hasShadow = FALSE; + mapObject->hasReflection = FALSE; + mapObject->inShortGrass = FALSE; + mapObject->inShallowFlowingWater = FALSE; + mapObject->inSandPile = FALSE; + mapObject->inHotSprings = FALSE; FieldObjectClearAnim(mapObject); } @@ -1081,14 +1081,14 @@ void FieldObjectSetGraphicsId(struct MapObject *mapObject, u8 graphicsId) sprite->anims = graphicsInfo->anims; sprite->subspriteTables = graphicsInfo->subspriteTables; sprite->oam.paletteNum = paletteSlot; - mapObject->mapobj_bit_12 = graphicsInfo->inanimate; + mapObject->inanimate = graphicsInfo->inanimate; mapObject->graphicsId = graphicsId; - sub_8093038(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8093038(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - if (mapObject->mapobj_bit_15) + if (mapObject->trackedByCamera) { CameraObjectReset1(); } @@ -1107,9 +1107,9 @@ void FieldObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, void FieldObjectTurn(struct MapObject *mapObject, u8 direction) { FieldObjectSetDirection(mapObject, direction); - if (!mapObject->mapobj_bit_12) + if (!mapObject->inanimate) { - StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->mapobj_unk_18)); + StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); } } @@ -1134,12 +1134,12 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) u8 berryStage; u8 berryId; - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; sprite->invisible = TRUE; berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); if (berryStage != 0) { - mapObject->mapobj_bit_13 = FALSE; + mapObject->invisible = FALSE; sprite->invisible = FALSE; berryId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; berryStage -= 1; @@ -1188,7 +1188,7 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) { - gMapObjects[mapObjectId].mapobj_bit_13 = state; + gMapObjects[mapObjectId].invisible = state; } } @@ -1208,7 +1208,7 @@ void sub_808E75C(s16 x, s16 y) if (mapObjectId != NUM_FIELD_OBJECTS) { mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_2 = TRUE; + mapObject->triggerGroundEffectsOnMove = TRUE; } } @@ -1222,7 +1222,7 @@ void sub_808E78C(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) { mapObject = &gMapObjects[mapObjectId]; sprite = &gSprites[mapObject->spriteId]; - mapObject->mapobj_bit_26 = TRUE; + mapObject->fixedPriority = TRUE; sprite->subpriority = subpriority; } } @@ -1235,8 +1235,8 @@ void sub_808E7E4(u8 localId, u8 mapNum, u8 mapGroup) if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) { mapObject = &gMapObjects[mapObjectId]; - mapObject->mapobj_bit_26 = FALSE; - mapObject->mapobj_bit_2 = TRUE; + mapObject->fixedPriority = FALSE; + mapObject->triggerGroundEffectsOnMove = TRUE; } } @@ -1359,26 +1359,26 @@ static void sub_808EAB0(u16 tag, u8 slot) void unref_sub_808EAC4(struct MapObject *mapObject, s16 x, s16 y) { - mapObject->coords3.x = mapObject->coords2.x; - mapObject->coords3.y = mapObject->coords2.y; - mapObject->coords2.x += x; - mapObject->coords2.y += y; + mapObject->previousCoords.x = mapObject->currentCoords.x; + mapObject->previousCoords.y = mapObject->currentCoords.y; + mapObject->currentCoords.x += x; + mapObject->currentCoords.y += y; } void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) { - mapObject->coords3.x = mapObject->coords2.x; - mapObject->coords3.y = mapObject->coords2.y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; + mapObject->previousCoords.x = mapObject->currentCoords.x; + mapObject->previousCoords.y = mapObject->currentCoords.y; + mapObject->currentCoords.x = x; + mapObject->currentCoords.y = y; } /*static*/ void npc_coords_set(struct MapObject *mapObject, s16 x, s16 y) { - mapObject->coords3.x = x; - mapObject->coords3.y = y; - mapObject->coords2.x = x; - mapObject->coords2.y = y; + mapObject->previousCoords.x = x; + mapObject->previousCoords.y = y; + mapObject->currentCoords.x = x; + mapObject->currentCoords.y = y; } void sub_808EB08(struct MapObject *mapObject, s16 x, s16 y) @@ -1389,13 +1389,13 @@ void sub_808EB08(struct MapObject *mapObject, s16 x, s16 y) sprite = &gSprites[mapObject->spriteId]; graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); npc_coords_set(mapObject, x, y); - sub_8093038(mapObject->coords2.x, mapObject->coords2.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8093038(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sub_808E38C(mapObject); - if (mapObject->mapobj_bit_15) + if (mapObject->trackedByCamera) { CameraObjectReset1(); } @@ -1415,7 +1415,7 @@ void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) void npc_coords_shift_still(struct MapObject *mapObject) { - npc_coords_shift(mapObject, mapObject->coords2.x, mapObject->coords2.y); + npc_coords_shift(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); } void UpdateFieldObjectCoordsForCameraUpdate(void) @@ -1432,12 +1432,12 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) { if (gMapObjects[i].active) { - gMapObjects[i].coords1.x -= dx; - gMapObjects[i].coords1.y -= dy; - gMapObjects[i].coords2.x -= dx; - gMapObjects[i].coords2.y -= dy; - gMapObjects[i].coords3.x -= dx; - gMapObjects[i].coords3.y -= dy; + gMapObjects[i].initialCoords.x -= dx; + gMapObjects[i].initialCoords.y -= dy; + gMapObjects[i].currentCoords.x -= dx; + gMapObjects[i].currentCoords.y -= dy; + gMapObjects[i].previousCoords.x -= dx; + gMapObjects[i].previousCoords.y -= dy; } } } @@ -1450,7 +1450,7 @@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) { if (gMapObjects[i].active) { - if (gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) + if (gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) { return i; } @@ -1461,7 +1461,7 @@ u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) static bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) { - if (mapObject->mapobj_unk_0B_0 != 0 && z != 0 && mapObject->mapobj_unk_0B_0 != z) + if (mapObject->currentElevation != 0 && z != 0 && mapObject->currentElevation != z) { return FALSE; } @@ -1617,13 +1617,13 @@ u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction) { s8 d2; - mapObject->mapobj_unk_20 = mapObject->mapobj_unk_18; - if (!mapObject->mapobj_bit_9) + mapObject->previousMovementDirection = mapObject->facingDirection; + if (!mapObject->facingDirectionLocked) { d2 = direction; - mapObject->mapobj_unk_18 = d2; + mapObject->facingDirection = d2; } - mapObject->placeholder18 = direction; + mapObject->movementDirection = direction; } static const u8 *GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) @@ -1737,8 +1737,8 @@ void sub_808F208(const struct MapObject *mapObject) mapObjectTemplate = sub_808F1B4(mapObject); if (mapObjectTemplate != NULL) { - mapObjectTemplate->x = mapObject->coords2.x - 7; - mapObjectTemplate->y = mapObject->coords2.y - 7; + mapObjectTemplate->x = mapObject->currentCoords.x - 7; + mapObjectTemplate->y = mapObject->currentCoords.y - 7; } } @@ -1842,7 +1842,7 @@ bool8 sub_808F44C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808F460(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -1886,8 +1886,8 @@ bool8 sub_808F4E8(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808F534(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = TRUE; + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; } @@ -1896,7 +1896,7 @@ bool8 sub_808F564(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -1922,8 +1922,8 @@ bool8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) return FALSE; } PlayerGetDestCoords(&playerX, &playerY); - objX = mapObject->coords2.x; - objY = mapObject->coords2.y; + objX = mapObject->currentCoords.x; + objY = mapObject->currentCoords.y; minX = objX - mapObject->trainerRange_berryTreeId; minY = objY - mapObject->trainerRange_berryTreeId; maxX = objX + mapObject->trainerRange_berryTreeId; @@ -2138,8 +2138,8 @@ u8 GetRunningPastFacingDirection(struct MapObject *mapObject, u8 movementType) return 0; } PlayerGetDestCoords(&dx, &dy); - dx -= mapObject->coords2.x; - dy -= mapObject->coords2.y; + dx -= mapObject->currentCoords.x; + dy -= mapObject->currentCoords.y; absdx = dx; absdy = dy; if (absdx < 0) @@ -2164,7 +2164,7 @@ bool8 sub_808F988(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808F99C(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2174,7 +2174,7 @@ bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2217,7 +2217,7 @@ bool8 sub_808FAC8(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808FADC(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2261,8 +2261,8 @@ bool8 sub_808FB64(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808FBB0(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = TRUE; + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; } @@ -2271,7 +2271,7 @@ bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -2288,7 +2288,7 @@ bool8 sub_808FC4C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808FC60(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2332,8 +2332,8 @@ bool8 sub_808FCE8(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808FD34(struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->placeholder18)); - mapObject->mapobj_bit_1 = TRUE; + FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); + mapObject->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; } @@ -2342,7 +2342,7 @@ bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -2353,7 +2353,7 @@ field_object_step(FaceFixedDirection, gUnknown_0850D794) bool8 sub_808FDD0(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -2370,7 +2370,7 @@ bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_808FE1C(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; return FALSE; } @@ -2398,15 +2398,15 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite u8 berryStage; npc_reset(mapObject, sprite); - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; sprite->invisible = TRUE; berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); if (berryStage == 0) { if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4) { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -2414,7 +2414,7 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite } return FALSE; } - mapObject->mapobj_bit_13 = FALSE; + mapObject->invisible = FALSE; sprite->invisible = FALSE; berryStage --; if (sprite->animNum != berryStage) @@ -2440,12 +2440,12 @@ bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 3; sprite->data[2] = 0; sprite->data[7] |= 0x0002; - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -2455,7 +2455,7 @@ bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[2] ++; - mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; + mapObject->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) { @@ -2470,7 +2470,7 @@ bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite) { sprite->data[2] ++; - mapObject->mapobj_bit_13 = (sprite->data[2] & 0x02) >> 1; + mapObject->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) { @@ -2492,7 +2492,7 @@ bool8 sub_8090094 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80900A8 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2502,7 +2502,7 @@ bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2545,7 +2545,7 @@ bool8 sub_80901D4 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80901E8 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2555,7 +2555,7 @@ bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2598,7 +2598,7 @@ bool8 sub_8090314 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090328 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2608,7 +2608,7 @@ bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2651,7 +2651,7 @@ bool8 sub_8090454 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090468 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2661,7 +2661,7 @@ bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2704,7 +2704,7 @@ bool8 sub_8090594 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80905A8 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2714,7 +2714,7 @@ bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2757,7 +2757,7 @@ bool8 sub_80906D4 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80906E8 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2767,7 +2767,7 @@ bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2810,7 +2810,7 @@ bool8 sub_8090814 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090828 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2820,7 +2820,7 @@ bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2863,7 +2863,7 @@ bool8 sub_8090954 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090968 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2873,7 +2873,7 @@ bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2916,7 +2916,7 @@ bool8 sub_8090A94 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090AA8 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2926,7 +2926,7 @@ bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -2969,7 +2969,7 @@ bool8 sub_8090BD4 (struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8090BE8 (struct MapObject *mapObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 2; return TRUE; } @@ -2979,7 +2979,7 @@ bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite) if (FieldObjectExecRegularAnim(mapObject, sprite)) { SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; @@ -3016,7 +3016,7 @@ field_object_step(LookAroundCounterclockwise, gUnknown_0850D89C) bool8 sub_8090D14 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -3049,7 +3049,7 @@ bool8 sub_8090D90 (struct MapObject *mapObject, struct Sprite *sprite) direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); if (direction == 0) { - direction = directions[mapObject->mapobj_unk_18]; + direction = directions[mapObject->facingDirection]; } FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 0; @@ -3061,7 +3061,7 @@ field_object_step(LookAroundClockwise, gUnknown_0850D8B4) bool8 sub_8090E18 (struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -3094,7 +3094,7 @@ bool8 sub_8090E94 (struct MapObject *mapObject, struct Sprite *sprite) direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); if (direction == 0) { - direction = directions[mapObject->mapobj_unk_18]; + direction = directions[mapObject->facingDirection]; } FieldObjectSetDirection(mapObject, direction); sprite->data[1] = 0; @@ -3114,8 +3114,8 @@ bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; - direction = gUnknown_085055CD[mapObject->animPattern]; - if (mapObject->mapobj_unk_21) + direction = gUnknown_085055CD[mapObject->movementType]; + if (mapObject->directionSequenceIndex) { direction = GetOppositeDirection(direction); } @@ -3129,26 +3129,26 @@ bool8 sub_8090F68 (struct MapObject *mapObject, struct Sprite *sprite) bool8 blockingWay; u8 animId; - if (mapObject->mapobj_unk_21 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 0; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); + mapObject->directionSequenceIndex = 0; + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); } - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); + animId = GetGoSpeed0AnimId(mapObject->movementDirection); if (blockingWay == TRUE) { - mapObject->mapobj_unk_21 ++; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + mapObject->directionSequenceIndex ++; + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + animId = GetGoSpeed0AnimId(mapObject->movementDirection); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); } if (blockingWay) { - animId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); + animId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); } FieldObjectSetRegularAnim(mapObject, sprite, animId); - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 3; return TRUE; } @@ -3157,7 +3157,7 @@ bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -3175,26 +3175,26 @@ bool8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, stru u8 blockingWay; u8 animId; - if (mapObject->mapobj_unk_21 == 3 && mapObject->coords1.x == mapObject->coords2.x && mapObject->coords1.y == mapObject->coords2.y) + if (mapObject->directionSequenceIndex == 3 && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) { - mapObject->mapobj_unk_21 = 0; + mapObject->directionSequenceIndex = 0; } - FieldObjectSetDirection(mapObject, route[mapObject->mapobj_unk_21]); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + FieldObjectSetDirection(mapObject, route[mapObject->directionSequenceIndex]); + animId = GetGoSpeed0AnimId(mapObject->movementDirection); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); if (blockingWay == TRUE) { - mapObject->mapobj_unk_21 ++; - FieldObjectSetDirection(mapObject, route[mapObject->mapobj_unk_21]); - animId = GetGoSpeed0AnimId(mapObject->placeholder18); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->placeholder18); + mapObject->directionSequenceIndex ++; + FieldObjectSetDirection(mapObject, route[mapObject->directionSequenceIndex]); + animId = GetGoSpeed0AnimId(mapObject->movementDirection); + blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); } if (blockingWay) { - animId = GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18); + animId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); } FieldObjectSetRegularAnim(mapObject, sprite, animId); - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3203,7 +3203,7 @@ bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -3239,9 +3239,9 @@ field_object_step(CopyPlayer1, gUnknown_0850DA58) bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - if (mapObject->mapobj_unk_21 == 0) + if (mapObject->directionSequenceIndex == 0) { - mapObject->mapobj_unk_21 = player_get_direction_lower_nybble(); + mapObject->directionSequenceIndex = player_get_direction_lower_nybble(); } sprite->data[1] = 1; return TRUE; @@ -3249,7 +3249,7 @@ bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Spr bool8 sub_8091EC0(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } @@ -3260,7 +3260,7 @@ bool8 sub_8091F20(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -3273,8 +3273,8 @@ bool8 sub_8091F48(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, playerDirection))); - mapObject->mapobj_bit_1 = TRUE; + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3292,17 +3292,17 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD if (direction == 0) { direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } } else { - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); } FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); @@ -3310,7 +3310,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3322,14 +3322,14 @@ bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed1AnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3341,14 +3341,14 @@ bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed3AnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3360,14 +3360,14 @@ bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_8093438(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3377,9 +3377,9 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl u32 direction; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction)); - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3391,14 +3391,14 @@ bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_8093514(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3410,16 +3410,16 @@ bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->animPattern], mapObject->mapobj_unk_21, direction); - x = mapObject->coords2.x; - y = mapObject->coords2.y; + direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; sub_8092F88(direction, &x, &y, 2, 2); FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->mapobj_bit_1 = TRUE; + mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } @@ -3428,7 +3428,7 @@ field_object_step(CopyPlayer2, gUnknown_0850DA90) bool8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1C == 0xFF || gPlayerAvatar.tileTransitionState == 2) + if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } @@ -3442,11 +3442,11 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite) struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) + if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && !sprite->data[7])) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE); - mapObject->mapobj_unk_21 = 1; + mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); + mapObject->directionSequenceIndex = 1; sprite->data[7] ++; } FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); @@ -3463,11 +3463,11 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite) struct MapObject *mapObject; mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && !sprite->data[7])) + if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && !sprite->data[7])) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); - mapObject->mapobj_unk_21 = 1; + mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); + mapObject->directionSequenceIndex = 1; sprite->data[7] ++; } FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); @@ -3480,7 +3480,7 @@ void FieldObjectCB_Hidden1(struct Sprite *sprite) { if (!sprite->data[7]) { - gMapObjects[sprite->data[0]].mapobj_bit_26 = TRUE; + gMapObjects[sprite->data[0]].fixedPriority = TRUE; sprite->subspriteMode = 2; sprite->oam.priority = 3; sprite->data[7] ++; @@ -3512,7 +3512,7 @@ field_object_step(WalkInPlace1, gUnknown_0850DAA0) bool8 sub_8092718(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -3522,7 +3522,7 @@ field_object_step(WalkInPlace4, gUnknown_0850DAA8) bool8 sub_8092788(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -3532,7 +3532,7 @@ field_object_step(WalkInPlace2, gUnknown_0850DAB0) bool8 sub_80927F8(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -3542,7 +3542,7 @@ field_object_step(WalkInPlace3, gUnknown_0850DAB8) bool8 sub_8092868(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); sprite->data[1] = 1; return TRUE; } @@ -3552,8 +3552,8 @@ field_object_step(Hidden2, gUnknown_0850DAC0) bool8 sub_80928D8(struct MapObject *mapObject, struct Sprite *sprite) { npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->mapobj_unk_18)); - mapObject->mapobj_bit_13 = TRUE; + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + mapObject->invisible = TRUE; sprite->data[1] = 1; return TRUE; } @@ -3569,16 +3569,16 @@ bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_809292C(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = FALSE; + mapObject->singleMovementActive = FALSE; return FALSE; } void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_1 = FALSE; - mapObject->mapobj_bit_6 = FALSE; - mapObject->mapobj_bit_7 = FALSE; - mapObject->mapobj_unk_1C = 0xFF; + mapObject->singleMovementActive = FALSE; + mapObject->heldMovementActive = FALSE; + mapObject->heldMovementFinished = FALSE; + mapObject->movementActionId = 0xFF; sprite->data[1] = 0; } @@ -3632,7 +3632,7 @@ void npc_apply_anim_looping(struct MapObject *mapObject, struct Sprite *sprite, { const struct UnkStruct_085094AC *unk85094AC; - if (!mapObject->mapobj_bit_12) + if (!mapObject->inanimate) { sprite->animNum = animNum; unk85094AC = sub_8092A4C(sprite->anims); @@ -3655,7 +3655,7 @@ void obj_npc_animation_step(struct MapObject *mapObject, struct Sprite *sprite, { const struct UnkStruct_085094AC *unk85094AC; - if (!mapObject->mapobj_bit_12) + if (!mapObject->inanimate) { u8 animPos; @@ -3692,12 +3692,12 @@ u8 sub_8092AF8(s16 x1, s16 y1, s16 x2, s16 y2) return DIR_SOUTH; } -void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern) +void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) { - mapObject->animPattern = animPattern; - mapObject->mapobj_unk_21 = 0; - mapObject->animId = 0; - gSprites[mapObject->spriteId].callback = gUnknown_08505438[animPattern]; + mapObject->movementType = movementType; + mapObject->directionSequenceIndex = 0; + mapObject->playerCopyableMovement = 0; + gSprites[mapObject->spriteId].callback = gUnknown_08505438[movementType]; gSprites[mapObject->spriteId].data[1] = 0; } @@ -3708,8 +3708,8 @@ u8 npc_block_way__next_tile(struct MapObject *mapObject, u8 direction) s16 x; s16 y; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; MoveCoords(direction, &x, &y); return npc_block_way(mapObject, x, y, direction); } @@ -3727,11 +3727,11 @@ u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) { return 2; } - if (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction)) + if (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction)) { return 2; } - if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) + if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) { return 3; } @@ -3751,11 +3751,11 @@ u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { retval |= 1; } - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction))) + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction))) { retval |= 2; } - if (IsZCoordMismatchAt(mapObject->mapobj_unk_0B_0, x, y)) + if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) { retval |= 4; } @@ -3775,8 +3775,8 @@ static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, if (mapObject->range.as_nybbles.x != 0) { - left = mapObject->coords1.x - mapObject->range.as_nybbles.x; - right = mapObject->coords1.x + mapObject->range.as_nybbles.x; + left = mapObject->initialCoords.x - mapObject->range.as_nybbles.x; + right = mapObject->initialCoords.x + mapObject->range.as_nybbles.x; if (left > x || right < x) { return TRUE; @@ -3784,8 +3784,8 @@ static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, } if (mapObject->range.as_nybbles.y != 0) { - top = mapObject->coords1.y - mapObject->range.as_nybbles.y; - bottom = mapObject->coords1.y + mapObject->range.as_nybbles.y; + top = mapObject->initialCoords.y - mapObject->range.as_nybbles.y; + bottom = mapObject->initialCoords.y + mapObject->range.as_nybbles.y; if (top > y || bottom < y) { return TRUE; @@ -3796,7 +3796,7 @@ static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { - if (gUnknown_0850DB5C[direction - 1](mapObject->mapobj_unk_1E) || gUnknown_0850DB6C[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + if (gUnknown_0850DB5C[direction - 1](mapObject->currentMetatileBehavior) || gUnknown_0850DB6C[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return TRUE; } @@ -3813,9 +3813,9 @@ static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *mapObject, s curObject = &gMapObjects[i]; if (curObject->active && curObject != mapObject) { - if ((curObject->coords2.x == x && curObject->coords2.y == y) || (curObject->coords3.x == x && curObject->coords3.y == y)) + if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { - if (AreZCoordsCompatible(mapObject->mapobj_unk_0B_0, curObject->mapobj_unk_0B_0)) + if (AreZCoordsCompatible(mapObject->currentElevation, curObject->currentElevation)) { return TRUE; } @@ -3958,8 +3958,8 @@ void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 dirn, s16 *x, s1 u8 direction; direction = dirn; - *x = mapObject->coords2.x; - *y = mapObject->coords2.y; + *x = mapObject->currentCoords.x; + *y = mapObject->currentCoords.y; MoveCoords(direction, x, y); } @@ -3967,7 +3967,7 @@ void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 dirn, s16 *x, s1 bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_1 || mapObject->mapobj_bit_6) + if (mapObject->singleMovementActive || mapObject->heldMovementActive) { return TRUE; } @@ -3976,7 +3976,7 @@ bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *ma bool8 FieldObjectIsSpecialAnimActive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6 && mapObject->mapobj_unk_1C != 0xFF) + if (mapObject->heldMovementActive && mapObject->movementActionId != 0xFF) { return TRUE; } @@ -3990,9 +3990,9 @@ bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) return TRUE; } npc_sync_anim_pause_bits(mapObject); - mapObject->mapobj_unk_1C = specialAnimId; - mapObject->mapobj_bit_6 = TRUE; - mapObject->mapobj_bit_7 = FALSE; + mapObject->movementActionId = specialAnimId; + mapObject->heldMovementActive = TRUE; + mapObject->heldMovementFinished = FALSE; gSprites[mapObject->spriteId].data[2] = 0; return FALSE; } @@ -4005,7 +4005,7 @@ void FieldObjectForceSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimI void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6) + if (mapObject->heldMovementActive) { FieldObjectClearAnim(mapObject); } @@ -4013,18 +4013,18 @@ void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) void FieldObjectClearAnim(struct MapObject *mapObject) { - mapObject->mapobj_unk_1C = 0xFF; - mapObject->mapobj_bit_6 = FALSE; - mapObject->mapobj_bit_7 = FALSE; + mapObject->movementActionId = 0xFF; + mapObject->heldMovementActive = FALSE; + mapObject->heldMovementFinished = FALSE; gSprites[mapObject->spriteId].data[1] = 0; gSprites[mapObject->spriteId].data[2] = 0; } u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6) + if (mapObject->heldMovementActive) { - return mapObject->mapobj_bit_7; + return mapObject->heldMovementFinished; } return 0x10; } @@ -4043,9 +4043,9 @@ u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *mapObject) u8 FieldObjectGetSpecialAnim(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6) + if (mapObject->heldMovementActive) { - return mapObject->mapobj_unk_1C; + return mapObject->movementActionId; } return 0xFF; } @@ -4058,7 +4058,7 @@ void FieldObjectStep(struct MapObject *mapObject, struct Sprite *sprite, bool8 ( { FieldObjectExecSpecialAnim(mapObject, sprite); } - else if (!mapObject->mapobj_bit_8) + else if (!mapObject->frozen) { while (callback(mapObject, sprite)); } @@ -4155,17 +4155,17 @@ static u32 state_to_direction(u8 a0, u32 a1, u32 a2) static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) + if (gUnknown_0850DC50[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { - mapObject->mapobj_bit_7 = TRUE; + mapObject->heldMovementFinished = TRUE; } } bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[mapObject->mapobj_unk_1C][sprite->data[2]](mapObject, sprite)) + if (gUnknown_0850DC50[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) { - mapObject->mapobj_unk_1C = 0xFF; + mapObject->movementActionId = 0xFF; sprite->data[2] = 0; return TRUE; } @@ -4174,7 +4174,7 @@ bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *spr void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) { - mapObject->mapobj_unk_1C = animId; + mapObject->movementActionId = animId; sprite->data[2] = 0; } @@ -4184,7 +4184,7 @@ void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 directio { FieldObjectSetDirection(mapObject, direction); npc_coords_shift_still(mapObject); - obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); sprite->animPaused = TRUE; sprite->data[2] = 1; } @@ -4218,8 +4218,8 @@ void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 s16 x; s16 y; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; FieldObjectSetDirection(mapObject, direction); MoveCoords(direction, &x, &y); npc_coords_shift(mapObject, x, y); @@ -4229,7 +4229,7 @@ void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 { sprite->animPaused = TRUE; } - mapObject->mapobj_bit_2 = TRUE; + mapObject->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } @@ -4239,13 +4239,13 @@ void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction memcpy(functions, gUnknown_0850DEE8, sizeof gUnknown_0850DEE8); npc_apply_direction(mapObject, sprite, direction, speed); - npc_apply_anim_looping(mapObject, sprite, functions[speed](mapObject->mapobj_unk_18)); + npc_apply_anim_looping(mapObject, sprite, functions[speed](mapObject->facingDirection)); } void do_run_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { npc_apply_direction(mapObject, sprite, direction, 1); - npc_apply_anim_looping(mapObject, sprite, get_run_image_anim_num(mapObject->mapobj_unk_18)); + npc_apply_anim_looping(mapObject, sprite, get_run_image_anim_num(mapObject->facingDirection)); } bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprite *sprite) @@ -4253,7 +4253,7 @@ bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprit if (obj_npc_ministep(sprite)) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; + mapObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } @@ -4265,21 +4265,21 @@ void sub_8093AF0(struct MapObject *mapObject, struct Sprite *sprite, u8 directio s16 x; s16 y; - x = mapObject->coords2.x; - y = mapObject->coords2.y; + x = mapObject->currentCoords.x; + y = mapObject->currentCoords.y; FieldObjectSetDirection(mapObject, direction); MoveCoords(direction, &x, &y); npc_coords_shift(mapObject, x, y); sub_80976DC(sprite, direction); sprite->animPaused = FALSE; - mapObject->mapobj_bit_2 = TRUE; + mapObject->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } void sub_8093B60(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) { sub_8093AF0(mapObject, sprite, direction); - npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); } bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) @@ -4287,7 +4287,7 @@ bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) if (sub_80976EC(sprite)) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; + mapObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } @@ -4339,18 +4339,18 @@ void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 directio y = 0; FieldObjectSetDirection(mapObject, direction); sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]); - npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); + npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); sub_809783C(sprite, direction, speed, a5); sprite->data[2] = 1; sprite->animPaused = 0; - mapObject->mapobj_bit_2 = 1; - mapObject->mapobj_bit_4 = 1; + mapObject->triggerGroundEffectsOnMove = 1; + mapObject->disableCoveringGroundEffects = 1; } void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { sub_8093FC4(mapObject, sprite, direction, speed, a4); - npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); DoShadowFieldEffect(mapObject); } @@ -4367,16 +4367,16 @@ u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(s { x = 0; y = 0; - sub_8092F88(mapObject->placeholder18, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); - npc_coords_shift(mapObject, mapObject->coords2.x + x, mapObject->coords2.y + y); - mapObject->mapobj_bit_2 = TRUE; - mapObject->mapobj_bit_4 = TRUE; + sub_8092F88(mapObject->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); + npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); + mapObject->triggerGroundEffectsOnMove = TRUE; + mapObject->disableCoveringGroundEffects = TRUE; } else if (result == 0xFF) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; - mapObject->mapobj_bit_5 = TRUE; + mapObject->triggerGroundEffectsOnStop = TRUE; + mapObject->landingJump = TRUE; sprite->animPaused = TRUE; } return result; @@ -4417,8 +4417,8 @@ bool8 sub_80941E0(struct MapObject *mapObject, struct Sprite *sprite) case 255: return TRUE; case 1: - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->placeholder18)); - obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->mapobj_unk_18)); + FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); default: return FALSE; } @@ -4435,7 +4435,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ {\ if (fn2(mapObject, sprite))\ {\ - mapObject->mapobj_bit_22 = FALSE;\ + mapObject->hasShadow = FALSE;\ sprite->data[2] = 2;\ return TRUE;\ }\ @@ -4562,7 +4562,7 @@ void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct bool8 sub_8094DAC(struct MapObject *mapObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->placeholder18, sprite->animNum); + npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->movementDirection, sprite->animNum); return FALSE; } @@ -4594,7 +4594,7 @@ bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ if (sub_80941C8(mapObject, sprite))\ {\ sprite->data[2] = 2;\ - mapObject->mapobj_bit_5 = FALSE;\ + mapObject->landingJump = FALSE;\ return TRUE;\ }\ return FALSE;\ @@ -4611,7 +4611,7 @@ bool8 sub_8094F38(struct MapObject *mapObject, struct Sprite *sprite) if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) { - an_look_any(mapObject, sprite, sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y)); + an_look_any(mapObject, sprite, sub_8092AF8(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[mapObjectId].currentCoords.x, gMapObjects[mapObjectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; @@ -4623,7 +4623,7 @@ bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite) if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) { - an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->coords2.x, mapObject->coords2.y, gMapObjects[mapObjectId].coords2.x, gMapObjects[mapObjectId].coords2.y))); + an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[mapObjectId].currentCoords.x, gMapObjects[mapObjectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; @@ -4631,14 +4631,14 @@ bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8094FF8(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_9 = TRUE; + mapObject->facingDirectionLocked = TRUE; sprite->data[2] = 1; return TRUE; } bool8 sub_8095008(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_9 = FALSE; + mapObject->facingDirectionLocked = FALSE; sprite->data[2] = 1; return TRUE; } @@ -4658,7 +4658,7 @@ maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2) bool8 sub_8095438(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, gUnknown_085055CD[mapObject->animPattern]); + an_look_any(mapObject, sprite, gUnknown_085055CD[mapObject->movementType]); return TRUE; } @@ -4670,42 +4670,42 @@ bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_25 = FALSE; + mapObject->disableJumpLandingGroundEffect = FALSE; sprite->data[2] = 1; return TRUE; } bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_25 = TRUE; + mapObject->disableJumpLandingGroundEffect = TRUE; sprite->data[2] = 1; return TRUE; } bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_12 = TRUE; + mapObject->inanimate = TRUE; sprite->data[2] = 1; return TRUE; } bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; sprite->data[2] = 1; return TRUE; } bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; sprite->data[2] = 1; return TRUE; } bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 = FALSE; + mapObject->invisible = FALSE; sprite->data[2] = 1; return TRUE; } @@ -4736,12 +4736,12 @@ bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095548(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->animPattern == 0x3F) + if (mapObject->movementType == 0x3F) { sub_80B4578(mapObject); return FALSE; } - if (mapObject->animPattern != 0x39 && mapObject->animPattern != 0x3A) + if (mapObject->movementType != 0x39 && mapObject->movementType != 0x3A) { sprite->data[2] = 2; return TRUE; @@ -4780,10 +4780,10 @@ bool8 sub_80955C8(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 ^= TRUE; + mapObject->invisible ^= TRUE; if (RunFieldObjectStepTimer(sprite)) { - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; sprite->data[2] = 3; } return FALSE; @@ -4808,10 +4808,10 @@ bool8 sub_8095644(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_13 ^= TRUE; + mapObject->invisible ^= TRUE; if (RunFieldObjectStepTimer(sprite)) { - mapObject->mapobj_bit_13 = TRUE; + mapObject->invisible = TRUE; sprite->data[2] = 3; } return FALSE; @@ -4819,14 +4819,14 @@ bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_80956A4(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_26 = TRUE; + mapObject->fixedPriority = TRUE; sprite->data[2] = 1; return TRUE; } bool8 sub_80956B4(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_26 = FALSE; + mapObject->fixedPriority = FALSE; sprite->data[2] = 1; return TRUE; } @@ -4850,13 +4850,13 @@ bool8 sub_80956F4(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_8095724(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_27 = TRUE; + mapObject->unk3_3 = TRUE; return TRUE; } bool8 sub_8095730(struct MapObject *mapObject, struct Sprite *sprite) { - mapObject->mapobj_bit_27 = FALSE; + mapObject->unk3_3 = FALSE; return TRUE; } @@ -4949,7 +4949,7 @@ bool8 sub_8095B0C(struct MapObject *mapObject, struct Sprite *sprite) if (sub_8097758(sprite)) { npc_coords_shift_still(mapObject); - mapObject->mapobj_bit_3 = TRUE; + mapObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } @@ -5001,7 +5001,7 @@ special_anim_with_timer_2(sub_8096090, EAST, sub_80929FC, 8, sub_809459C) void sub_80960C8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) { npc_apply_direction(mapObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929BC(mapObject->mapobj_unk_18)); + StartSpriteAnim(sprite, sub_80929BC(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -5013,7 +5013,7 @@ an_walk_any_2_macro(sub_80961C0, sub_80960C8, npc_obj_ministep_stop_on_arrival, void sub_8096200(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) { npc_apply_direction(mapObject, sprite, direction, speed); - npc_apply_anim_looping(mapObject, sprite, sub_80929FC(mapObject->mapobj_unk_18)); + npc_apply_anim_looping(mapObject, sprite, sub_80929FC(mapObject->facingDirection)); } an_walk_any_2_macro(sub_8096230, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) @@ -5024,7 +5024,7 @@ an_walk_any_2_macro(sub_80962F0, sub_8096200, npc_obj_ministep_stop_on_arrival, void sub_8096330(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) { npc_apply_direction(mapObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929DC(mapObject->mapobj_unk_18)); + StartSpriteAnim(sprite, sub_80929DC(mapObject->facingDirection)); SeekSpriteAnim(sprite, 0); } an_walk_any_2_macro(sub_8096368, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) @@ -5041,7 +5041,7 @@ bool8 sub_8096468(struct MapObject *mapObject, struct Sprite *sprite) bool8 sub_809647C(struct MapObject *mapObject, struct Sprite *sprite) { - sub_8098044(mapObject->mapobj_unk_1B); + sub_8098044(mapObject->warpArrowSpriteId); sprite->pos2.y = 0; sprite->data[2] = 1; return TRUE; @@ -5051,7 +5051,7 @@ bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite) { if (sprite->pos2.y == 0) { - sub_8098044(mapObject->mapobj_unk_1B); + sub_8098044(mapObject->warpArrowSpriteId); sprite->data[2] = 1; return TRUE; } @@ -5071,7 +5071,7 @@ bool8 sub_80964BC(struct MapObject *mapObject, struct Sprite *sprite) void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->mapobj_bit_10) + if (mapObject->disableAnim) { sprite->animPaused = TRUE; } @@ -5079,11 +5079,11 @@ void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct void sub_80964E8(struct MapObject *mapObject, struct Sprite *sprite) { - if (mapObject->mapobj_bit_11) + if (mapObject->enableAnim) { sprite->animPaused = FALSE; - mapObject->mapobj_bit_10 = FALSE; - mapObject->mapobj_bit_11 = FALSE; + mapObject->disableAnim = FALSE; + mapObject->enableAnim = FALSE; } } @@ -5101,7 +5101,7 @@ static void sub_8096530(struct MapObject *mapObject, struct Sprite *sprite) u16 y2; const struct MapObjectGraphicsInfo *graphicsInfo; - mapObject->mapobj_bit_14 = FALSE; + mapObject->offScreen = FALSE; graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); if (sprite->coordOffsetEnabled) { @@ -5119,18 +5119,18 @@ static void sub_8096530(struct MapObject *mapObject, struct Sprite *sprite) y2 += graphicsInfo->height; if ((s16)x >= 0x100 || (s16)x2 < -0x10) { - mapObject->mapobj_bit_14 = TRUE; + mapObject->offScreen = TRUE; } if ((s16)y >= 0xB0 || (s16)y2 < -0x10) { - mapObject->mapobj_bit_14 = TRUE; + mapObject->offScreen = TRUE; } } static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite *sprite) { sprite->invisible = FALSE; - if (mapObject->mapobj_bit_13 || mapObject->mapobj_bit_14) + if (mapObject->invisible || mapObject->offScreen) { sprite->invisible = TRUE; } diff --git a/src/event_object_movement_helpers.c b/src/event_object_movement_helpers.c index 48f3b9052..660c8961a 100755 --- a/src/event_object_movement_helpers.c +++ b/src/event_object_movement_helpers.c @@ -25,15 +25,15 @@ void sub_8097FE4(u8); bool8 FreezeMapObject(struct MapObject *mapObject) { - if (mapObject->mapobj_bit_6 || mapObject->mapobj_bit_8) + if (mapObject->heldMovementActive || mapObject->frozen) { return TRUE; } else { - mapObject->mapobj_bit_8 = 1; - mapObject->mapobj_bit_23 = gSprites[mapObject->spriteId].animPaused; - mapObject->mapobj_bit_24 = gSprites[mapObject->spriteId].affineAnimPaused; + mapObject->frozen = 1; + mapObject->spriteAnimPausedBackup = gSprites[mapObject->spriteId].animPaused; + mapObject->spriteAffineAnimPausedBackup = gSprites[mapObject->spriteId].affineAnimPaused; gSprites[mapObject->spriteId].animPaused = 1; gSprites[mapObject->spriteId].affineAnimPaused = 1; return FALSE; @@ -58,11 +58,11 @@ void FreezeMapObjectsExceptOne(u8 a1) void npc_sync_anim_pause_bits(struct MapObject *mapObject) { - if (mapObject->active && mapObject->mapobj_bit_8) + if (mapObject->active && mapObject->frozen) { - mapObject->mapobj_bit_8 = 0; - gSprites[mapObject->spriteId].animPaused = mapObject->mapobj_bit_23; - gSprites[mapObject->spriteId].affineAnimPaused = mapObject->mapobj_bit_24; + mapObject->frozen = 0; + gSprites[mapObject->spriteId].animPaused = mapObject->spriteAnimPausedBackup; + gSprites[mapObject->spriteId].affineAnimPaused = mapObject->spriteAffineAnimPausedBackup; } } @@ -512,9 +512,9 @@ u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) void DoShadowFieldEffect(struct MapObject *mapObject) { - if (!mapObject->mapobj_bit_22) + if (!mapObject->hasShadow) { - mapObject->mapobj_bit_22 = 1; + mapObject->hasShadow = 1; oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject); } } @@ -568,8 +568,8 @@ bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) if (ableToStore == TRUE) { - mapObject->mapobj_bit_12 = TRUE; - mapObject->mapobj_bit_9 = TRUE; + mapObject->inanimate = TRUE; + mapObject->facingDirectionLocked = TRUE; } sprite->data[2] = 1; @@ -596,8 +596,8 @@ bool32 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) FREE_AND_SET_NULL(gUnknown_020375B8); if (ableToStore == TRUE) { - mapObject->mapobj_bit_12 = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; - mapObject->mapobj_bit_9 = 0; + mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + mapObject->facingDirectionLocked = 0; sprite->animPaused = 0; } } @@ -623,7 +623,7 @@ void sub_8097FA4(struct MapObject *mapObject) struct Task *task = &gTasks[taskId]; StoreWordInTwoHalfwords(&task->data[0], (u32)mapObject); - mapObject->mapobj_unk_1B = taskId; + mapObject->warpArrowSpriteId = taskId; task->data[3] = 0xFFFF; } diff --git a/src/field_effect.c b/src/field_effect.c index 79753f027..b80f0b5eb 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1185,7 +1185,7 @@ void mapldr_08084390(void) Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(c3_080843F8, 0); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; if (gPlayerAvatar.flags & 0x08) { FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_WEST); @@ -1245,11 +1245,11 @@ bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] playerObject = &gMapObjects[gPlayerAvatar.mapObjectId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[4] = playerSprite->subspriteMode; - playerObject->mapobj_bit_26 = 1; + playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; playerSprite->subspriteMode = 2; task->data[0]++; @@ -1274,7 +1274,7 @@ bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); task->data[1] = 1; task->data[2] = 0; - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 0; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; PlaySE(SE_RU_HYUU); task->data[0]++; return FALSE; @@ -1299,15 +1299,15 @@ bool8 sub_80B6D04(struct Task *task) if (task->data[3] == 0 && sprite->pos2.y >= -16) { task->data[3]++; - mapObject->mapobj_bit_26 = 0; + mapObject->fixedPriority = 0; sprite->subspriteMode = task->data[4]; - mapObject->mapobj_bit_2 = 1; + mapObject->triggerGroundEffectsOnMove = 1; } if (sprite->pos2.y >= 0) { PlaySE(SE_W070); - mapObject->mapobj_bit_3 = 1; - mapObject->mapobj_bit_5 = 1; + mapObject->triggerGroundEffectsOnStop = 1; + mapObject->landingJump = 1; sprite->pos2.y = 0; task->data[0]++; } @@ -1677,7 +1677,7 @@ bool8 sub_80B7478(struct Task *task, struct MapObject *mapObject) { return FALSE; } - if (MetatileBehavior_IsWaterfall(mapObject->mapobj_unk_1E)) + if (MetatileBehavior_IsWaterfall(mapObject->currentMetatileBehavior)) { task->data[0] = 3; return TRUE; @@ -1729,7 +1729,7 @@ bool8 dive_3_unknown(struct Task *task) PlayerGetDestCoords(&mapPosition.x, &mapPosition.y); if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].mapobj_unk_1E); + dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior); DestroyTask(FindTaskIdByFunc(Task_Dive)); FieldEffectActiveListRemove(FLDEFF_USE_DIVE); } @@ -1755,7 +1755,7 @@ bool8 sub_80B764C(struct Task *task, struct MapObject *mapObject, struct Sprite CameraObjectReset2(); SetCameraPanningCallback(NULL); gPlayerAvatar.preventStep = TRUE; - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; task->data[1] = 1; task->data[0]++; return TRUE; @@ -1778,8 +1778,8 @@ bool8 sub_80B76B8(struct Task *task, struct MapObject *mapObject, struct Sprite { sprite->pos2.y = 0; task->data[3] = 1; - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); @@ -1820,7 +1820,7 @@ bool8 sub_80B7704(struct Task *task, struct MapObject *mapObject, struct Sprite if (task->data[5] == 0 && sprite->pos2.y < -0x10) { task->data[5]++; - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; sprite->oam.priority = 1; sprite->subspriteMode = 2; } @@ -1872,7 +1872,7 @@ bool8 sub_80B78EC(struct Task *task, struct MapObject *mapObject, struct Sprite CameraObjectReset2(); FreezeMapObjects(); gPlayerAvatar.preventStep = TRUE; - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; task->data[0]++; return FALSE; } @@ -1881,8 +1881,8 @@ bool8 sub_80B791C(struct Task *task, struct MapObject *mapObject, struct Sprite { if (IsWeatherNotFadingIn()) { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1897,7 +1897,7 @@ bool8 sub_80B7968(struct Task *task, struct MapObject *mapObject, struct Sprite if (sprite->animCmdIndex > 1) { task->data[0]++; - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); FieldObjectSetSpecialAnim(mapObject, sub_8093514(DIR_EAST)); @@ -1954,7 +1954,7 @@ bool8 sub_80B7AE8(struct Task *task, struct MapObject *mapObject, struct Sprite FreezeMapObjects(); CameraObjectReset2(); gPlayerAvatar.preventStep = TRUE; - mapObject->mapobj_bit_26 = 1; + mapObject->fixedPriority = 1; task->data[0]++; return FALSE; } @@ -1965,8 +1965,8 @@ bool8 sub_80B7B18(struct Task *task, struct MapObject *mapObject, struct Sprite { if (task->data[1] > 3) { - gFieldEffectArguments[0] = mapObject->coords2.x; - gFieldEffectArguments[1] = mapObject->coords2.y; + gFieldEffectArguments[0] = mapObject->currentCoords.x; + gFieldEffectArguments[1] = mapObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1974,7 +1974,7 @@ bool8 sub_80B7B18(struct Task *task, struct MapObject *mapObject, struct Sprite } else { task->data[1]++; - FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->mapobj_unk_18)); + FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } @@ -1985,7 +1985,7 @@ bool8 sub_80B7B94(struct Task *task, struct MapObject *mapObject, struct Sprite { if (gSprites[task->data[1]].animCmdIndex == 2) { - mapObject->mapobj_bit_13 = 1; + mapObject->invisible = 1; task->data[0]++; } return FALSE; @@ -2076,7 +2076,7 @@ void sub_80B7D34(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80B7CE4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->mapobj_unk_18])); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2100,7 +2100,7 @@ void mapldr_080859D4(void) ScriptContext2_Enable(); FreezeMapObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; CreateTask(sub_80B7E94, 0); } @@ -2130,20 +2130,20 @@ void sub_80B7EE8(struct Task *task) } if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble()) { - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; ScriptContext2_Disable(); UnfreezeMapObjects(); DestroyTask(FindTaskIdByFunc(sub_80B7E94)); return; } - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->mapobj_unk_18])); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; } task->data[1] = task->data[2] >> 2; } - mapObject->mapobj_bit_13 ^= 1; + mapObject->invisible ^= 1; } static void ExecuteTeleportFieldEffectTask(u8); @@ -2185,11 +2185,11 @@ static void TeleportFieldEffectTask2(struct Task *task) struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); task->data[1] = 8; task->data[2]++; } - if (task->data[2] > 7 && task->data[15] == mapObject->mapobj_unk_18) + if (task->data[2] > 7 && task->data[15] == mapObject->facingDirection) { task->data[0]++; task->data[1] = 4; @@ -2207,7 +2207,7 @@ static void TeleportFieldEffectTask3(struct Task *task) if ((--task->data[1]) <= 0) { task->data[1] = 4; - FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2257,7 +2257,7 @@ static void mapldr_08085D88(void) ScriptContext2_Enable(); FreezeMapObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; CameraObjectReset2(); CreateTask(sub_80B8250, 0); } @@ -2282,7 +2282,7 @@ void sub_80B8280(struct Task *task) sprite = &gSprites[gPlayerAvatar.spriteId]; centerToCornerVecY = -(sprite->centerToCornerVecY << 1); sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = 0; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; task->data[0]++; task->data[1] = 8; task->data[2] = 1; @@ -2302,7 +2302,7 @@ void sub_80B830C(struct Task *task) if (task->data[13] == 0) { task->data[13]++; - mapObject->mapobj_bit_2 = 1; + mapObject->triggerGroundEffectsOnMove = 1; sprite->subspriteMode = task->data[14]; } } else @@ -2320,7 +2320,7 @@ void sub_80B830C(struct Task *task) if ((--task->data[2]) == 0) { task->data[2] = 4; - FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); } if (sprite->pos2.y >= 0) { @@ -2337,9 +2337,9 @@ void sub_80B8410(struct Task *task) struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if ((--task->data[1]) == 0) { - FieldObjectTurn(mapObject, spinDirections[mapObject->mapobj_unk_18]); + FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); task->data[1] = 8; - if ((++task->data[2]) > 4 && task->data[14] == mapObject->mapobj_unk_18) + if ((++task->data[2]) > 4 && task->data[14] == mapObject->facingDirection) { ScriptContext2_Disable(); CameraObjectReset1(); @@ -2897,7 +2897,7 @@ void sub_80B8DB4(struct Task *task) gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(8); PlayerGetDestCoords(&task->data[1], &task->data[2]); - MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].placeholder18, &task->data[1], &task->data[2]); + MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].movementDirection, &task->data[1], &task->data[2]); task->data[0]++; } @@ -2933,11 +2933,11 @@ void sub_80B8EA8(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(3)); FieldObjectClearAnimIfSpecialAnimFinished(mapObject); - FieldObjectSetSpecialAnim(mapObject, sub_8093540(mapObject->placeholder18)); + FieldObjectSetSpecialAnim(mapObject, sub_8093540(mapObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; - mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_SURF_BLOB); + mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); task->data[0]++; } } @@ -2950,8 +2950,8 @@ void sub_80B8F24(struct Task *task) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->placeholder18)); - sub_81555AC(mapObject->mapobj_unk_1A, 1); + FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection)); + sub_81555AC(mapObject->fieldEffectSpriteId, 1); UnfreezeMapObjects(); ScriptContext2_Disable(); FieldEffectActiveListRemove(FLDEFF_USE_SURF); @@ -3238,8 +3238,8 @@ void sub_80B92A0(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[15] & 0x08) { - sub_81555AC(mapObject->mapobj_unk_1A, 2); - sub_81555D8(mapObject->mapobj_unk_1A, 0); + sub_81555AC(mapObject->fieldEffectSpriteId, 2); + sub_81555D8(mapObject->fieldEffectSpriteId, 0); } task->data[1] = sub_80B94C4(); task->data[0]++; @@ -3277,11 +3277,11 @@ void sub_80B9390(struct Task *task) mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->mapobj_bit_12 = 1; + mapObject->inanimate = 1; FieldObjectSetSpecialAnim(mapObject, 0x48); if (task->data[15] & 0x08) { - DestroySprite(&gSprites[mapObject->mapobj_unk_1A]); + DestroySprite(&gSprites[mapObject->fieldEffectSpriteId]); } task->data[0]++; task->data[2] = 0; @@ -3295,8 +3295,8 @@ void sub_80B9418(struct Task *task) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; FieldObjectClearAnimIfSpecialAnimActive(mapObject); - mapObject->mapobj_bit_12 = 0; - mapObject->mapobj_bit_22 = 0; + mapObject->inanimate = 0; + mapObject->hasShadow = 0; sub_80B9560(task->data[1], mapObject->spriteId); CameraObjectReset2(); task->data[0]++; @@ -3513,13 +3513,13 @@ void sub_80B9804(struct Task *task) SetPlayerAvatarStateMask(0x01); if (task->data[15] & 0x08) { - sub_81555AC(mapObject->mapobj_unk_1A, 0); + sub_81555AC(mapObject->fieldEffectSpriteId, 0); } FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); CameraObjectReset2(); FieldObjectTurn(mapObject, DIR_WEST); StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->mapobj_bit_13 = 0; + mapObject->invisible = 0; task->data[1] = sub_80B94C4(); sub_80B9524(task->data[1]); sub_80B9560(task->data[1], mapObject->spriteId); @@ -3582,8 +3582,8 @@ void sub_80B9978(struct Task *task) { mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; sprite = &gSprites[mapObject->spriteId]; - mapObject->mapobj_bit_12 = 0; - sub_808EB08(mapObject, mapObject->coords2.x, mapObject->coords2.y); + mapObject->inanimate = 0; + sub_808EB08(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; @@ -3623,7 +3623,7 @@ void sub_80B9A60(struct Task *task) if (task->data[15] & 0x08) { state = 3; - sub_81555AC(mapObject->mapobj_unk_1A, 1); + sub_81555AC(mapObject->fieldEffectSpriteId, 1); } FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); FieldObjectTurn(mapObject, DIR_SOUTH); @@ -3723,7 +3723,7 @@ void sub_80B9C54(s16* data, u8 taskId) if (++data[3] > 0x78) { struct Sprite *sprite = &gSprites[gMapObjects[data[2]].spriteId]; - gMapObjects[data[2]].mapobj_bit_13 = TRUE; + gMapObjects[data[2]].invisible = TRUE; BlendPalettes(0x0000FFFF, 0x10, RGB_WHITE); BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITE); sub_80B9D24(sprite); @@ -3845,8 +3845,8 @@ bool8 sub_80B9E28(struct Sprite* sprite) int xPos, yPos; u8 taskId; object = &gMapObjects[mapObjectIdBuffer]; - xPos = object->coords2.x - 7; - yPos = object->coords2.y - 7; + xPos = object->currentCoords.x - 7; + yPos = object->currentCoords.y - 7; xPos = (gFieldEffectArguments[3] - xPos) * 16; yPos = (gFieldEffectArguments[4] - yPos) * 16; npc_coords_shift(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); @@ -3888,7 +3888,7 @@ void sub_80B9EDC(u8 taskId) sprite->pos1.x = data[2]; sprite->pos1.y = data[3]; npc_coords_shift_still(object); - object->mapobj_bit_3 = TRUE; + object->triggerGroundEffectsOnStop = TRUE; FieldEffectActiveListRemove(0x42); DestroyTask(taskId); } diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 2d9973488..8a4fb7c69 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -346,7 +346,7 @@ void sub_80FB6EC(void) void sub_80FB768(void) { sub_80FB6EC(); - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_13 = TRUE; + gMapObjects[gPlayerAvatar.mapObjectId].invisible = TRUE; pal_fill_black(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c index 3a67950de..d57cc5b86 100644 --- a/src/map_obj_lock.c +++ b/src/map_obj_lock.c @@ -54,7 +54,7 @@ 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] && !gMapObjects[gSelectedMapObject].singleMovementActive) { FreezeMapObject(&gMapObjects[gSelectedMapObject]); task->data[1] = 1; @@ -81,7 +81,7 @@ void LockSelectedMapObject(void) u8 taskId; FreezeMapObjectsExceptOne(gSelectedMapObject); taskId = CreateTask(sub_8098400, 80); - if (!gMapObjects[gSelectedMapObject].mapobj_bit_1) + if (!gMapObjects[gSelectedMapObject].singleMovementActive) { FreezeMapObject(&gMapObjects[gSelectedMapObject]); gTasks[taskId].data[1] = 1; @@ -128,7 +128,7 @@ static void sub_80985BC(u8 taskId) sub_808B864(); task->data[0] = 1; } - if (!task->data[1] && !gMapObjects[mapObjectId].mapobj_bit_1) + if (!task->data[1] && !gMapObjects[mapObjectId].singleMovementActive) { FreezeMapObject(&gMapObjects[mapObjectId]); task->data[1] = 1; @@ -147,14 +147,14 @@ void sub_8098630(void) sub_8098074(trainerObjectId1, trainerObjectId2); taskId = CreateTask(sub_80985BC, 80); gTasks[taskId].data[2] = trainerObjectId1; - if(!gMapObjects[trainerObjectId1].mapobj_bit_1) + if(!gMapObjects[trainerObjectId1].singleMovementActive) { FreezeMapObject(&gMapObjects[trainerObjectId1]); gTasks[taskId].data[1] = 1; } taskId = CreateTask(sub_80985BC, 81); gTasks[taskId].data[2] = trainerObjectId2; - if(!gMapObjects[trainerObjectId2].mapobj_bit_1) + if(!gMapObjects[trainerObjectId2].singleMovementActive) { FreezeMapObject(&gMapObjects[trainerObjectId2]); gTasks[taskId].data[1] = 1; @@ -165,7 +165,7 @@ void sub_8098630(void) FreezeMapObjectsExceptOne(trainerObjectId1); taskId = CreateTask(sub_80985BC, 80); gTasks[taskId].data[2] = trainerObjectId1; - if(!gMapObjects[trainerObjectId1].mapobj_bit_1) + if(!gMapObjects[trainerObjectId1].singleMovementActive) { FreezeMapObject(&gMapObjects[trainerObjectId1]); gTasks[taskId].data[1] = 1; diff --git a/src/overworld.c b/src/overworld.c index b895ba43e..3279ce4fb 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -2202,7 +2202,7 @@ static void sub_8086A68(void) static void sub_8086A80(void) { - gMapObjects[gPlayerAvatar.mapObjectId].mapobj_bit_15 = 1; + gMapObjects[gPlayerAvatar.mapObjectId].trackedByCamera = 1; InitCameraUpdateCallback(gPlayerAvatar.spriteId); } @@ -2921,7 +2921,7 @@ static void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) linkPlayerMapObj->mode = 0; mapObj->active = 1; - mapObj->mapobj_bit_1 = a4; + mapObj->singleMovementActive = a4; mapObj->range.as_byte = 2; mapObj->spriteId = 64; @@ -2930,12 +2930,12 @@ static void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) static void InitLinkPlayerMapObjectPos(struct MapObject *mapObj, 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; + mapObj->currentCoords.x = x; + mapObj->currentCoords.y = y; + mapObj->previousCoords.x = x; + mapObj->previousCoords.y = y; + sub_8093038(x, y, &mapObj->initialCoords.x, &mapObj->initialCoords.y); + mapObj->initialCoords.x += 8; FieldObjectUpdateZCoord(mapObj); } @@ -2971,8 +2971,8 @@ 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; + *x = mapObj->currentCoords.x; + *y = mapObj->currentCoords.y; } static u8 sub_80878A0(u8 linkPlayerId) @@ -2986,14 +2986,14 @@ static u8 sub_80878C0(u8 linkPlayerId) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - return mapObj->mapobj_unk_0B_0; + return mapObj->currentElevation; } static s32 sub_80878E4(u8 linkPlayerId) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - return 16 - (s8)mapObj->mapobj_unk_21; + return 16 - (s8)mapObj->directionSequenceIndex; } static u8 GetLinkPlayerIdAt(s16 x, s16 y) @@ -3005,7 +3005,7 @@ static u8 GetLinkPlayerIdAt(s16 x, s16 y) && (gLinkPlayerMapObjects[i].mode == 0 || gLinkPlayerMapObjects[i].mode == 2)) { struct MapObject *mapObj = &gMapObjects[gLinkPlayerMapObjects[i].mapObjId]; - if (mapObj->coords2.x == x && mapObj->coords2.y == y) + if (mapObj->currentCoords.x == x && mapObj->currentCoords.y == y) return i; } } @@ -3021,7 +3021,7 @@ static void sub_808796C(u8 linkPlayerId, u8 a2) if (linkPlayerMapObj->active) { if (a2 > 10) - mapObj->mapobj_bit_2 = 1; + mapObj->triggerGroundEffectsOnMove = 1; else gUnknown_08339E00[gUnknown_08339DC8[linkPlayerMapObj->mode](linkPlayerMapObj, mapObj, a2)](linkPlayerMapObj, mapObj); } @@ -3060,7 +3060,7 @@ static u8 sub_8087A20(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapOb } else { - mapObj->mapobj_unk_21 = 16; + mapObj->directionSequenceIndex = 16; npc_coords_shift(mapObj, x, y); FieldObjectUpdateZCoord(mapObj); return 1; @@ -3080,10 +3080,10 @@ static void sub_8087AA0(struct LinkPlayerMapObject *linkPlayerMapObj, struct Map static void sub_8087AA8(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj) { - mapObj->mapobj_unk_21--; + mapObj->directionSequenceIndex--; linkPlayerMapObj->mode = 1; - MoveCoords(mapObj->range.as_byte, &mapObj->coords1.x, &mapObj->coords1.y); - if (!mapObj->mapobj_unk_21) + MoveCoords(mapObj->range.as_byte, &mapObj->initialCoords.x, &mapObj->initialCoords.y); + if (!mapObj->directionSequenceIndex) { npc_coords_shift_still(mapObj); linkPlayerMapObj->mode = 2; @@ -3117,8 +3117,8 @@ static u8 LinkPlayerDetectCollision(u8 selfMapObjId, u8 a2, s16 x, s16 y) { if (i != selfMapObjId) { - if ((gMapObjects[i].coords2.x == x && gMapObjects[i].coords2.y == y) - || (gMapObjects[i].coords3.x == x && gMapObjects[i].coords3.y == y)) + if ((gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) + || (gMapObjects[i].previousCoords.x == x && gMapObjects[i].previousCoords.y == y)) { return 1; } @@ -3140,21 +3140,21 @@ static void CreateLinkPlayerSprite(u8 linkPlayerId, u8 gameVersion) { case VERSION_FIRE_RED: case VERSION_LEAF_GREEN: - mapObj->spriteId = AddPseudoFieldObject(sub_808BD6C(mapObj->mapobj_bit_1), SpriteCB_LinkPlayer, 0, 0, 0); + mapObj->spriteId = AddPseudoFieldObject(sub_808BD6C(mapObj->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); + mapObj->spriteId = AddPseudoFieldObject(sub_808BD7C(mapObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); break; case VERSION_EMERALD: - mapObj->spriteId = AddPseudoFieldObject(GetRivalAvatarGraphicsIdByStateIdAndGender(0, mapObj->mapobj_bit_1), SpriteCB_LinkPlayer, 0, 0, 0); + mapObj->spriteId = AddPseudoFieldObject(GetRivalAvatarGraphicsIdByStateIdAndGender(0, mapObj->singleMovementActive), SpriteCB_LinkPlayer, 0, 0, 0); break; } sprite = &gSprites[mapObj->spriteId]; sprite->coordOffsetEnabled = TRUE; sprite->data[0] = linkPlayerId; - mapObj->mapobj_bit_2 = 0; + mapObj->triggerGroundEffectsOnMove = 0; } } @@ -3162,10 +3162,10 @@ 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); + sprite->pos1.x = mapObj->initialCoords.x; + sprite->pos1.y = mapObj->initialCoords.y; + SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); + sprite->oam.priority = ZCoordToPriority(mapObj->previousElevation); if (!linkPlayerMapObj->mode) StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObj->range.as_byte)); @@ -3173,7 +3173,7 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->range.as_byte)); sub_80979D4(sprite, 0); - if (mapObj->mapobj_bit_2) + if (mapObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); sprite->data[7]++; diff --git a/src/trainer_see.c b/src/trainer_see.c index 28fe0064b..16520c27a 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -284,8 +284,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 { @@ -303,10 +303,10 @@ 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) { - 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; } @@ -314,10 +314,10 @@ static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 rang // 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) { - 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; } @@ -325,10 +325,10 @@ static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 rang // 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) { - 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; } @@ -336,10 +336,10 @@ static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range // 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) { - 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; } @@ -357,8 +357,8 @@ 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)) @@ -441,7 +441,7 @@ static bool8 sub_80B417C(u8 taskId, struct Task *task, struct MapObject *trainer FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); + direction = GetFaceDirectionAnimId(trainerObj->facingDirection); FieldObjectSetSpecialAnim(trainerObj, direction); task->tFuncId++; return TRUE; @@ -456,9 +456,9 @@ static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct MapObject *trainer 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; } @@ -470,7 +470,7 @@ static bool8 sub_80B4200(u8 taskId, struct Task *task, struct MapObject *trainer { if (task->tTrainerRange) { - FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->mapobj_unk_18)); + FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); task->tTrainerRange--; } else @@ -489,8 +489,8 @@ static bool8 sub_80B425C(u8 taskId, struct Task *task, struct MapObject *trainer if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(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)); + npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); + sub_808F23C(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); sub_808F208(trainerObj); playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; @@ -498,7 +498,7 @@ static bool8 sub_80B425C(u8 taskId, struct Task *task, struct MapObject *trainer return FALSE; sub_808BCE8(); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18))); + FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); task->tFuncId++; return FALSE; } @@ -547,8 +547,8 @@ static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct MapObject *trainer { if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(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); @@ -563,13 +563,13 @@ static bool8 sub_80B4438(u8 taskId, struct Task *task, struct MapObject *trainer 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)); + FieldObjectSetSpecialAnim(trainerObj, sub_80934BC(trainerObj->facingDirection)); task->tFuncId++; } @@ -604,13 +604,13 @@ static void sub_80B44C8(u8 taskId) sTrainerSeeFuncList2[task->data[0]](taskId, task, mapObj); 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)); + npc_set_running_behaviour_etc(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); + sub_808F23C(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); DestroyTask(taskId); } else { - mapObj->mapobj_bit_7 = 0; + mapObj->heldMovementFinished = 0; } } @@ -765,14 +765,14 @@ void sub_80B4808(void) if (gUnknown_030060AC == 1) { trainerObj = &gMapObjects[gApproachingTrainers[gUnknown_03006080].mapObjectId]; - gUnknown_03006084[0] = GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->mapobj_unk_18)); + gUnknown_03006084[0] = GetFaceDirectionAnimId(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); + gUnknown_03006084[0] = GetFaceDirectionAnimId(trainerObj->facingDirection); gUnknown_03006084[1] = 0xFE; ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); } -- cgit v1.2.3 From 73327f0d44195f26d1af8b894326e1b98b609681 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 10:23:14 -0500 Subject: Decompile field_ground_effect into event_object_movement.c --- src/event_object_movement.c | 724 +++++++++++++++++++++++++++++++++++- src/event_object_movement_helpers.c | 5 +- src/metatile_behavior.c | 3 +- src/overworld.c | 1 - 4 files changed, 725 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 261f234f4..5c6f503ef 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -13,7 +13,6 @@ #include "event_data.h" #include "rom_818CFC8.h" #include "rom_81BE66C.h" -#include "field_ground_effect.h" #include "event_object_movement_helpers.h" #include "mauville_old_man.h" #include "metatile_behavior.h" @@ -23,6 +22,7 @@ #include "trainer_see.h" #include "decoration.h" #include "event_object_movement.h" +#include "pokenav.h" #define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 @@ -175,7 +175,7 @@ extern u8 (*const gUnknown_0850DEE8[5])(u8); extern const s16 gUnknown_0850DFBC[3]; extern const s16 gUnknown_0850DFC2[3]; -/*static*/ void FieldObjectUpdateMetatileBehaviors(struct MapObject*); +static void FieldObjectUpdateMetatileBehaviors(struct MapObject*); /*static*/ void GetAllGroundEffectFlags_OnBeginStep(struct MapObject*, u32*); /*static*/ void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); /*static*/ void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject*, u32*); @@ -191,6 +191,17 @@ extern const s16 gUnknown_0850DFC2[3]; /*static*/ void GetGroundEffectFlags_Ripple(struct MapObject*, u32*); /*static*/ void GetGroundEffectFlags_Seaweed(struct MapObject*, u32*); /*static*/ void GetGroundEffectFlags_JumpLanding(struct MapObject*, u32*); +/*static*/ u8 FieldObjectCheckForReflectiveSurface(struct MapObject*); +static u8 GetReflectionTypeByMetatileBehavior(u32); +static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); +static void FieldObjectUpdateSubpriority(struct MapObject*, struct Sprite*); +static void DoTracksGroundEffect_None(struct MapObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_Footprints(struct MapObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_BikeTireTracks(struct MapObject*, struct Sprite*, u8); +/*static*/ void DoRippleFieldEffect(struct MapObject*, struct Sprite*); +static void DoGroundEffects_OnSpawn(struct MapObject*, struct Sprite*); +static void DoGroundEffects_OnBeginStep(struct MapObject*, struct Sprite*); +static void DoGroundEffects_OnFinishStep(struct MapObject*, struct Sprite*); // Code @@ -5174,3 +5185,712 @@ static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite GetGroundEffectFlags_Seaweed(eventObj, flags); GetGroundEffectFlags_JumpLanding(eventObj, flags); } + +static void FieldObjectUpdateMetatileBehaviors(struct MapObject *eventObj) +{ + eventObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->previousCoords.x, eventObj->previousCoords.y); + eventObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->currentCoords.x, eventObj->currentCoords.y); +} + +void GetGroundEffectFlags_Reflection(struct MapObject *eventObj, u32 *flags) +{ + u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; + u8 type = FieldObjectCheckForReflectiveSurface(eventObj); + + if (type) + { + if (!eventObj->hasReflection) + { + eventObj->hasReflection = 0; + eventObj->hasReflection = 1; + *flags |= reflectionFlags[type - 1]; + } + } + else + { + eventObj->hasReflection = 0; + } +} + +void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; +} + +void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; +} + +void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; +} + +void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; +} + +void GetGroundEffectFlags_Tracks(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) + { + *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; + } + else if (MetatileBehavior_IsSandOrDeepSand(eventObj->previousMetatileBehavior) + || MetatileBehavior_IsUnusedFootprintMetatile(eventObj->previousMetatileBehavior)) + { + *flags |= GROUND_EFFECT_FLAG_SAND; + } +} + +void GetGroundEffectFlags_SandHeap(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsDeepSand(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) + { + if (!eventObj->inSandPile) + { + eventObj->inSandPile = 0; + eventObj->inSandPile = 1; + *flags |= GROUND_EFFECT_FLAG_SAND_PILE; + } + } + else + { + eventObj->inSandPile = 0; + } +} + +void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *eventObj, u32 *flags) +{ + if ((MetatileBehavior_IsShallowFlowingWater(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsShallowFlowingWater(eventObj->previousMetatileBehavior)) + || (MetatileBehavior_IsPacifidlogLog(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsPacifidlogLog(eventObj->previousMetatileBehavior))) + { + if (!eventObj->inShallowFlowingWater) + { + eventObj->inShallowFlowingWater = 0; + eventObj->inShallowFlowingWater = 1; + *flags |= GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER; + } + } + else + { + eventObj->inShallowFlowingWater = 0; + } +} + +void GetGroundEffectFlags_Puddle(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsPuddle(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsPuddle(eventObj->previousMetatileBehavior)) + { + *flags |= GROUND_EFFECT_FLAG_PUDDLE; + } +} + +void GetGroundEffectFlags_Ripple(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_HasRipples(eventObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_RIPPLES; +} + +void GetGroundEffectFlags_ShortGrass(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsShortGrass(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsShortGrass(eventObj->previousMetatileBehavior)) + { + if (!eventObj->inShortGrass) + { + eventObj->inShortGrass = 0; + eventObj->inShortGrass = 1; + *flags |= GROUND_EFFECT_FLAG_SHORT_GRASS; + } + } + else + { + eventObj->inShortGrass = 0; + } +} + +void GetGroundEffectFlags_HotSprings(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsHotSprings(eventObj->currentMetatileBehavior) + && MetatileBehavior_IsHotSprings(eventObj->previousMetatileBehavior)) + { + if (!eventObj->inHotSprings) + { + eventObj->inHotSprings = 0; + eventObj->inHotSprings = 1; + *flags |= GROUND_EFFECT_FLAG_HOT_SPRINGS; + } + } + else + { + eventObj->inHotSprings = 0; + } +} + +void GetGroundEffectFlags_Seaweed(struct MapObject *eventObj, u32 *flags) +{ + if (MetatileBehavior_IsSeaweed(eventObj->currentMetatileBehavior)) + *flags |= GROUND_EFFECT_FLAG_SEAWEED; +} + +void GetGroundEffectFlags_JumpLanding(struct MapObject *eventObj, u32 *flags) +{ + typedef bool8 (*MetatileFunc)(u8); + + static const MetatileFunc metatileFuncs[] = { + MetatileBehavior_IsTallGrass, + MetatileBehavior_IsLongGrass, + MetatileBehavior_IsPuddle, + MetatileBehavior_IsSurfableWaterOrUnderwater, + MetatileBehavior_IsShallowFlowingWater, + MetatileBehavior_IsATile, + }; + + static const u32 jumpLandingFlags[] = { + GROUND_EFFECT_FLAG_LAND_IN_TALL_GRASS, + GROUND_EFFECT_FLAG_LAND_IN_LONG_GRASS, + GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER, + GROUND_EFFECT_FLAG_LAND_IN_DEEP_WATER, + GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER, + GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND, + }; + + if (eventObj->landingJump && !eventObj->disableJumpLandingGroundEffect) + { + u8 i; + + for (i = 0; i < ARRAY_COUNT(metatileFuncs); i++) + { + if (metatileFuncs[i](eventObj->currentMetatileBehavior)) + { + *flags |= jumpLandingFlags[i]; + return; + } + } + } +} + +u8 FieldObjectCheckForReflectiveSurface(struct MapObject *eventObj) +{ + const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); + + // ceil div by tile width? + s16 width = (info->width + 8) >> 4; + s16 height = (info->height + 8) >> 4; + s16 i; + s16 j; + u8 result; + u8 b; + s16 one; + +#define RETURN_REFLECTION_TYPE_AT(x, y) \ + b = MapGridGetMetatileBehaviorAt(x, y); \ + result = GetReflectionTypeByMetatileBehavior(b); \ + if (result != 0) \ + return result; + + for (i = 0, one = 1; i < height; i++) + { + RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x, eventObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x, eventObj->previousCoords.y + one + i) + for (j = 1; j < width; j++) + { + RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x + j, eventObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->currentCoords.x - j, eventObj->currentCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x + j, eventObj->previousCoords.y + one + i) + RETURN_REFLECTION_TYPE_AT(eventObj->previousCoords.x - j, eventObj->previousCoords.y + one + i) + } + } + return 0; + +#undef RETURN_REFLECTION_TYPE_AT +} + +static u8 GetReflectionTypeByMetatileBehavior(u32 behavior) +{ + if (MetatileBehavior_IsIce(behavior)) + return 1; + else if (MetatileBehavior_IsReflective(behavior)) + return 2; + else + return 0; +} + +u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) +{ + static bool8 (*const unknown_08376040[])(u8) = { + MetatileBehavior_IsJumpSouth, + MetatileBehavior_IsJumpNorth, + MetatileBehavior_IsJumpWest, + MetatileBehavior_IsJumpEast, + }; + + u8 b; + u8 index = z; + + if (index == 0) + return 0; + else if (index > 4) + index -= 4; + + index--; + b = MapGridGetMetatileBehaviorAt(x, y); + + if (unknown_08376040[index](b) == 1) + return index + 1; + + return 0; +} + +void FieldObjectSetSpriteOamTableForLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + if (eventObj->disableCoveringGroundEffects) + return; + + if (!MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) + return; + + if (!MetatileBehavior_IsLongGrass(eventObj->previousMetatileBehavior)) + return; + + sprite->subspriteTableNum = 4; + + if (ZCoordToPriority(eventObj->previousElevation) == 1) + sprite->subspriteTableNum = 5; +} + +bool8 IsZCoordMismatchAt(u8 z, s16 x, s16 y) +{ + u8 mapZ; + + if (z == 0) + return FALSE; + + mapZ = MapGridGetZCoordAt(x, y); + + if (mapZ == 0 || mapZ == 0xF) + return FALSE; + + if (mapZ != z) + return TRUE; + + return FALSE; +} + +static const u8 sUnknown_08376050[] = { + 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 +}; + +// Each byte corresponds to a sprite priority for an event object. +// This is directly the inverse of gEventObjectPriorities_08376070. +static const u8 sEventObjectPriorities_08376060[] = { + 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2 +}; + +// Each byte corresponds to a sprite priority for an event object. +// This is the inverse of gEventObjectPriorities_08376060. +// 1 = Above player sprite +// 2 = Below player sprite +static const u8 sEventObjectPriorities_08376070[] = { + 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, +}; + +void FieldObjectUpdateZCoordAndPriority(struct MapObject *eventObj, struct Sprite *sprite) +{ + if (eventObj->fixedPriority) + return; + + FieldObjectUpdateZCoord(eventObj); + + sprite->subspriteTableNum = sEventObjectPriorities_08376070[eventObj->previousElevation]; + sprite->oam.priority = sEventObjectPriorities_08376060[eventObj->previousElevation]; +} + +static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z) +{ + sprite->subspriteTableNum = sEventObjectPriorities_08376070[z]; + sprite->oam.priority = sEventObjectPriorities_08376060[z]; +} + +u8 ZCoordToPriority(u8 z) +{ + return sEventObjectPriorities_08376060[z]; +} + +void FieldObjectUpdateZCoord(struct MapObject *eventObj) +{ + u8 z = MapGridGetZCoordAt(eventObj->currentCoords.x, eventObj->currentCoords.y); + u8 z2 = MapGridGetZCoordAt(eventObj->previousCoords.x, eventObj->previousCoords.y); + + if (z == 0xF || z2 == 0xF) + return; + + eventObj->currentElevation = z; + + if (z != 0 && z != 0xF) + eventObj->previousElevation = z; +} + +void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) +{ + s32 tmp = sprite->centerToCornerVecY; + u32 tmpa = *(u16 *)&sprite->pos1.y; + u32 tmpb = *(u16 *)&gSpriteCoordOffsetY; + s32 tmp2 = (tmpa - tmp) + tmpb; + u16 tmp3 = (0x10 - ((((u32)tmp2 + 8) & 0xFF) >> 4)) * 2; + sprite->subpriority = tmp3 + sUnknown_08376050[a] + b; +} + +static void FieldObjectUpdateSubpriority(struct MapObject *eventObj, struct Sprite *sprite) +{ + if (eventObj->fixedPriority) + return; + + SetObjectSubpriorityByZCoord(eventObj->previousElevation, sprite, 1); +} + +bool8 AreZCoordsCompatible(u8 a, u8 b) +{ + if (a == 0 || b == 0) + return TRUE; + + if (a != b) + return FALSE; + + return TRUE; +} + +void GroundEffect_SpawnOnTallGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; + gFieldEffectArguments[7] = 1; + FieldEffectStart(FLDEFF_TALL_GRASS); +} + +void GroundEffect_StepOnTallGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; + gFieldEffectArguments[7] = 0; + FieldEffectStart(FLDEFF_TALL_GRASS); +} + +void GroundEffect_SpawnOnLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = eventObj->localId << 8 | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; + gFieldEffectArguments[7] = 1; + FieldEffectStart(FLDEFF_LONG_GRASS); +} + +void GroundEffect_StepOnLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = (eventObj->localId << 8) | eventObj->mapNum; + gFieldEffectArguments[5] = eventObj->mapGroup; + gFieldEffectArguments[6] = (u8)gSaveBlock1Ptr->location.mapNum << 8 | (u8)gSaveBlock1Ptr->location.mapGroup; + gFieldEffectArguments[7] = 0; + FieldEffectStart(FLDEFF_LONG_GRASS); +} + +void GroundEffect_WaterReflection(struct MapObject *eventObj, struct Sprite *sprite) +{ + SetUpReflection(eventObj, sprite, 0); +} + +void GroundEffect_IceReflection(struct MapObject *eventObj, struct Sprite *sprite) +{ + SetUpReflection(eventObj, sprite, 1); +} + +void GroundEffect_FlowingWater(struct MapObject *eventObj, struct Sprite *sprite) +{ + StartFieldEffectForEventObject(FLDEFF_FEET_IN_FLOWING_WATER, eventObj); +} + +static void (*const sGroundEffectTracksFuncs[])(struct MapObject *eventObj, struct Sprite *sprite, u8 a) = { + DoTracksGroundEffect_None, + DoTracksGroundEffect_Footprints, + DoTracksGroundEffect_BikeTireTracks, +}; + +void GroundEffect_SandTracks(struct MapObject *eventObj, struct Sprite *sprite) +{ + const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); + sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 0); +} + +void GroundEffect_DeepSandTracks(struct MapObject *eventObj, struct Sprite *sprite) +{ + const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); + sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 1); +} + +static void DoTracksGroundEffect_None(struct MapObject *eventObj, struct Sprite *sprite, u8 a) +{ +} + +static void DoTracksGroundEffect_Footprints(struct MapObject *eventObj, struct Sprite *sprite, u8 a) +{ + // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) + u16 sandFootprints_FieldEffectData[2] = { + FLDEFF_SAND_FOOTPRINTS, + FLDEFF_DEEP_SAND_FOOTPRINTS + }; + + gFieldEffectArguments[0] = eventObj->previousCoords.x; + gFieldEffectArguments[1] = eventObj->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = eventObj->facingDirection; + FieldEffectStart(sandFootprints_FieldEffectData[a]); +} + +static void DoTracksGroundEffect_BikeTireTracks(struct MapObject *eventObj, struct Sprite *sprite, u8 a) +{ + // Specifies which bike track shape to show next. + // For example, when the bike turns from up to right, it will show + // a track that curves to the right. + // Each 4-byte row corresponds to the initial direction of the bike, and + // each byte in that row is for the next direction of the bike in the order + // of down, up, left, right. + static const u8 bikeTireTracks_Transitions[4][4] = { + 1, 2, 7, 8, + 1, 2, 6, 5, + 5, 8, 3, 4, + 6, 7, 3, 4, + }; + + if (eventObj->currentCoords.x != eventObj->previousCoords.x || eventObj->currentCoords.y != eventObj->previousCoords.y) + { + gFieldEffectArguments[0] = eventObj->previousCoords.x; + gFieldEffectArguments[1] = eventObj->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = + bikeTireTracks_Transitions[eventObj->previousMovementDirection][eventObj->facingDirection - 5]; + FieldEffectStart(FLDEFF_BIKE_TIRE_TRACKS); + } +} + +void GroundEffect_Ripple(struct MapObject *eventObj, struct Sprite *sprite) +{ + DoRippleFieldEffect(eventObj, sprite); +} + +void GroundEffect_StepOnPuddle(struct MapObject *eventObj, struct Sprite *sprite) +{ + StartFieldEffectForEventObject(FLDEFF_SPLASH, eventObj); +} + +void GroundEffect_SandHeap(struct MapObject *eventObj, struct Sprite *sprite) +{ + StartFieldEffectForEventObject(FLDEFF_SAND_PILE, eventObj); +} + +void GroundEffect_JumpOnTallGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + u8 spriteId; + + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = 2; + FieldEffectStart(FLDEFF_JUMP_TALL_GRASS); + + spriteId = sub_81546C8( + eventObj->localId, eventObj->mapNum, eventObj->mapGroup, eventObj->currentCoords.x, eventObj->currentCoords.y); + + if (spriteId == MAX_SPRITES) + GroundEffect_SpawnOnTallGrass(eventObj, sprite); +} + +void GroundEffect_JumpOnLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = 2; + FieldEffectStart(FLDEFF_JUMP_LONG_GRASS); +} + +void GroundEffect_JumpOnShallowWater(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_JUMP_SMALL_SPLASH); +} + +void GroundEffect_JumpOnWater(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_JUMP_BIG_SPLASH); +} + +void GroundEffect_JumpLandingDust(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + gFieldEffectArguments[2] = eventObj->previousElevation; + gFieldEffectArguments[3] = sprite->oam.priority; + FieldEffectStart(FLDEFF_DUST); +} + +void GroundEffect_ShortGrass(struct MapObject *eventObj, struct Sprite *sprite) +{ + StartFieldEffectForEventObject(FLDEFF_SHORT_GRASS, eventObj); +} + +void GroundEffect_HotSprings(struct MapObject *eventObj, struct Sprite *sprite) +{ + StartFieldEffectForEventObject(FLDEFF_HOT_SPRINGS_WATER, eventObj); +} + +void GroundEffect_Seaweed(struct MapObject *eventObj, struct Sprite *sprite) +{ + gFieldEffectArguments[0] = eventObj->currentCoords.x; + gFieldEffectArguments[1] = eventObj->currentCoords.y; + FieldEffectStart(FLDEFF_BUBBLES); +} + +static void (*const sGroundEffectFuncs[])(struct MapObject *eventObj, struct Sprite *sprite) = { + GroundEffect_SpawnOnTallGrass, + GroundEffect_StepOnTallGrass, + GroundEffect_SpawnOnLongGrass, + GroundEffect_StepOnLongGrass, + GroundEffect_WaterReflection, + GroundEffect_IceReflection, + GroundEffect_FlowingWater, + GroundEffect_SandTracks, + GroundEffect_DeepSandTracks, + GroundEffect_Ripple, + GroundEffect_StepOnPuddle, + GroundEffect_SandHeap, + GroundEffect_JumpOnTallGrass, + GroundEffect_JumpOnLongGrass, + GroundEffect_JumpOnShallowWater, + GroundEffect_JumpOnWater, + GroundEffect_JumpLandingDust, + GroundEffect_ShortGrass, + GroundEffect_HotSprings, + GroundEffect_Seaweed +}; + +/*static*/ void DoFlaggedGroundEffects(struct MapObject *eventObj, struct Sprite *sprite, u32 flags) +{ + u8 i; + + if (FieldObjectIsFarawayIslandMew(eventObj) == TRUE && !sub_81D4A58(eventObj)) + return; + + for (i = 0; i < ARRAY_COUNT(sGroundEffectFuncs); i++, flags >>= 1) + if (flags & 1) + sGroundEffectFuncs[i](eventObj, sprite); +} + +void filters_out_some_ground_effects(struct MapObject *eventObj, u32 *flags) +{ + if (eventObj->disableCoveringGroundEffects) + { + eventObj->inShortGrass = 0; + eventObj->inSandPile = 0; + eventObj->inShallowFlowingWater = 0; + eventObj->inHotSprings = 0; + *flags &= ~(GROUND_EFFECT_FLAG_HOT_SPRINGS + | GROUND_EFFECT_FLAG_SHORT_GRASS + | GROUND_EFFECT_FLAG_SAND_PILE + | GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER + | GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE); + } +} + +void FilterOutStepOnPuddleGroundEffectIfJumping(struct MapObject *eventObj, u32 *flags) +{ + if (eventObj->landingJump) + *flags &= ~GROUND_EFFECT_FLAG_PUDDLE; +} + +static void DoGroundEffects_OnSpawn(struct MapObject *eventObj, struct Sprite *sprite) +{ + u32 flags; + + if (eventObj->triggerGroundEffectsOnMove) + { + flags = 0; + FieldObjectUpdateZCoordAndPriority(eventObj, sprite); + GetAllGroundEffectFlags_OnSpawn(eventObj, &flags); + FieldObjectSetSpriteOamTableForLongGrass(eventObj, sprite); + DoFlaggedGroundEffects(eventObj, sprite, flags); + eventObj->triggerGroundEffectsOnMove = 0; + eventObj->disableCoveringGroundEffects = 0; + } +} + +static void DoGroundEffects_OnBeginStep(struct MapObject *eventObj, struct Sprite *sprite) +{ + u32 flags; + + if (eventObj->triggerGroundEffectsOnMove) + { + flags = 0; + FieldObjectUpdateZCoordAndPriority(eventObj, sprite); + GetAllGroundEffectFlags_OnBeginStep(eventObj, &flags); + FieldObjectSetSpriteOamTableForLongGrass(eventObj, sprite); + filters_out_some_ground_effects(eventObj, &flags); + DoFlaggedGroundEffects(eventObj, sprite, flags); + eventObj->triggerGroundEffectsOnMove = 0; + eventObj->disableCoveringGroundEffects = 0; + } +} + +static void DoGroundEffects_OnFinishStep(struct MapObject *eventObj, struct Sprite *sprite) +{ + u32 flags; + + if (eventObj->triggerGroundEffectsOnStop) + { + flags = 0; + FieldObjectUpdateZCoordAndPriority(eventObj, sprite); + GetAllGroundEffectFlags_OnFinishStep(eventObj, &flags); + FieldObjectSetSpriteOamTableForLongGrass(eventObj, sprite); + FilterOutStepOnPuddleGroundEffectIfJumping(eventObj, &flags); + DoFlaggedGroundEffects(eventObj, sprite, flags); + eventObj->triggerGroundEffectsOnStop = 0; + eventObj->landingJump = 0; + } +} diff --git a/src/event_object_movement_helpers.c b/src/event_object_movement_helpers.c index 660c8961a..6a8b410f5 100755 --- a/src/event_object_movement_helpers.c +++ b/src/event_object_movement_helpers.c @@ -1,5 +1,4 @@ #include "global.h" -#include "field_ground_effect.h" #include "event_object_movement.h" #include "field_effect.h" #include "event_object_movement_helpers.h" @@ -504,7 +503,7 @@ bool32 sub_8097D9C(u8 var) return FALSE; } -u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject) +u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct MapObject *mapObject) { FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); @@ -515,7 +514,7 @@ void DoShadowFieldEffect(struct MapObject *mapObject) if (!mapObject->hasShadow) { mapObject->hasShadow = 1; - oe_exec_and_other_stuff(FLDEFF_SHADOW, mapObject); + StartFieldEffectForEventObject(FLDEFF_SHADOW, mapObject); } } diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index b9760f522..ad0062c20 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -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; } diff --git a/src/overworld.c b/src/overworld.c index 3279ce4fb..045ebb4fd 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -10,7 +10,6 @@ #include "field_control_avatar.h" #include "field_effect.h" #include "field_fadetransition.h" -#include "field_ground_effect.h" #include "event_object_movement.h" #include "event_object_movement_helpers.h" #include "field_message_box.h" -- cgit v1.2.3 From eb8dbff4a783e880d950be73963e523c86a54615 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 10:34:51 -0500 Subject: Move event_object_movement_helpers into event_object_movement --- src/event_object_movement.c | 747 ++++++++++++++++++++++++++++++++++-- src/event_object_movement_helpers.c | 704 --------------------------------- 2 files changed, 721 insertions(+), 730 deletions(-) delete mode 100755 src/event_object_movement_helpers.c (limited to 'src') diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 5c6f503ef..a935f20d6 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -23,6 +23,7 @@ #include "decoration.h" #include "event_object_movement.h" #include "pokenav.h" +#include "util.h" #define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 @@ -110,7 +111,7 @@ u8 GetJumpLedgeAnimId(u32); void sub_8092F88(u32, s16 *, s16 *, s16, s16); bool8 FieldObjectExecRegularAnim(struct MapObject *, struct Sprite *); -void SetFieldObjectStepTimer(struct Sprite *, s16); +static void SetFieldObjectStepTimer(struct Sprite *, s16); bool8 RunFieldObjectStepTimer(struct Sprite *); bool8 npc_block_way__next_tile(struct MapObject *, u8); static u32 state_to_direction(u8, u32, u32); @@ -129,8 +130,8 @@ static void npc_update_obj_anim_flag(struct MapObject *, struct Sprite *); // ROM data extern void (*const gUnknown_08505438[NUM_FIELD_MAP_OBJECT_TEMPLATES])(struct Sprite *); -extern const u8 gUnknown_0850557C[NUM_FIELD_MAP_OBJECT_TEMPLATES]; -extern const u8 gUnknown_085055CD[NUM_FIELD_MAP_OBJECT_TEMPLATES]; +extern const u8 gRangedMovementTypes[NUM_FIELD_MAP_OBJECT_TEMPLATES]; +extern const u8 gInitialMovementTypeFacingDirections[NUM_FIELD_MAP_OBJECT_TEMPLATES]; extern const struct MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[7]; extern const struct MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[0xEF]; extern u8 (*const gUnknown_0850D714[11])(s16, s16, s16, s16); @@ -175,6 +176,18 @@ extern u8 (*const gUnknown_0850DEE8[5])(u8); extern const s16 gUnknown_0850DFBC[3]; extern const s16 gUnknown_0850DFC2[3]; +typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); + +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[]; + static void FieldObjectUpdateMetatileBehaviors(struct MapObject*); /*static*/ void GetAllGroundEffectFlags_OnBeginStep(struct MapObject*, u32*); /*static*/ void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); @@ -202,6 +215,8 @@ static void DoTracksGroundEffect_BikeTireTracks(struct MapObject*, struct Sprite static void DoGroundEffects_OnSpawn(struct MapObject*, struct Sprite*); static void DoGroundEffects_OnBeginStep(struct MapObject*, struct Sprite*); static void DoGroundEffects_OnFinishStep(struct MapObject*, struct Sprite*); +static void sub_8097D68(struct Sprite*); +static void sub_8097FE4(u8); // Code @@ -359,15 +374,15 @@ static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u mapObject->currentElevation = template->elevation; mapObject->previousElevation = template->elevation; // For some reason, 0x0F is placed in r9, to be used later - mapObject->range.as_nybbles.x = template->unkA_0; - mapObject->range.as_nybbles.y = template->unkA_4; - mapObject->trainerType = template->unkC; - mapObject->trainerRange_berryTreeId = template->unkE; - mapObject->previousMovementDirection = gUnknown_085055CD[template->movementType]; + mapObject->range.as_nybbles.x = template->movementRangeX; + mapObject->range.as_nybbles.y = template->movementRangeY; + mapObject->trainerType = template->trainerType; + mapObject->trainerRange_berryTreeId = template->trainerRange_berryTreeId; + mapObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; FieldObjectSetDirection(mapObject, mapObject->previousMovementDirection); FieldObjectHandleDynamicGraphicsId(mapObject); - if (gUnknown_0850557C[mapObject->movementType]) + if (gRangedMovementTypes[mapObject->movementType]) { if ((mapObject->range.as_nybbles.x) == 0) { @@ -478,7 +493,7 @@ static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *templ "\tstrb r0, [r4, 0x7]\n" "\tldrh r0, [r5, 0xE]\n" "\tstrb r0, [r4, 0x1D]\n" - "\tldr r1, =gUnknown_085055CD\n" + "\tldr r1, =gInitialMovementTypeFacingDirections\n" "\tldrb r0, [r5, 0x9]\n" "\tadds r0, r1\n" "\tldrb r1, [r0]\n" @@ -490,7 +505,7 @@ static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *templ "\tbl FieldObjectSetDirection\n" "\tadds r0, r4, 0\n" "\tbl FieldObjectHandleDynamicGraphicsId\n" - "\tldr r1, =gUnknown_0850557C\n" + "\tldr r1, =gRangedMovementTypes\n" "\tldrb r0, [r4, 0x6]\n" "\tadds r0, r1\n" "\tldrb r0, [r0]\n" @@ -744,10 +759,10 @@ u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 lo mapObjectTemplate.y = y; mapObjectTemplate.elevation = z; mapObjectTemplate.movementType = movementBehavior; - mapObjectTemplate.unkA_0 = 0; - mapObjectTemplate.unkA_4 = 0; - mapObjectTemplate.unkC = 0; - mapObjectTemplate.unkE = 0; + mapObjectTemplate.movementRangeX = 0; + mapObjectTemplate.movementRangeY = 0; + mapObjectTemplate.trainerType = 0; + mapObjectTemplate.trainerRange_berryTreeId = 0; return SpawnSpecialFieldObject(&mapObjectTemplate); } @@ -3125,7 +3140,7 @@ bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite) { u8 direction; - direction = gUnknown_085055CD[mapObject->movementType]; + direction = gInitialMovementTypeFacingDirections[mapObject->movementType]; if (mapObject->directionSequenceIndex) { direction = GetOppositeDirection(direction); @@ -3284,7 +3299,7 @@ bool8 sub_8091F48(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); + FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; @@ -3303,7 +3318,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD if (direction == 0) { direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); mapObject->singleMovementActive = TRUE; @@ -3313,7 +3328,7 @@ bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD } else { - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); } FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); @@ -3333,7 +3348,7 @@ bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed1AnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) @@ -3352,7 +3367,7 @@ bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed3AnimId(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) @@ -3371,7 +3386,7 @@ bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_8093438(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) @@ -3388,7 +3403,7 @@ bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 pl u32 direction; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction)); mapObject->singleMovementActive = TRUE; sprite->data[1] = 2; @@ -3402,7 +3417,7 @@ bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); FieldObjectMoveDestCoords(mapObject, direction, &x, &y); FieldObjectSetRegularAnim(mapObject, sprite, sub_8093514(direction)); if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) @@ -3421,7 +3436,7 @@ bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerD s16 y; direction = playerDirection; - direction = state_to_direction(gUnknown_085055CD[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); x = mapObject->currentCoords.x; y = mapObject->currentCoords.y; sub_8092F88(direction, &x, &y, 2, 2); @@ -4669,7 +4684,7 @@ maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2) bool8 sub_8095438(struct MapObject *mapObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, gUnknown_085055CD[mapObject->movementType]); + an_look_any(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); return TRUE; } @@ -5894,3 +5909,683 @@ static void DoGroundEffects_OnFinishStep(struct MapObject *eventObj, struct Spri eventObj->landingJump = 0; } } + +bool8 FreezeMapObject(struct MapObject *mapObject) +{ + if (mapObject->heldMovementActive || mapObject->frozen) + { + return TRUE; + } + else + { + mapObject->frozen = 1; + mapObject->spriteAnimPausedBackup = gSprites[mapObject->spriteId].animPaused; + mapObject->spriteAffineAnimPausedBackup = 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->frozen) + { + mapObject->frozen = 0; + gSprites[mapObject->spriteId].animPaused = mapObject->spriteAnimPausedBackup; + gSprites[mapObject->spriteId].affineAnimPaused = mapObject->spriteAffineAnimPausedBackup; + } +} + +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, s16 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; + } + } +} + +static 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 StartFieldEffectForEventObject(u8 fieldEffectId, struct MapObject *mapObject) +{ + FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + return FieldEffectStart(fieldEffectId); +} + +void DoShadowFieldEffect(struct MapObject *mapObject) +{ + if (!mapObject->hasShadow) + { + mapObject->hasShadow = 1; + StartFieldEffectForEventObject(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->inanimate = TRUE; + mapObject->facingDirectionLocked = 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->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + mapObject->facingDirectionLocked = 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->warpArrowSpriteId = taskId; + task->data[3] = 0xFFFF; +} + +static 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; +} diff --git a/src/event_object_movement_helpers.c b/src/event_object_movement_helpers.c deleted file mode 100755 index 6a8b410f5..000000000 --- a/src/event_object_movement_helpers.c +++ /dev/null @@ -1,704 +0,0 @@ -#include "global.h" -#include "event_object_movement.h" -#include "field_effect.h" -#include "event_object_movement_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->heldMovementActive || mapObject->frozen) - { - return TRUE; - } - else - { - mapObject->frozen = 1; - mapObject->spriteAnimPausedBackup = gSprites[mapObject->spriteId].animPaused; - mapObject->spriteAffineAnimPausedBackup = 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->frozen) - { - mapObject->frozen = 0; - gSprites[mapObject->spriteId].animPaused = mapObject->spriteAnimPausedBackup; - gSprites[mapObject->spriteId].affineAnimPaused = mapObject->spriteAffineAnimPausedBackup; - } -} - -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 StartFieldEffectForEventObject(u8 fieldEffectId, struct MapObject *mapObject) -{ - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - return FieldEffectStart(fieldEffectId); -} - -void DoShadowFieldEffect(struct MapObject *mapObject) -{ - if (!mapObject->hasShadow) - { - mapObject->hasShadow = 1; - StartFieldEffectForEventObject(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->inanimate = TRUE; - mapObject->facingDirectionLocked = 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->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; - mapObject->facingDirectionLocked = 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->warpArrowSpriteId = 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; -} -- cgit v1.2.3 From 7de91ed6ae110dbc08ece5626dc41243122a24ff Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Mon, 11 Jun 2018 21:22:41 +0100 Subject: updated label names --- src/tileset_anims.c | 356 ++++++++++++++++++++++++++-------------------------- 1 file changed, 178 insertions(+), 178 deletions(-) (limited to 'src') diff --git a/src/tileset_anims.c b/src/tileset_anims.c index f89cfdd2b..70280170f 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -33,86 +33,86 @@ static void cur_mapheader_run_tileset2_func(void); // .rodata -const u16 gUnknown_085105C4[] = INCBIN_U16("data/tilesets/primary/general/anim/0/1.4bpp"); +const u16 gTilesetAnims_General0_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/0/1.4bpp"); -const u16 gUnknown_08510644[] = INCBIN_U16("data/tilesets/primary/general/anim/0/0.4bpp"); +const u16 gTilesetAnims_General0_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/0/0.4bpp"); -const u16 gUnknown_085106C4[] = INCBIN_U16("data/tilesets/primary/general/anim/0/2.4bpp"); +const u16 gTilesetAnims_General0_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/0/2.4bpp"); const u16 tileset_anims_space_0[16] = {}; const u16 *const gTilesetAnims_General0[] = { - gUnknown_08510644, - gUnknown_085105C4, - gUnknown_08510644, - gUnknown_085106C4 + gTilesetAnims_General0_Frame0, + gTilesetAnims_General0_Frame1, + gTilesetAnims_General0_Frame0, + gTilesetAnims_General0_Frame2 }; -const u16 gUnknown_08510774[] = INCBIN_U16("data/tilesets/primary/general/anim/1/0.4bpp"); +const u16 gTilesetAnims_General1_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/1/0.4bpp"); -const u16 gUnknown_08510B34[] = INCBIN_U16("data/tilesets/primary/general/anim/1/1.4bpp"); +const u16 gTilesetAnims_General1_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/1/1.4bpp"); -const u16 gUnknown_08510EF4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/2.4bpp"); +const u16 gTilesetAnims_General1_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/1/2.4bpp"); -const u16 gUnknown_085112B4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/3.4bpp"); +const u16 gTilesetAnims_General1_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/1/3.4bpp"); -const u16 gUnknown_08511674[] = INCBIN_U16("data/tilesets/primary/general/anim/1/4.4bpp"); +const u16 gTilesetAnims_General1_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/4.4bpp"); -const u16 gUnknown_08511A34[] = INCBIN_U16("data/tilesets/primary/general/anim/1/5.4bpp"); +const u16 gTilesetAnims_General1_Frame5[] = INCBIN_U16("data/tilesets/primary/general/anim/1/5.4bpp"); -const u16 gUnknown_08511DF4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/6.4bpp"); +const u16 gTilesetAnims_General1_Frame6[] = INCBIN_U16("data/tilesets/primary/general/anim/1/6.4bpp"); -const u16 gUnknown_085121B4[] = INCBIN_U16("data/tilesets/primary/general/anim/1/7.4bpp"); +const u16 gTilesetAnims_General1_Frame7[] = INCBIN_U16("data/tilesets/primary/general/anim/1/7.4bpp"); const u16 *const gTilesetAnims_General1[] = { - gUnknown_08510774, - gUnknown_08510B34, - gUnknown_08510EF4, - gUnknown_085112B4, - gUnknown_08511674, - gUnknown_08511A34, - gUnknown_08511DF4, - gUnknown_085121B4 + gTilesetAnims_General1_Frame0, + gTilesetAnims_General1_Frame1, + gTilesetAnims_General1_Frame2, + gTilesetAnims_General1_Frame3, + gTilesetAnims_General1_Frame4, + gTilesetAnims_General1_Frame5, + gTilesetAnims_General1_Frame6, + gTilesetAnims_General1_Frame7 }; -const u16 gUnknown_08512594[] = INCBIN_U16("data/tilesets/primary/general/anim/2/0.4bpp"); +const u16 gTilesetAnims_General2_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/2/0.4bpp"); -const u16 gUnknown_085126D4[] = INCBIN_U16("data/tilesets/primary/general/anim/2/1.4bpp"); +const u16 gTilesetAnims_General2_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/2/1.4bpp"); -const u16 gUnknown_08512814[] = INCBIN_U16("data/tilesets/primary/general/anim/2/2.4bpp"); +const u16 gTilesetAnims_General2_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/2/2.4bpp"); -const u16 gUnknown_08512954[] = INCBIN_U16("data/tilesets/primary/general/anim/2/3.4bpp"); +const u16 gTilesetAnims_General2_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/2/3.4bpp"); -const u16 gUnknown_08512A94[] = INCBIN_U16("data/tilesets/primary/general/anim/2/4.4bpp"); +const u16 gTilesetAnims_General2_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/2/4.4bpp"); -const u16 gUnknown_08512BD4[] = INCBIN_U16("data/tilesets/primary/general/anim/2/5.4bpp"); +const u16 gTilesetAnims_General2_Frame5[] = INCBIN_U16("data/tilesets/primary/general/anim/2/5.4bpp"); -const u16 gUnknown_08512D14[] = INCBIN_U16("data/tilesets/primary/general/anim/2/6.4bpp"); +const u16 gTilesetAnims_General2_Frame6[] = INCBIN_U16("data/tilesets/primary/general/anim/2/6.4bpp"); const u16 *const gTilesetAnims_General2[] = { - gUnknown_08512594, - gUnknown_085126D4, - gUnknown_08512814, - gUnknown_08512954, - gUnknown_08512A94, - gUnknown_08512BD4, - gUnknown_08512D14, - gUnknown_08512594 + gTilesetAnims_General2_Frame0, + gTilesetAnims_General2_Frame1, + gTilesetAnims_General2_Frame2, + gTilesetAnims_General2_Frame3, + gTilesetAnims_General2_Frame4, + gTilesetAnims_General2_Frame5, + gTilesetAnims_General2_Frame6, + gTilesetAnims_General2_Frame0 }; -const u16 gUnknown_08512E74[] = INCBIN_U16("data/tilesets/primary/general/anim/3/0.4bpp"); +const u16 gTilesetAnims_General3_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/3/0.4bpp"); -const u16 gUnknown_08512F34[] = INCBIN_U16("data/tilesets/primary/general/anim/3/1.4bpp"); +const u16 gTilesetAnims_General3_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/3/1.4bpp"); -const u16 gUnknown_08512FF4[] = INCBIN_U16("data/tilesets/primary/general/anim/3/2.4bpp"); +const u16 gTilesetAnims_General3_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/3/2.4bpp"); -const u16 gUnknown_085130B4[] = INCBIN_U16("data/tilesets/primary/general/anim/3/3.4bpp"); +const u16 gTilesetAnims_General3_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/3/3.4bpp"); const u16 *const gTilesetAnims_General3[] = { - gUnknown_08512E74, - gUnknown_08512F34, - gUnknown_08512FF4, - gUnknown_085130B4 + gTilesetAnims_General3_Frame0, + gTilesetAnims_General3_Frame1, + gTilesetAnims_General3_Frame2, + gTilesetAnims_General3_Frame3 }; const u16 gUnknown_08513184[] = INCBIN_U16("data/tilesets/primary/general/anim/4/0.4bpp"); @@ -158,19 +158,19 @@ const u16 *const gTilesetAnims_Pacifidlog0[] = { gUnknown_08513C64 }; -const u16 gUnknown_085143F4[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/0.4bpp"); +const u16 gTilesetAnims_Underwater0_Frame0[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/0.4bpp"); -const u16 gUnknown_08514474[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/1.4bpp"); +const u16 gTilesetAnims_Underwater0_Frame1[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/1.4bpp"); -const u16 gUnknown_085144F4[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/2.4bpp"); +const u16 gTilesetAnims_Underwater0_Frame2[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/2.4bpp"); -const u16 gUnknown_08514574[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/3.4bpp"); +const u16 gTilesetAnims_Underwater0_Frame3[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/3.4bpp"); const u16 *const gTilesetAnims_Underwater0[] = { - gUnknown_085143F4, - gUnknown_08514474, - gUnknown_085144F4, - gUnknown_08514574 + gTilesetAnims_Underwater0_Frame0, + gTilesetAnims_Underwater0_Frame1, + gTilesetAnims_Underwater0_Frame2, + gTilesetAnims_Underwater0_Frame3 }; const u16 gUnknown_08514604[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); @@ -326,24 +326,24 @@ const u16 *const gTilesetAnims_Rustboro0[] = { gUnknown_08515784 }; -const u16 gUnknown_08515844[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/0.4bpp"); +const u16 gTilesetAnims_Rustboro1_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/0.4bpp"); -const u16 gUnknown_085158C4[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/1.4bpp"); +const u16 gTilesetAnims_Rustboro1_Frame1[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/1.4bpp"); const u16 tileset_anims_space_2[16] = {}; const u16 *const gTilesetAnims_Rustboro1[] = { - gUnknown_08515844, - gUnknown_085158C4 + gTilesetAnims_Rustboro1_Frame0, + gTilesetAnims_Rustboro1_Frame1 }; -const u16 gUnknown_0851596C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/0.4bpp"); +const u16 gTilesetAnims_Lavaridge1_Cave0_Frame0[] = INCBIN_U16("data/tilesets/secondary/cave/anim/0.4bpp"); -const u16 gUnknown_085159EC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/1.4bpp"); +const u16 gTilesetAnims_Lavaridge1_Cave0_Frame1[] = INCBIN_U16("data/tilesets/secondary/cave/anim/1.4bpp"); -const u16 gUnknown_08515A6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/2.4bpp"); +const u16 gTilesetAnims_Lavaridge1_Cave0_Frame2[] = INCBIN_U16("data/tilesets/secondary/cave/anim/2.4bpp"); -const u16 gUnknown_08515AEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/3.4bpp"); +const u16 gTilesetAnims_Lavaridge1_Cave0_Frame3[] = INCBIN_U16("data/tilesets/secondary/cave/anim/3.4bpp"); const u16 gUnknown_08515B6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/0.4bpp"); @@ -356,27 +356,27 @@ const u16 gUnknown_08515CEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/un const u16 tileset_anims_space_3[16] = {}; const u16 *const gTilesetAnims_Lavaridge1_Cave0[] = { - gUnknown_0851596C, - gUnknown_085159EC, - gUnknown_08515A6C, - gUnknown_08515AEC + gTilesetAnims_Lavaridge1_Cave0_Frame0, + gTilesetAnims_Lavaridge1_Cave0_Frame1, + gTilesetAnims_Lavaridge1_Cave0_Frame2, + gTilesetAnims_Lavaridge1_Cave0_Frame3 }; -const u16 gUnknown_08515D9C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/0.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame0[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/0.4bpp"); -const u16 gUnknown_08515E1C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/1.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame1[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/1.4bpp"); -const u16 gUnknown_08515E9C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/2.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame2[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/2.4bpp"); -const u16 gUnknown_08515F1C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/3.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame3[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/3.4bpp"); -const u16 gUnknown_08515F9C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/4.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame4[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/4.4bpp"); -const u16 gUnknown_0851601C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/5.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame5[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/5.4bpp"); -const u16 gUnknown_0851609C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/6.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame6[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/6.4bpp"); -const u16 gUnknown_0851611C[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/7.4bpp"); +const u16 gTilesetAnims_EverGrande0_Frame7[] = INCBIN_U16("data/tilesets/secondary/ever_grande/anim/7.4bpp"); const u16 tileset_anims_space_4[16] = {}; @@ -392,172 +392,172 @@ u16 *const gTilesetAnims_EverGrandeVDests0[] = { }; const u16 *const gTilesetAnims_EverGrande0[] = { - gUnknown_08515D9C, - gUnknown_08515E1C, - gUnknown_08515E9C, - gUnknown_08515F1C, - gUnknown_08515F9C, - gUnknown_0851601C, - gUnknown_0851609C, - gUnknown_0851611C + gTilesetAnims_EverGrande0_Frame0, + gTilesetAnims_EverGrande0_Frame1, + gTilesetAnims_EverGrande0_Frame2, + gTilesetAnims_EverGrande0_Frame3, + gTilesetAnims_EverGrande0_Frame4, + gTilesetAnims_EverGrande0_Frame5, + gTilesetAnims_EverGrande0_Frame6, + gTilesetAnims_EverGrande0_Frame7 }; -const u16 gUnknown_085161FC[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/0.4bpp"); +const u16 gTilesetAnims_Dewford0_Frame0[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/0.4bpp"); -const u16 gUnknown_085162BC[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/1.4bpp"); +const u16 gTilesetAnims_Dewford0_Frame1[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/1.4bpp"); -const u16 gUnknown_0851637C[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/2.4bpp"); +const u16 gTilesetAnims_Dewford0_Frame2[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/2.4bpp"); -const u16 gUnknown_0851643C[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/3.4bpp"); +const u16 gTilesetAnims_Dewford0_Frame3[] = INCBIN_U16("data/tilesets/secondary/dewford/anim/3.4bpp"); const u16 *const gTilesetAnims_Dewford0[] = { - gUnknown_085161FC, - gUnknown_085162BC, - gUnknown_0851637C, - gUnknown_0851643C + gTilesetAnims_Dewford0_Frame0, + gTilesetAnims_Dewford0_Frame1, + gTilesetAnims_Dewford0_Frame2, + gTilesetAnims_Dewford0_Frame3 }; -const u16 gUnknown_0851650C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/0.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/0.4bpp"); -const u16 gUnknown_085165CC[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/1.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/1.4bpp"); -const u16 gUnknown_0851668C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/2.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/2.4bpp"); -const u16 gUnknown_0851674C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/3.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideWest0_Frame3[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/anim/3.4bpp"); const u16 *const gTilesetAnims_BattleFrontierOutsideWest0[] = { - gUnknown_0851650C, - gUnknown_085165CC, - gUnknown_0851668C, - gUnknown_0851674C + gTilesetAnims_BattleFrontierOutsideWest0_Frame0, + gTilesetAnims_BattleFrontierOutsideWest0_Frame1, + gTilesetAnims_BattleFrontierOutsideWest0_Frame2, + gTilesetAnims_BattleFrontierOutsideWest0_Frame3 }; -const u16 gUnknown_0851681C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/0.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/0.4bpp"); -const u16 gUnknown_085168DC[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/1.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/1.4bpp"); -const u16 gUnknown_0851699C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/2.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/2.4bpp"); -const u16 gUnknown_08516A5C[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/3.4bpp"); +const u16 gTilesetAnims_BattleFrontierOutsideEast0_Frame3[] = INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/anim/3.4bpp"); const u16 *const gTilesetAnims_BattleFrontierOutsideEast0[] = { - gUnknown_0851681C, - gUnknown_085168DC, - gUnknown_0851699C, - gUnknown_08516A5C + gTilesetAnims_BattleFrontierOutsideEast0_Frame0, + gTilesetAnims_BattleFrontierOutsideEast0_Frame1, + gTilesetAnims_BattleFrontierOutsideEast0_Frame2, + gTilesetAnims_BattleFrontierOutsideEast0_Frame3 }; -const u16 gUnknown_08516B2C[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/0.4bpp"); +const u16 gTilesetAnims_Slateport0_Frame0[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/0.4bpp"); -const u16 gUnknown_08516BAC[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/1.4bpp"); +const u16 gTilesetAnims_Slateport0_Frame1[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/1.4bpp"); -const u16 gUnknown_08516C2C[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/2.4bpp"); +const u16 gTilesetAnims_Slateport0_Frame2[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/2.4bpp"); -const u16 gUnknown_08516CAC[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/3.4bpp"); +const u16 gTilesetAnims_Slateport0_Frame3[] = INCBIN_U16("data/tilesets/secondary/slateport/anim/3.4bpp"); const u16 *const gTilesetAnims_Slateport0[] = { - gUnknown_08516B2C, - gUnknown_08516BAC, - gUnknown_08516C2C, - gUnknown_08516CAC + gTilesetAnims_Slateport0_Frame0, + gTilesetAnims_Slateport0_Frame1, + gTilesetAnims_Slateport0_Frame2, + gTilesetAnims_Slateport0_Frame3 }; -const u16 gUnknown_08516D3C[] = INCBIN_U16("data/tilesets/primary/building/anim/0.4bpp"); +const u16 gTilesetAnims_InsideBuilding0_Frame0[] = INCBIN_U16("data/tilesets/primary/building/anim/0.4bpp"); -const u16 gUnknown_08516DBC[] = INCBIN_U16("data/tilesets/primary/building/anim/1.4bpp"); +const u16 gTilesetAnims_InsideBuilding0_Frame1[] = INCBIN_U16("data/tilesets/primary/building/anim/1.4bpp"); const u16 *const gTilesetAnims_InsideBuilding0[] = { - gUnknown_08516D3C, - gUnknown_08516DBC + gTilesetAnims_InsideBuilding0_Frame0, + gTilesetAnims_InsideBuilding0_Frame1 }; -const u16 gUnknown_08516E44[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"); +const u16 gTilesetAnims_SootopolisGym0_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"); -const u16 gUnknown_08516FC4[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"); +const u16 gTilesetAnims_SootopolisGym0_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"); -const u16 gUnknown_08517144[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"); +const u16 gTilesetAnims_SootopolisGym0_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"); -const u16 gUnknown_085172C4[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"); +const u16 gTilesetAnims_SootopolisGym1_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"); -const u16 gUnknown_08517544[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"); +const u16 gTilesetAnims_SootopolisGym1_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"); -const u16 gUnknown_085177C4[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"); +const u16 gTilesetAnims_SootopolisGym1_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"); const u16 *const gTilesetAnims_SootopolisGym0[] = { - gUnknown_08516E44, - gUnknown_08516FC4, - gUnknown_08517144 + gTilesetAnims_SootopolisGym0_Frame0, + gTilesetAnims_SootopolisGym0_Frame1, + gTilesetAnims_SootopolisGym0_Frame2 }; const u16 *const gTilesetAnims_SootopolisGym1[] = { - gUnknown_085172C4, - gUnknown_08517544, - gUnknown_085177C4 + gTilesetAnims_SootopolisGym1_Frame0, + gTilesetAnims_SootopolisGym1_Frame1, + gTilesetAnims_SootopolisGym1_Frame2 }; -const u16 gUnknown_08517A5C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/0.4bpp"); +const u16 gTilesetAnims_EliteFour0_Frame0[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/0.4bpp"); -const u16 gUnknown_08517ADC[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/1.4bpp"); +const u16 gTilesetAnims_EliteFour0_Frame1[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/1/1.4bpp"); -const u16 gUnknown_08517B5C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/0.4bpp"); +const u16 gTilesetAnims_EliteFour1_Frame0[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/0.4bpp"); -const u16 gUnknown_08517B7C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/1.4bpp"); +const u16 gTilesetAnims_EliteFour1_Frame1[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/1.4bpp"); -const u16 gUnknown_08517B9C[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/2.4bpp"); +const u16 gTilesetAnims_EliteFour1_Frame2[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/2.4bpp"); -const u16 gUnknown_08517BBC[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/3.4bpp"); +const u16 gTilesetAnims_EliteFour1_Frame3[] = INCBIN_U16("data/tilesets/secondary/elite_four/anim/0/3.4bpp"); const u16 tileset_anims_space_5[16] = {}; const u16 *const gTilesetAnims_EliteFour1[] = { - gUnknown_08517B5C, - gUnknown_08517B7C, - gUnknown_08517B9C, - gUnknown_08517BBC + gTilesetAnims_EliteFour1_Frame0, + gTilesetAnims_EliteFour1_Frame1, + gTilesetAnims_EliteFour1_Frame2, + gTilesetAnims_EliteFour1_Frame3 }; const u16 *const gTilesetAnims_EliteFour0[] = { - gUnknown_08517A5C, - gUnknown_08517ADC + gTilesetAnims_EliteFour0_Frame0, + gTilesetAnims_EliteFour0_Frame1 }; -const u16 gUnknown_08517C14[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/0.4bpp"); +const u16 gTilesetAnims_MauvilleGym0_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/0.4bpp"); -const u16 gUnknown_08517E14[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/1.4bpp"); +const u16 gTilesetAnims_MauvilleGym0_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville_gym/anim/1.4bpp"); const u16 tileset_anims_space_6[16] = {}; const u16 *const gTilesetAnims_MauvilleGym0[] = { - gUnknown_08517C14, - gUnknown_08517E14 + gTilesetAnims_MauvilleGym0_Frame0, + gTilesetAnims_MauvilleGym0_Frame1 }; -const u16 gUnknown_0851803C[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/0.4bpp"); +const u16 gTilesetAnims_BikeShop0_Frame0[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/0.4bpp"); -const u16 gUnknown_0851815C[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/1.4bpp"); +const u16 gTilesetAnims_BikeShop0_Frame1[] = INCBIN_U16("data/tilesets/secondary/bike_shop/anim/1.4bpp"); const u16 tileset_anims_space_7[16] = {}; const u16 *const gTilesetAnims_BikeShop0[] = { - gUnknown_0851803C, - gUnknown_0851815C + gTilesetAnims_BikeShop0_Frame0, + gTilesetAnims_BikeShop0_Frame1 }; -const u16 gUnknown_085182A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/0.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/0.4bpp"); -const u16 gUnknown_08518EA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/1.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/1.4bpp"); -const u16 gUnknown_08519AA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/2.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/2.4bpp"); -const u16 gUnknown_0851A6A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/3.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/3.4bpp"); -const u16 gUnknown_0851B2A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/4.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/4.4bpp"); -const u16 gUnknown_0851BEA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/5.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/5.4bpp"); -const u16 gUnknown_0851CAA4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/6.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/6.4bpp"); -const u16 gUnknown_0851D6A4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/7.4bpp"); +const u16 gTilesetAnims_Sootopolis0_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/7.4bpp"); const u16 tileset_anims_space_8[16] = {}; @@ -570,29 +570,29 @@ const u16 gUnknown_0851F2C4[] = INCBIN_U16("data/tilesets/secondary/unused_1/2.4 const u16 gUnknown_0851FAC4[] = INCBIN_U16("data/tilesets/secondary/unused_1/3.4bpp"); const u16 *const gTilesetAnims_Sootopolis0[] = { - gUnknown_085182A4, - gUnknown_08518EA4, - gUnknown_08519AA4, - gUnknown_0851A6A4, - gUnknown_0851B2A4, - gUnknown_0851BEA4, - gUnknown_0851CAA4, - gUnknown_0851D6A4 + gTilesetAnims_Sootopolis0_Frame0, + gTilesetAnims_Sootopolis0_Frame1, + gTilesetAnims_Sootopolis0_Frame2, + gTilesetAnims_Sootopolis0_Frame3, + gTilesetAnims_Sootopolis0_Frame4, + gTilesetAnims_Sootopolis0_Frame5, + gTilesetAnims_Sootopolis0_Frame6, + gTilesetAnims_Sootopolis0_Frame7 }; -const u16 gUnknown_085202E4[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/0.4bpp"); +const u16 gTilesetAnims_BattlePyramid0_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/0.4bpp"); -const u16 gUnknown_085203E4[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/1.4bpp"); +const u16 gTilesetAnims_BattlePyramid0_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/1.4bpp"); -const u16 gUnknown_085204E4[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/2.4bpp"); +const u16 gTilesetAnims_BattlePyramid0_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/0/2.4bpp"); const u16 tileset_anims_space_9[16] = {}; -const u16 gUnknown_08520604[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/0.4bpp"); +const u16 gTilesetAnims_BattlePyramid1_Frame0[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/0.4bpp"); -const u16 gUnknown_08520704[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/1.4bpp"); +const u16 gTilesetAnims_BattlePyramid1_Frame1[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/1.4bpp"); -const u16 gUnknown_08520804[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/2.4bpp"); +const u16 gTilesetAnims_BattlePyramid1_Frame2[] = INCBIN_U16("data/tilesets/secondary/battle_pyramid/anim/1/2.4bpp"); const u16 tileset_anims_space_10[7808] = {}; @@ -603,15 +603,15 @@ const u16 tileset_anims_space_11[224] = {}; const u16 gUnknown_08524804[] = INCBIN_U16("data/tilesets/secondary/unused_2/1.4bpp"); const u16 *const gTilesetAnims_BattlePyramid0[] = { - gUnknown_085202E4, - gUnknown_085203E4, - gUnknown_085204E4 + gTilesetAnims_BattlePyramid0_Frame0, + gTilesetAnims_BattlePyramid0_Frame1, + gTilesetAnims_BattlePyramid0_Frame2 }; const u16 *const gTilesetAnims_BattlePyramid1[] = { - gUnknown_08520604, - gUnknown_08520704, - gUnknown_08520804 + gTilesetAnims_BattlePyramid1_Frame0, + gTilesetAnims_BattlePyramid1_Frame1, + gTilesetAnims_BattlePyramid1_Frame2 }; extern const u16 gUnknown_08D85640[]; -- cgit v1.2.3 From 3bed36276d34434ac5b87e57bf12180fec6147c0 Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Mon, 11 Jun 2018 21:57:22 +0100 Subject: updated label names --- src/tileset_anims.c | 230 ++++++++++++++++++++++++++-------------------------- 1 file changed, 115 insertions(+), 115 deletions(-) (limited to 'src') diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 70280170f..ebdea4b86 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -115,47 +115,47 @@ const u16 *const gTilesetAnims_General3[] = { gTilesetAnims_General3_Frame3 }; -const u16 gUnknown_08513184[] = INCBIN_U16("data/tilesets/primary/general/anim/4/0.4bpp"); +const u16 gTilesetAnims_General4_Frame0[] = INCBIN_U16("data/tilesets/primary/general/anim/4/0.4bpp"); -const u16 gUnknown_085132C4[] = INCBIN_U16("data/tilesets/primary/general/anim/4/1.4bpp"); +const u16 gTilesetAnims_General4_Frame1[] = INCBIN_U16("data/tilesets/primary/general/anim/4/1.4bpp"); -const u16 gUnknown_08513404[] = INCBIN_U16("data/tilesets/primary/general/anim/4/2.4bpp"); +const u16 gTilesetAnims_General4_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/4/2.4bpp"); -const u16 gUnknown_08513544[] = INCBIN_U16("data/tilesets/primary/general/anim/4/3.4bpp"); +const u16 gTilesetAnims_General4_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/4/3.4bpp"); const u16 *const gTilesetAnims_General4[] = { - gUnknown_08513184, - gUnknown_085132C4, - gUnknown_08513404, - gUnknown_08513544 + gTilesetAnims_General4_Frame0, + gTilesetAnims_General4_Frame1, + gTilesetAnims_General4_Frame2, + gTilesetAnims_General4_Frame4 }; -const u16 gUnknown_08513694[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/0.4bpp"); +const u16 gTilesetAnims_Lavaridge0_Frame0[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/0.4bpp"); -const u16 gUnknown_08513714[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/1.4bpp"); +const u16 gTilesetAnims_Lavaridge0_Frame1[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/1.4bpp"); -const u16 gUnknown_08513794[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/2.4bpp"); +const u16 gTilesetAnims_Lavaridge0_Frame2[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/2.4bpp"); -const u16 gUnknown_08513814[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/3.4bpp"); +const u16 gTilesetAnims_Lavaridge0_Frame3[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/3.4bpp"); const u16 *const gTilesetAnims_Lavaridge0[] = { - gUnknown_08513694, - gUnknown_08513714, - gUnknown_08513794, - gUnknown_08513814 + gTilesetAnims_Lavaridge0_Frame0, + gTilesetAnims_Lavaridge0_Frame1, + gTilesetAnims_Lavaridge0_Frame2, + gTilesetAnims_Lavaridge0_Frame3 }; -const u16 gUnknown_085138A4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"); +const u16 gTilesetAnims_Pacifidlog0_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"); -const u16 gUnknown_08513C64[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"); +const u16 gTilesetAnims_Pacifidlog0_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"); -const u16 gUnknown_08514024[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"); +const u16 gTilesetAnims_Pacifidlog0_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"); const u16 *const gTilesetAnims_Pacifidlog0[] = { - gUnknown_085138A4, - gUnknown_08513C64, - gUnknown_08514024, - gUnknown_08513C64 + gTilesetAnims_Pacifidlog0_Frame0, + gTilesetAnims_Pacifidlog0_Frame1, + gTilesetAnims_Pacifidlog0_Frame2, + gTilesetAnims_Pacifidlog0_Frame1 }; const u16 gTilesetAnims_Underwater0_Frame0[] = INCBIN_U16("data/tilesets/secondary/underwater/anim/0.4bpp"); @@ -173,52 +173,52 @@ const u16 *const gTilesetAnims_Underwater0[] = { gTilesetAnims_Underwater0_Frame3 }; -const u16 gUnknown_08514604[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame0[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"); -const u16 gUnknown_08514704[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame1[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"); -const u16 gUnknown_08514804[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame2[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"); -const u16 gUnknown_08514904[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame3[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"); -const u16 gUnknown_08514A04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame4[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"); -const u16 gUnknown_08514B04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame5[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"); -const u16 gUnknown_08514C04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame6[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"); -const u16 gUnknown_08514D04[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"); +const u16 gTilesetAnims_Pacifidlog1_Frame7[] = INCBIN_U16("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"); const u16 *const gTilesetAnims_Pacifidlog1[] = { - gUnknown_08514604, - gUnknown_08514704, - gUnknown_08514804, - gUnknown_08514904, - gUnknown_08514A04, - gUnknown_08514B04, - gUnknown_08514C04, - gUnknown_08514D04 + gTilesetAnims_Pacifidlog1_Frame0, + gTilesetAnims_Pacifidlog1_Frame1, + gTilesetAnims_Pacifidlog1_Frame2, + gTilesetAnims_Pacifidlog1_Frame3, + gTilesetAnims_Pacifidlog1_Frame4, + gTilesetAnims_Pacifidlog1_Frame5, + gTilesetAnims_Pacifidlog1_Frame6, + gTilesetAnims_Pacifidlog1_Frame7 }; -const u16 gUnknown_08514E24[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/0.4bpp"); +const u16 gTilesetAnims_Mauville0a_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/0.4bpp"); -const u16 gUnknown_08514EA4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/1.4bpp"); +const u16 gTilesetAnims_Mauville0a_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/1.4bpp"); -const u16 gUnknown_08514F24[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/2.4bpp"); +const u16 gTilesetAnims_Mauville0a_Frame2[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/2.4bpp"); -const u16 gUnknown_08514FA4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/3.4bpp"); +const u16 gTilesetAnims_Mauville0a_Frame3[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/a/3.4bpp"); -const u16 gUnknown_08515024[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/a/1.4bpp"); +const u16 gTilesetAnims_Mauville1a_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/a/1.4bpp"); -const u16 gUnknown_085150A4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/0.4bpp"); +const u16 gTilesetAnims_Mauville0b_Frame0[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/0.4bpp"); -const u16 gUnknown_08515124[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/1.4bpp"); +const u16 gTilesetAnims_Mauville0b_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/1.4bpp"); -const u16 gUnknown_085151A4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/2.4bpp"); +const u16 gTilesetAnims_Mauville0b_Frame2[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/2.4bpp"); -const u16 gUnknown_08515224[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/3.4bpp"); +const u16 gTilesetAnims_Mauville0b_Frame3[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/0/b/3.4bpp"); -const u16 gUnknown_085152A4[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/b/1.4bpp"); +const u16 gTilesetAnims_Mauville1b_Frame1[] = INCBIN_U16("data/tilesets/secondary/mauville/anim/1/b/1.4bpp"); const u16 tileset_anims_space_1[16] = {}; @@ -245,64 +245,64 @@ u16 *const gTilesetAnims_MauvilleVDests1[] = { }; const u16 *const gTilesetAnims_Mauville0a[] = { - gUnknown_08514E24, - gUnknown_08514E24, - gUnknown_08514EA4, - gUnknown_08514F24, - gUnknown_08514FA4, - gUnknown_08514FA4, - gUnknown_08514FA4, - gUnknown_08514FA4, - gUnknown_08514FA4, - gUnknown_08514FA4, - gUnknown_08514F24, - gUnknown_08514EA4 + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame1, + gTilesetAnims_Mauville0a_Frame2, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame3, + gTilesetAnims_Mauville0a_Frame2, + gTilesetAnims_Mauville0a_Frame1 }; const u16 *const gTilesetAnims_Mauville0b[] = { - gUnknown_085150A4, - gUnknown_085150A4, - gUnknown_08515124, - gUnknown_085151A4, - gUnknown_08515224, - gUnknown_08515224, - gUnknown_08515224, - gUnknown_08515224, - gUnknown_08515224, - gUnknown_08515224, - gUnknown_085151A4, - gUnknown_08515124 + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame1, + gTilesetAnims_Mauville0b_Frame2, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame3, + gTilesetAnims_Mauville0b_Frame2, + gTilesetAnims_Mauville0b_Frame1 }; const u16 *const gTilesetAnims_Mauville1a[] = { - gUnknown_08514E24, - gUnknown_08514E24, - gUnknown_08515024, - gUnknown_08515024 + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville0a_Frame0, + gTilesetAnims_Mauville1a_Frame1, + gTilesetAnims_Mauville1a_Frame1 }; const u16 *const gTilesetAnims_Mauville1b[] = { - gUnknown_085150A4, - gUnknown_085150A4, - gUnknown_085152A4, - gUnknown_085152A4 + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville0b_Frame0, + gTilesetAnims_Mauville1b_Frame1, + gTilesetAnims_Mauville1b_Frame1 }; -const u16 gUnknown_08515404[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/0.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/0.4bpp"); -const u16 gUnknown_08515484[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/1.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame1[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/1.4bpp"); -const u16 gUnknown_08515504[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/2.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame2[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/2.4bpp"); -const u16 gUnknown_08515584[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/3.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame3[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/3.4bpp"); -const u16 gUnknown_08515604[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/4.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame4[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/4.4bpp"); -const u16 gUnknown_08515684[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/5.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame5[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/5.4bpp"); -const u16 gUnknown_08515704[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/6.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame6[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/6.4bpp"); -const u16 gUnknown_08515784[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); +const u16 gTilesetAnims_Rustboro0_Frame7[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/0/7.4bpp"); u16 *const gTilesetAnims_RustboroVDests0[] = { (u16 *)(BG_VRAM + 0x5000), @@ -316,14 +316,14 @@ u16 *const gTilesetAnims_RustboroVDests0[] = { }; const u16 *const gTilesetAnims_Rustboro0[] = { - gUnknown_08515404, - gUnknown_08515484, - gUnknown_08515504, - gUnknown_08515584, - gUnknown_08515604, - gUnknown_08515684, - gUnknown_08515704, - gUnknown_08515784 + gTilesetAnims_Rustboro0_Frame0, + gTilesetAnims_Rustboro0_Frame1, + gTilesetAnims_Rustboro0_Frame2, + gTilesetAnims_Rustboro0_Frame3, + gTilesetAnims_Rustboro0_Frame4, + gTilesetAnims_Rustboro0_Frame5, + gTilesetAnims_Rustboro0_Frame6, + gTilesetAnims_Rustboro0_Frame7 }; const u16 gTilesetAnims_Rustboro1_Frame0[] = INCBIN_U16("data/tilesets/secondary/rustboro/anim/1/0.4bpp"); @@ -345,13 +345,13 @@ const u16 gTilesetAnims_Lavaridge1_Cave0_Frame2[] = INCBIN_U16("data/tilesets/se const u16 gTilesetAnims_Lavaridge1_Cave0_Frame3[] = INCBIN_U16("data/tilesets/secondary/cave/anim/3.4bpp"); -const u16 gUnknown_08515B6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/0.4bpp"); +const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame0[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/0.4bpp"); -const u16 gUnknown_08515BEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/1.4bpp"); +const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame1[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/1.4bpp"); -const u16 gUnknown_08515C6C[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/2.4bpp"); +const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame2[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/2.4bpp"); -const u16 gUnknown_08515CEC[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/3.4bpp"); +const u16 gTilesetAnims_Lavaridge1_CaveUnused_Frame3[] = INCBIN_U16("data/tilesets/secondary/cave/anim/unused/3.4bpp"); const u16 tileset_anims_space_3[16] = {}; @@ -561,13 +561,13 @@ const u16 gTilesetAnims_Sootopolis0_Frame7[] = INCBIN_U16("data/tilesets/seconda const u16 tileset_anims_space_8[16] = {}; -const u16 gUnknown_0851E2C4[] = INCBIN_U16("data/tilesets/secondary/unused_1/0.4bpp"); +const u16 gTilesetAnims_Unused1_Frame0[] = INCBIN_U16("data/tilesets/secondary/unused_1/0.4bpp"); -const u16 gUnknown_0851EAC4[] = INCBIN_U16("data/tilesets/secondary/unused_1/1.4bpp"); +const u16 gTilesetAnims_Unused1_Frame1[] = INCBIN_U16("data/tilesets/secondary/unused_1/1.4bpp"); -const u16 gUnknown_0851F2C4[] = INCBIN_U16("data/tilesets/secondary/unused_1/2.4bpp"); +const u16 gTilesetAnims_Unused1_Frame2[] = INCBIN_U16("data/tilesets/secondary/unused_1/2.4bpp"); -const u16 gUnknown_0851FAC4[] = INCBIN_U16("data/tilesets/secondary/unused_1/3.4bpp"); +const u16 gTilesetAnims_Unused1_Frame3[] = INCBIN_U16("data/tilesets/secondary/unused_1/3.4bpp"); const u16 *const gTilesetAnims_Sootopolis0[] = { gTilesetAnims_Sootopolis0_Frame0, @@ -596,11 +596,11 @@ const u16 gTilesetAnims_BattlePyramid1_Frame2[] = INCBIN_U16("data/tilesets/seco const u16 tileset_anims_space_10[7808] = {}; -const u16 gUnknown_08524604[] = INCBIN_U16("data/tilesets/secondary/unused_2/0.4bpp"); +const u16 gTilesetAnims_Unused2_Frame0[] = INCBIN_U16("data/tilesets/secondary/unused_2/0.4bpp"); const u16 tileset_anims_space_11[224] = {}; -const u16 gUnknown_08524804[] = INCBIN_U16("data/tilesets/secondary/unused_2/1.4bpp"); +const u16 gTilesetAnims_Unused2_Frame1[] = INCBIN_U16("data/tilesets/secondary/unused_2/1.4bpp"); const u16 *const gTilesetAnims_BattlePyramid0[] = { gTilesetAnims_BattlePyramid0_Frame0, @@ -614,16 +614,16 @@ const u16 *const gTilesetAnims_BattlePyramid1[] = { gTilesetAnims_BattlePyramid1_Frame2 }; -extern const u16 gUnknown_08D85640[]; -extern const u16 gUnknown_08D85660[]; -extern const u16 gUnknown_08D85680[]; -extern const u16 gUnknown_08D856A0[]; +extern const u16 gTilesetAnims_BattleDomePals0_0[]; +extern const u16 gTilesetAnims_BattleDomePals0_1[]; +extern const u16 gTilesetAnims_BattleDomePals0_2[]; +extern const u16 gTilesetAnims_BattleDomePals0_3[]; static const u16 *const gTilesetAnims_BattleDomePals0[] = { - gUnknown_08D85640, - gUnknown_08D85660, - gUnknown_08D85680, - gUnknown_08D856A0, + gTilesetAnims_BattleDomePals0_0, + gTilesetAnims_BattleDomePals0_1, + gTilesetAnims_BattleDomePals0_2, + gTilesetAnims_BattleDomePals0_3, }; // .text -- cgit v1.2.3 From 89edf6d9e989669f439fdfbf452ee4079e325785 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 17:33:50 -0500 Subject: Move all field object data into src/data and event_object_movement.c --- src/battle_setup.c | 1 - src/data/field_event_obj/base_oam.h | 52 + .../field_event_obj/berry_tree_graphics_tables.h | 570 +++++ src/data/field_event_obj/event_object_anims.h | 1176 +++++++++++ src/data/field_event_obj/event_object_graphics.h | 1667 +++++++++++++++ .../field_event_obj/event_object_graphics_info.h | 250 +++ .../event_object_graphics_info_pointers.h | 504 +++++ src/data/field_event_obj/event_object_pic_tables.h | 2179 ++++++++++++++++++++ src/data/field_event_obj/event_object_subsprites.h | 342 +++ .../field_effect_object_template_pointers.h | 82 + src/data/field_event_obj/field_effect_objects.h | 997 +++++++++ .../field_event_obj/movement_action_func_tables.h | 1499 ++++++++++++++ .../field_event_obj/movement_type_func_tables.h | 443 ++++ src/event_object_movement.c | 1177 +++++++++-- src/field_effect.c | 1 - src/item_menu.c | 2 +- src/item_use.c | 1 - src/map_obj_lock.c | 1 - src/overworld.c | 1 - src/scrcmd.c | 1 - src/script_movement.c | 1 - src/start_menu.c | 2 +- src/trainer_see.c | 1 - 23 files changed, 10807 insertions(+), 143 deletions(-) create mode 100755 src/data/field_event_obj/base_oam.h create mode 100755 src/data/field_event_obj/berry_tree_graphics_tables.h create mode 100755 src/data/field_event_obj/event_object_anims.h create mode 100755 src/data/field_event_obj/event_object_graphics.h create mode 100755 src/data/field_event_obj/event_object_graphics_info.h create mode 100755 src/data/field_event_obj/event_object_graphics_info_pointers.h create mode 100755 src/data/field_event_obj/event_object_pic_tables.h create mode 100755 src/data/field_event_obj/event_object_subsprites.h create mode 100755 src/data/field_event_obj/field_effect_object_template_pointers.h create mode 100755 src/data/field_event_obj/field_effect_objects.h create mode 100755 src/data/field_event_obj/movement_action_func_tables.h create mode 100755 src/data/field_event_obj/movement_type_func_tables.h (limited to 'src') diff --git a/src/battle_setup.c b/src/battle_setup.c index a801367e9..bc7931025 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -32,7 +32,6 @@ #include "overworld.h" #include "field_weather.h" #include "gym_leader_rematch.h" -#include "event_object_movement_helpers.h" enum { diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h new file mode 100755 index 000000000..4558081e7 --- /dev/null +++ b/src/data/field_event_obj/base_oam.h @@ -0,0 +1,52 @@ +#ifndef GUARD_BASE_OAM_H +#define GUARD_BASE_OAM_H + +const struct OamData gFieldObjectBaseOam_8x8 = { + .shape = 0, + .size = 0, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_16x8 = { + .shape = 1, + .size = 0, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_16x16 = { + .shape = 0, + .size = 1, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_32x8 = { + .shape = 1, + .size = 1, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_64x32 = { + .shape = 1, + .size = 3, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_16x32 = { + .shape = 2, + .size = 2, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_32x32 = { + .shape = 0, + .size = 2, + .priority = 2 +}; + +const struct OamData gFieldObjectBaseOam_64x64 = { + .shape = 0, + .size = 3, + .priority = 2 +}; + +#endif //GUARD_BASE_OAM_H diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h new file mode 100755 index 000000000..9e899788a --- /dev/null +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -0,0 +1,570 @@ +#ifndef GUARD_BERRY_TREE_GRAPHICS_TABLES_H +#define GUARD_BERRY_TREE_GRAPHICS_TABLES_H + +const struct SpriteFrameImage gFieldObjectPicTable_PechaBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_PechaBerryTree_0), + obj_frame_tiles(gFieldObjectPic_PechaBerryTree_1), + obj_frame_tiles(gFieldObjectPic_PechaBerryTree_2), + obj_frame_tiles(gFieldObjectPic_PechaBerryTree_3), + obj_frame_tiles(gFieldObjectPic_PechaBerryTree_4), + obj_frame_tiles(gFieldObjectPic_PechaBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Pecha[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_KelpsyBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_0), + obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_1), + obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_2), + obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_3), + obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_4), + obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Kelpsy[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_WepearBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_WepearBerryTree_0), + obj_frame_tiles(gFieldObjectPic_WepearBerryTree_1), + obj_frame_tiles(gFieldObjectPic_WepearBerryTree_2), + obj_frame_tiles(gFieldObjectPic_WepearBerryTree_3), + obj_frame_tiles(gFieldObjectPic_WepearBerryTree_4), + obj_frame_tiles(gFieldObjectPic_WepearBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Wepear[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_IapapaBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_0), + obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_1), + obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_2), + obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_3), + obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_4), + obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Iapapa[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_CheriBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_CheriBerryTree_0), + obj_frame_tiles(gFieldObjectPic_CheriBerryTree_1), + obj_frame_tiles(gFieldObjectPic_CheriBerryTree_2), + obj_frame_tiles(gFieldObjectPic_CheriBerryTree_3), + obj_frame_tiles(gFieldObjectPic_CheriBerryTree_4), + obj_frame_tiles(gFieldObjectPic_CheriBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Cheri[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_FigyBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_FigyBerryTree_0), + obj_frame_tiles(gFieldObjectPic_FigyBerryTree_1), + obj_frame_tiles(gFieldObjectPic_FigyBerryTree_2), + obj_frame_tiles(gFieldObjectPic_FigyBerryTree_3), + obj_frame_tiles(gFieldObjectPic_FigyBerryTree_4), + obj_frame_tiles(gFieldObjectPic_FigyBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Figy[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_MagoBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_MagoBerryTree_0), + obj_frame_tiles(gFieldObjectPic_MagoBerryTree_1), + obj_frame_tiles(gFieldObjectPic_MagoBerryTree_2), + obj_frame_tiles(gFieldObjectPic_MagoBerryTree_3), + obj_frame_tiles(gFieldObjectPic_MagoBerryTree_4), + obj_frame_tiles(gFieldObjectPic_MagoBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Mago[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_LumBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_LumBerryTree_0), + obj_frame_tiles(gFieldObjectPic_LumBerryTree_1), + obj_frame_tiles(gFieldObjectPic_LumBerryTree_2), + obj_frame_tiles(gFieldObjectPic_LumBerryTree_3), + obj_frame_tiles(gFieldObjectPic_LumBerryTree_4), + obj_frame_tiles(gFieldObjectPic_LumBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Lum[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_RazzBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_RazzBerryTree_0), + obj_frame_tiles(gFieldObjectPic_RazzBerryTree_1), + obj_frame_tiles(gFieldObjectPic_RazzBerryTree_2), + obj_frame_tiles(gFieldObjectPic_RazzBerryTree_3), + obj_frame_tiles(gFieldObjectPic_RazzBerryTree_4), + obj_frame_tiles(gFieldObjectPic_RazzBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Razz[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_GrepaBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_0), + obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_1), + obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_2), + obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_3), + obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_4), + obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Grepa[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_RabutaBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_0), + obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_1), + obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_2), + obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_3), + obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_4), + obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Rabuta[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_NomelBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_NomelBerryTree_0), + obj_frame_tiles(gFieldObjectPic_NomelBerryTree_1), + obj_frame_tiles(gFieldObjectPic_NomelBerryTree_2), + obj_frame_tiles(gFieldObjectPic_NomelBerryTree_3), + obj_frame_tiles(gFieldObjectPic_NomelBerryTree_4), + obj_frame_tiles(gFieldObjectPic_NomelBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Nomel[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_LeppaBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_0), + obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_1), + obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_2), + obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_3), + obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_4), + obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Leppa[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_LiechiBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_0), + obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_1), + obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_2), + obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_3), + obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_4), + obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Liechi[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_HondewBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_HondewBerryTree_0), + obj_frame_tiles(gFieldObjectPic_HondewBerryTree_1), + obj_frame_tiles(gFieldObjectPic_HondewBerryTree_2), + obj_frame_tiles(gFieldObjectPic_HondewBerryTree_3), + obj_frame_tiles(gFieldObjectPic_HondewBerryTree_4), + obj_frame_tiles(gFieldObjectPic_HondewBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Hondew[] = {3, 4, 5, 5, 5}; + +const struct SpriteFrameImage gFieldObjectPicTable_AguavBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_AguavBerryTree_0), + obj_frame_tiles(gFieldObjectPic_AguavBerryTree_1), + obj_frame_tiles(gFieldObjectPic_AguavBerryTree_2), + obj_frame_tiles(gFieldObjectPic_AguavBerryTree_3), + obj_frame_tiles(gFieldObjectPic_AguavBerryTree_4), + obj_frame_tiles(gFieldObjectPic_AguavBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Aguav[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_WikiBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_WikiBerryTree_0), + obj_frame_tiles(gFieldObjectPic_WikiBerryTree_1), + obj_frame_tiles(gFieldObjectPic_WikiBerryTree_2), + obj_frame_tiles(gFieldObjectPic_WikiBerryTree_3), + obj_frame_tiles(gFieldObjectPic_WikiBerryTree_4), + obj_frame_tiles(gFieldObjectPic_WikiBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Wiki[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_PomegBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_PomegBerryTree_0), + obj_frame_tiles(gFieldObjectPic_PomegBerryTree_1), + obj_frame_tiles(gFieldObjectPic_PomegBerryTree_2), + obj_frame_tiles(gFieldObjectPic_PomegBerryTree_3), + obj_frame_tiles(gFieldObjectPic_PomegBerryTree_4), + obj_frame_tiles(gFieldObjectPic_PomegBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Pomeg[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_RawstBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_RawstBerryTree_0), + obj_frame_tiles(gFieldObjectPic_RawstBerryTree_1), + obj_frame_tiles(gFieldObjectPic_RawstBerryTree_2), + obj_frame_tiles(gFieldObjectPic_RawstBerryTree_3), + obj_frame_tiles(gFieldObjectPic_RawstBerryTree_4), + obj_frame_tiles(gFieldObjectPic_RawstBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Rawst[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_SpelonBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_0), + obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_1), + obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_2), + obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_3), + obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_4), + obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Spelon[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_ChestoBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_0), + obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_1), + obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_2), + obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_3), + obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_4), + obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Chesto[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_OranBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_OranBerryTree_0), + obj_frame_tiles(gFieldObjectPic_OranBerryTree_1), + obj_frame_tiles(gFieldObjectPic_OranBerryTree_2), + obj_frame_tiles(gFieldObjectPic_OranBerryTree_3), + obj_frame_tiles(gFieldObjectPic_OranBerryTree_4), + obj_frame_tiles(gFieldObjectPic_OranBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Oran[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_PersimBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_PersimBerryTree_0), + obj_frame_tiles(gFieldObjectPic_PersimBerryTree_1), + obj_frame_tiles(gFieldObjectPic_PersimBerryTree_2), + obj_frame_tiles(gFieldObjectPic_PersimBerryTree_3), + obj_frame_tiles(gFieldObjectPic_PersimBerryTree_4), + obj_frame_tiles(gFieldObjectPic_PersimBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Persim[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_SitrusBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_0), + obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_1), + obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_2), + obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_3), + obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_4), + obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Sitrus[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_AspearBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_AspearBerryTree_0), + obj_frame_tiles(gFieldObjectPic_AspearBerryTree_1), + obj_frame_tiles(gFieldObjectPic_AspearBerryTree_2), + obj_frame_tiles(gFieldObjectPic_AspearBerryTree_3), + obj_frame_tiles(gFieldObjectPic_AspearBerryTree_4), + obj_frame_tiles(gFieldObjectPic_AspearBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Aspear[] = {3, 4, 3, 3, 3}; + +const struct SpriteFrameImage gFieldObjectPicTable_PamtreBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_0), + obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_1), + obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_2), + obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_3), + obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_4), + obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Pamtre[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_CornnBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_CornnBerryTree_0), + obj_frame_tiles(gFieldObjectPic_CornnBerryTree_1), + obj_frame_tiles(gFieldObjectPic_CornnBerryTree_2), + obj_frame_tiles(gFieldObjectPic_CornnBerryTree_3), + obj_frame_tiles(gFieldObjectPic_CornnBerryTree_4), + obj_frame_tiles(gFieldObjectPic_CornnBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Cornn[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_LansatBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_LansatBerryTree_0), + obj_frame_tiles(gFieldObjectPic_LansatBerryTree_1), + obj_frame_tiles(gFieldObjectPic_LansatBerryTree_2), + obj_frame_tiles(gFieldObjectPic_LansatBerryTree_3), + obj_frame_tiles(gFieldObjectPic_LansatBerryTree_4), + obj_frame_tiles(gFieldObjectPic_LansatBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Lansat[] = {3, 4, 2, 2, 2}; + +const struct SpriteFrameImage gFieldObjectPicTable_DurinBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_DurinBerryTree_0), + obj_frame_tiles(gFieldObjectPic_DurinBerryTree_1), + obj_frame_tiles(gFieldObjectPic_DurinBerryTree_2), + obj_frame_tiles(gFieldObjectPic_DurinBerryTree_3), + obj_frame_tiles(gFieldObjectPic_DurinBerryTree_4), + obj_frame_tiles(gFieldObjectPic_DurinBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Durin[] = {3, 4, 4, 4, 4}; + +const struct SpriteFrameImage gFieldObjectPicTable_TamatoBerryTree[] = { + obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), + obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), + obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_0), + obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_1), + obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_2), + obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_3), + obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_4), + obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_5), +}; + +const u8 gBerryTreePaletteSlotTable_Tamato[] = {3, 4, 2, 2, 2}; + +const u8 gDeadBerryTreeFieldObjectGraphicsIdTable[] = {MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES}; + +const u8 gBerryTreeFieldObjectGraphicsIdTable[] = {MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES}; + +const struct SpriteFrameImage *const gBerryTreePicTablePointers[] = { + gFieldObjectPicTable_CheriBerryTree, + gFieldObjectPicTable_ChestoBerryTree, + gFieldObjectPicTable_PechaBerryTree, + gFieldObjectPicTable_RawstBerryTree, + gFieldObjectPicTable_AspearBerryTree, + gFieldObjectPicTable_LeppaBerryTree, + gFieldObjectPicTable_OranBerryTree, + gFieldObjectPicTable_PersimBerryTree, + gFieldObjectPicTable_LumBerryTree, + gFieldObjectPicTable_SitrusBerryTree, + gFieldObjectPicTable_FigyBerryTree, + gFieldObjectPicTable_WikiBerryTree, + gFieldObjectPicTable_MagoBerryTree, + gFieldObjectPicTable_AguavBerryTree, + gFieldObjectPicTable_IapapaBerryTree, + gFieldObjectPicTable_RazzBerryTree, + gFieldObjectPicTable_RazzBerryTree, + gFieldObjectPicTable_MagoBerryTree, + gFieldObjectPicTable_WepearBerryTree, + gFieldObjectPicTable_IapapaBerryTree, + gFieldObjectPicTable_PomegBerryTree, + gFieldObjectPicTable_KelpsyBerryTree, + gFieldObjectPicTable_WepearBerryTree, + gFieldObjectPicTable_HondewBerryTree, + gFieldObjectPicTable_GrepaBerryTree, + gFieldObjectPicTable_TamatoBerryTree, + gFieldObjectPicTable_CornnBerryTree, + gFieldObjectPicTable_PomegBerryTree, + gFieldObjectPicTable_RabutaBerryTree, + gFieldObjectPicTable_NomelBerryTree, + gFieldObjectPicTable_SpelonBerryTree, + gFieldObjectPicTable_PamtreBerryTree, + gFieldObjectPicTable_RabutaBerryTree, + gFieldObjectPicTable_DurinBerryTree, + gFieldObjectPicTable_HondewBerryTree, + gFieldObjectPicTable_LiechiBerryTree, + gFieldObjectPicTable_HondewBerryTree, + gFieldObjectPicTable_AguavBerryTree, + gFieldObjectPicTable_PomegBerryTree, + gFieldObjectPicTable_GrepaBerryTree, + gFieldObjectPicTable_LansatBerryTree, + gFieldObjectPicTable_CornnBerryTree, + gFieldObjectPicTable_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 gBerryTreeFieldObjectGraphicsIdTablePointers[] = { + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, + gBerryTreeFieldObjectGraphicsIdTable, +}; + + +#endif //GUARD_BERRY_TREE_GRAPHICS_TABLES_H diff --git a/src/data/field_event_obj/event_object_anims.h b/src/data/field_event_obj/event_object_anims.h new file mode 100755 index 000000000..3857bf815 --- /dev/null +++ b/src/data/field_event_obj/event_object_anims.h @@ -0,0 +1,1176 @@ +#ifndef GUARD_EVENT_OBJECT_ANIMS_H +#define GUARD_EVENT_OBJECT_ANIMS_H + +const union AnimCmd gFieldObjectImageAnim_StayStill[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceSouth[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceNorth[] = +{ + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceWest[] = +{ + ANIMCMD_FRAME(2, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceEast[] = +{ + ANIMCMD_FRAME(2, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoSouth[] = +{ + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(3, 8, .hFlip = TRUE), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoNorth[] = +{ + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(4, 8, .hFlip = TRUE), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoWest[] = +{ + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoEast[] = +{ + ANIMCMD_FRAME(5, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(6, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastSouth[] = +{ + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastNorth[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(4, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastWest[] = +{ + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastEast[] = +{ + ANIMCMD_FRAME(5, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(6, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterSouth[] = +{ + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(3, 2, .hFlip = TRUE), + ANIMCMD_FRAME(0, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterNorth[] = +{ + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(4, 2, .hFlip = TRUE), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterWest[] = +{ + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterEast[] = +{ + ANIMCMD_FRAME(5, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_FRAME(6, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestSouth[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(3, 1, .hFlip = TRUE), + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestNorth[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(4, 1, .hFlip = TRUE), + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestWest[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(6, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestEast[] = +{ + ANIMCMD_FRAME(5, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_FRAME(6, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_FaceSouth[] = +{ + ANIMCMD_FRAME(0, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_FaceNorth[] = +{ + ANIMCMD_FRAME(1, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_FaceWest[] = +{ + ANIMCMD_FRAME(2, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_FaceEast[] = +{ + ANIMCMD_FRAME(2, 16, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoSouth[] = +{ + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoNorth[] = +{ + ANIMCMD_FRAME(5, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(6, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoWest[] = +{ + ANIMCMD_FRAME(7, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoEast[] = +{ + ANIMCMD_FRAME(7, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_FRAME(8, 8, .hFlip = TRUE), + ANIMCMD_FRAME(2, 8, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastSouth[] = +{ + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastNorth[] = +{ + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastWest[] = +{ + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastEast[] = +{ + ANIMCMD_FRAME(7, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(8, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFasterSouth[] = +{ + ANIMCMD_FRAME(3, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(4, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFasterNorth[] = +{ + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFasterWest[] = +{ + ANIMCMD_FRAME(7, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_FRAME(8, 2), + ANIMCMD_FRAME(2, 2), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFasterEast[] = +{ + ANIMCMD_FRAME(7, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_FRAME(8, 2, .hFlip = TRUE), + ANIMCMD_FRAME(2, 2, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastestSouth[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(4, 1), + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastestNorth[] = +{ + ANIMCMD_FRAME(5, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(6, 1), + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastestWest[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(8, 1), + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GoFastestEast[] = +{ + ANIMCMD_FRAME(7, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_FRAME(8, 1, .hFlip = TRUE), + ANIMCMD_FRAME(2, 1, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_RunSouth[] = +{ + ANIMCMD_FRAME(12, 5), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(13, 5), + ANIMCMD_FRAME(9, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_RunNorth[] = +{ + ANIMCMD_FRAME(14, 5), + ANIMCMD_FRAME(10, 3), + ANIMCMD_FRAME(15, 5), + ANIMCMD_FRAME(10, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_RunWest[] = +{ + ANIMCMD_FRAME(16, 5), + ANIMCMD_FRAME(11, 3), + ANIMCMD_FRAME(17, 5), + ANIMCMD_FRAME(11, 3), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_RunEast[] = +{ + ANIMCMD_FRAME(16, 5, .hFlip = TRUE), + ANIMCMD_FRAME(11, 3, .hFlip = TRUE), + ANIMCMD_FRAME(17, 5, .hFlip = TRUE), + ANIMCMD_FRAME(11, 3, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_FieldMove[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 8), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobSouth[] = +{ + ANIMCMD_FRAME(9, 32), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobNorth[] = +{ + ANIMCMD_FRAME(10, 32), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobWest[] = +{ + ANIMCMD_FRAME(11, 32), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobEast[] = +{ + ANIMCMD_FRAME(11, 32, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelSouth[] = +{ + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelNorth[] = +{ + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelWest[] = +{ + ANIMCMD_FRAME(17, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelEast[] = +{ + ANIMCMD_FRAME(17, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelSouth[] = +{ + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(12, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelNorth[] = +{ + ANIMCMD_FRAME(15, 4), + ANIMCMD_FRAME(16, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelWest[] = +{ + ANIMCMD_FRAME(19, 4), + ANIMCMD_FRAME(20, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelEast[] = +{ + ANIMCMD_FRAME(19, 4, .hFlip = TRUE), + ANIMCMD_FRAME(20, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelSouth[] = +{ + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelNorth[] = +{ + ANIMCMD_FRAME(13, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelWest[] = +{ + ANIMCMD_FRAME(17, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelEast[] = +{ + ANIMCMD_FRAME(17, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelSouth[] = +{ + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelNorth[] = +{ + ANIMCMD_FRAME(15, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelWest[] = +{ + ANIMCMD_FRAME(19, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelEast[] = +{ + ANIMCMD_FRAME(19, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_MovingWheelieSouth[] = +{ + ANIMCMD_FRAME(21, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(22, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_MovingWheelieNorth[] = +{ + ANIMCMD_FRAME(23, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_FRAME(24, 4), + ANIMCMD_FRAME(14, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_MovingWheelieWest[] = +{ + ANIMCMD_FRAME(25, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_FRAME(26, 4), + ANIMCMD_FRAME(18, 4), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_MovingWheelieEast[] = +{ + ANIMCMD_FRAME(25, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_FRAME(26, 4, .hFlip = TRUE), + ANIMCMD_FRAME(18, 4, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_BerryTreeStage0[] = +{ + ANIMCMD_FRAME(0, 32), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BerryTreeStage1[] = +{ + ANIMCMD_FRAME(1, 32), + ANIMCMD_FRAME(2, 32), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BerryTreeStage2[] = +{ + ANIMCMD_FRAME(3, 48), + ANIMCMD_FRAME(4, 48), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BerryTreeStage3[] = +{ + ANIMCMD_FRAME(5, 32), + ANIMCMD_FRAME(5, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_FRAME(6, 32), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_BerryTreeStage4[] = +{ + ANIMCMD_FRAME(7, 48), + ANIMCMD_FRAME(7, 48), + ANIMCMD_FRAME(8, 48), + ANIMCMD_FRAME(8, 48), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_NurseBow[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(9, 32), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_RockBreak[] = +{ + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(1, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_TreeCut[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_TakeOutRodSouth[] = +{ + ANIMCMD_FRAME(8, 4), + ANIMCMD_FRAME(9, 4), + ANIMCMD_FRAME(10, 4), + ANIMCMD_FRAME(11, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_TakeOutRodNorth[] = +{ + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(6, 4), + ANIMCMD_FRAME(7, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_TakeOutRodWest[] = +{ + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_TakeOutRodEast[] = +{ + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_PutAwayRodSouth[] = +{ + ANIMCMD_FRAME(11, 4), + ANIMCMD_FRAME(10, 6), + ANIMCMD_FRAME(9, 6), + ANIMCMD_FRAME(8, 6), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_PutAwayRodNorth[] = +{ + ANIMCMD_FRAME(7, 4), + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(5, 6), + ANIMCMD_FRAME(4, 6), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_PutAwayRodWest[] = +{ + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(2, 4), + ANIMCMD_FRAME(1, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_PutAwayRodEast[] = +{ + ANIMCMD_FRAME(3, 4, .hFlip = TRUE), + ANIMCMD_FRAME(2, 4, .hFlip = TRUE), + ANIMCMD_FRAME(1, 4, .hFlip = TRUE), + ANIMCMD_FRAME(0, 4, .hFlip = TRUE), + ANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_HookedPokemonSouth[] = +{ + ANIMCMD_FRAME(10, 6), + ANIMCMD_FRAME(11, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(11, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_HookedPokemonNorth[] = +{ + ANIMCMD_FRAME(6, 6), + ANIMCMD_FRAME(7, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(7, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_HookedPokemonWest[] = +{ + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(3, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_HookedPokemonEast[] = +{ + ANIMCMD_FRAME(2, 6, .hFlip = TRUE), + ANIMCMD_FRAME(3, 6, .hFlip = TRUE), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME(3, 30, .hFlip = TRUE), + ANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gFieldObjectRotScalAnim_8508FD8[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(7), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gFieldObjectRotScalAnim_8509008[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(15), + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), + AFFINEANIMCMD_LOOP(15), + AFFINEANIMCMD_JUMP(0), +}; + +const union AffineAnimCmd gFieldObjectRotScalAnim_8509040[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gFieldObjectRotScalAnim_8509050[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gFieldObjectRotScalAnim_8509060[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), + AFFINEANIMCMD_LOOP(8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gFieldObjectRotScalAnim_8509078[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), + AFFINEANIMCMD_LOOP(8), + AFFINEANIMCMD_END, +}; + +const union AnimCmd gFieldObjectImageAnim_HoOhFlapWings[] = +{ + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 8), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_HoOhStayStill[] = +{ + ANIMCMD_FRAME(3, 16), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Inanimate[] = { + gFieldObjectImageAnim_StayStill, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_QuintyPlump[] = { + gFieldObjectImageAnim_QuintyPlumpFaceSouth, + gFieldObjectImageAnim_QuintyPlumpFaceNorth, + gFieldObjectImageAnim_QuintyPlumpFaceWest, + gFieldObjectImageAnim_QuintyPlumpFaceEast, + gFieldObjectImageAnim_QuintyPlumpGoSouth, + gFieldObjectImageAnim_QuintyPlumpGoNorth, + gFieldObjectImageAnim_QuintyPlumpGoWest, + gFieldObjectImageAnim_QuintyPlumpGoEast, + gFieldObjectImageAnim_QuintyPlumpGoFastSouth, + gFieldObjectImageAnim_QuintyPlumpGoFastNorth, + gFieldObjectImageAnim_QuintyPlumpGoFastWest, + gFieldObjectImageAnim_QuintyPlumpGoFastEast, + gFieldObjectImageAnim_QuintyPlumpGoFasterSouth, + gFieldObjectImageAnim_QuintyPlumpGoFasterNorth, + gFieldObjectImageAnim_QuintyPlumpGoFasterWest, + gFieldObjectImageAnim_QuintyPlumpGoFasterEast, + gFieldObjectImageAnim_QuintyPlumpGoFastestSouth, + gFieldObjectImageAnim_QuintyPlumpGoFastestNorth, + gFieldObjectImageAnim_QuintyPlumpGoFastestWest, + gFieldObjectImageAnim_QuintyPlumpGoFastestEast, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Standard[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_GoSouth, + gFieldObjectImageAnim_GoNorth, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastNorth, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterNorth, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestNorth, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_HoOh[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_HoOhFlapWings, + gFieldObjectImageAnim_HoOhStayStill, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastNorth, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterNorth, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestNorth, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Groudon3[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_GoSouth, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestEast, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, +}; + +const union AnimCmd gFieldObjectImageAnim_85091F0[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_85091F8[] = +{ + ANIMCMD_FRAME(4, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509200[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509208[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509210[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509218[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509220[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509228[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd gFieldObjectImageAnim_8509230[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Rayquaza2[] = { + gFieldObjectImageAnim_8509218, + gFieldObjectImageAnim_8509220, + gFieldObjectImageAnim_8509228, + gFieldObjectImageAnim_8509230, + gFieldObjectImageAnim_8509200, + gFieldObjectImageAnim_85091F8, + gFieldObjectImageAnim_8509208, + gFieldObjectImageAnim_8509210, + gFieldObjectImageAnim_8509200, + gFieldObjectImageAnim_85091F8, + gFieldObjectImageAnim_85091F0, + gFieldObjectImageAnim_8509210, + gFieldObjectImageAnim_8509200, + gFieldObjectImageAnim_85091F8, + gFieldObjectImageAnim_8509208, + gFieldObjectImageAnim_8509210, + gFieldObjectImageAnim_8509200, + gFieldObjectImageAnim_85091F8, + gFieldObjectImageAnim_8509208, + gFieldObjectImageAnim_8509210, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_BrendanMayNormal[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_GoSouth, + gFieldObjectImageAnim_GoNorth, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastNorth, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterNorth, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestNorth, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, + gFieldObjectImageAnim_RunSouth, + gFieldObjectImageAnim_RunNorth, + gFieldObjectImageAnim_RunWest, + gFieldObjectImageAnim_RunEast, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_AcroBike[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_GoSouth, + gFieldObjectImageAnim_GoNorth, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastNorth, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterNorth, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestNorth, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, + gFieldObjectImageAnim_BunnyHoppyBackWheelSouth, + gFieldObjectImageAnim_BunnyHoppyBackWheelNorth, + gFieldObjectImageAnim_BunnyHoppyBackWheelWest, + gFieldObjectImageAnim_BunnyHoppyBackWheelEast, + gFieldObjectImageAnim_BunnyHoppyFrontWheelSouth, + gFieldObjectImageAnim_BunnyHoppyFrontWheelNorth, + gFieldObjectImageAnim_BunnyHoppyFrontWheelWest, + gFieldObjectImageAnim_BunnyHoppyFrontWheelEast, + gFieldObjectImageAnim_StandingWheelieBackWheelSouth, + gFieldObjectImageAnim_StandingWheelieBackWheelNorth, + gFieldObjectImageAnim_StandingWheelieBackWheelWest, + gFieldObjectImageAnim_StandingWheelieBackWheelEast, + gFieldObjectImageAnim_StandingWheelieFrontWheelSouth, + gFieldObjectImageAnim_StandingWheelieFrontWheelNorth, + gFieldObjectImageAnim_StandingWheelieFrontWheelWest, + gFieldObjectImageAnim_StandingWheelieFrontWheelEast, + gFieldObjectImageAnim_MovingWheelieSouth, + gFieldObjectImageAnim_MovingWheelieNorth, + gFieldObjectImageAnim_MovingWheelieWest, + gFieldObjectImageAnim_MovingWheelieEast, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Surfing[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_GoSouth, + gFieldObjectImageAnim_GoNorth, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastNorth, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterNorth, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestNorth, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, + gFieldObjectImageAnim_GetOnOffSurfBlobSouth, + gFieldObjectImageAnim_GetOnOffSurfBlobNorth, + gFieldObjectImageAnim_GetOnOffSurfBlobWest, + gFieldObjectImageAnim_GetOnOffSurfBlobEast, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Nurse[] = { + gFieldObjectImageAnim_FaceSouth, + gFieldObjectImageAnim_FaceNorth, + gFieldObjectImageAnim_FaceWest, + gFieldObjectImageAnim_FaceEast, + gFieldObjectImageAnim_GoSouth, + gFieldObjectImageAnim_GoNorth, + gFieldObjectImageAnim_GoWest, + gFieldObjectImageAnim_GoEast, + gFieldObjectImageAnim_GoFastSouth, + gFieldObjectImageAnim_GoFastNorth, + gFieldObjectImageAnim_GoFastWest, + gFieldObjectImageAnim_GoFastEast, + gFieldObjectImageAnim_GoFasterSouth, + gFieldObjectImageAnim_GoFasterNorth, + gFieldObjectImageAnim_GoFasterWest, + gFieldObjectImageAnim_GoFasterEast, + gFieldObjectImageAnim_GoFastestSouth, + gFieldObjectImageAnim_GoFastestNorth, + gFieldObjectImageAnim_GoFastestWest, + gFieldObjectImageAnim_GoFastestEast, + gFieldObjectImageAnim_NurseBow, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_FieldMove[] = { + gFieldObjectImageAnim_FieldMove, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_BerryTree[] = { + gFieldObjectImageAnim_BerryTreeStage0, + gFieldObjectImageAnim_BerryTreeStage1, + gFieldObjectImageAnim_BerryTreeStage2, + gFieldObjectImageAnim_BerryTreeStage3, + gFieldObjectImageAnim_BerryTreeStage4, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_BreakableRock[] = { + gFieldObjectImageAnim_StayStill, + gFieldObjectImageAnim_RockBreak, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_CuttableTree[] = { + gFieldObjectImageAnim_StayStill, + gFieldObjectImageAnim_TreeCut, +}; + +const union AnimCmd *const gFieldObjectImageAnimTable_Fishing[] = { + gFieldObjectImageAnim_TakeOutRodSouth, + gFieldObjectImageAnim_TakeOutRodNorth, + gFieldObjectImageAnim_TakeOutRodWest, + gFieldObjectImageAnim_TakeOutRodEast, + gFieldObjectImageAnim_PutAwayRodSouth, + gFieldObjectImageAnim_PutAwayRodNorth, + gFieldObjectImageAnim_PutAwayRodWest, + gFieldObjectImageAnim_PutAwayRodEast, + gFieldObjectImageAnim_HookedPokemonSouth, + gFieldObjectImageAnim_HookedPokemonNorth, + gFieldObjectImageAnim_HookedPokemonWest, + gFieldObjectImageAnim_HookedPokemonEast, +}; + +const union AffineAnimCmd *const gFieldObjectRotScalAnimTable_KyogreGroudon[] = { + gFieldObjectRotScalAnim_8508FD8, + gFieldObjectRotScalAnim_8509008, + gFieldObjectRotScalAnim_8509050, + gFieldObjectRotScalAnim_8509040, + gFieldObjectRotScalAnim_8509078, + gFieldObjectRotScalAnim_8509060, +}; + +const struct UnkStruct_085094AC gUnknown_085094AC[] = { + { + .anims = gFieldObjectImageAnimTable_QuintyPlump, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gFieldObjectImageAnimTable_Standard, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gFieldObjectImageAnimTable_BrendanMayNormal, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gFieldObjectImageAnimTable_AcroBike, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gFieldObjectImageAnimTable_Surfing, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gFieldObjectImageAnimTable_Nurse, + .animPos = {1, 3, 0, 2}, + }, + { + .anims = gFieldObjectImageAnimTable_Fishing, + .animPos = {1, 3, 0, 2}, + }, + { + NULL, + {0, 0, 0, 0}, + }, +}; + +#endif //GUARD_EVENT_OBJECT_ANIMS_H diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h new file mode 100755 index 000000000..9a9f096a2 --- /dev/null +++ b/src/data/field_event_obj/event_object_graphics.h @@ -0,0 +1,1667 @@ +#ifndef GUARD_EVENT_OBJECT_GFX_H +#define GUARD_EVENT_OBJECT_GFX_H + +const u32 gFieldObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/00.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/01.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/02.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/03.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/04.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/05.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/06.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/07.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/08.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/09.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/10.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/11.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/12.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/13.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/14.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/15.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/16.4bpp"); +const u32 gFieldObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/17.4bpp"); +const u16 gFieldObjectPalette8[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_08.gbapal"); +const u32 gFieldObjectPic_RubySapphireBrendan_0[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/00.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_1[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/01.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_2[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/02.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_3[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/03.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_4[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/04.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_5[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/05.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_6[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/06.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_7[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/07.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_8[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/08.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_9[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/09.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_10[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/10.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_11[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/11.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_12[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/12.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_13[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/13.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_14[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/14.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_15[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/15.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_16[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/16.4bpp"); +const u32 gFieldObjectPic_RubySapphireBrendan_17[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/17.4bpp"); +const u16 gFieldObjectPalette33[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_33.gbapal"); +const u16 NullPalette_8499A38[16] = {}; +const u16 NullPalette_8499A58[16] = {}; +const u16 NullPalette_8499A78[16] = {}; +const u16 NullPalette_8499A98[16] = {}; +const u16 NullPalette_8499AB8[16] = {}; +const u16 NullPalette_8499AD8[16] = {}; +const u16 NullPalette_8499AF8[16] = {}; +const u16 NullPalette_8499B18[16] = {}; +const u16 NullPalette_8499B38[16] = {}; +const u16 NullPalette_8499B58[16] = {}; +const u16 NullPalette_8499B78[16] = {}; +const u16 NullPalette_8499B98[16] = {}; +const u16 NullPalette_8499BB8[16] = {}; +const u16 NullPalette_8499BD8[16] = {}; +const u16 NullPalette_8499BF8[16] = {}; +const u16 gFieldObjectPalette9[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_09.gbapal"); +const u16 gFieldObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_10.gbapal"); +const u32 gFieldObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/0.4bpp"); +const u32 gFieldObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/1.4bpp"); +const u32 gFieldObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/2.4bpp"); +const u32 gFieldObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/3.4bpp"); +const u32 gFieldObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/4.4bpp"); +const u32 gFieldObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/0.4bpp"); +const u32 gFieldObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/3.4bpp"); +const u32 gFieldObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/1.4bpp"); +const u32 gFieldObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/4.4bpp"); +const u32 gFieldObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/2.4bpp"); +const u32 gFieldObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/5.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/0.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/1.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/2.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/3.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/4.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/5.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/6.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/7.4bpp"); +const u32 gFieldObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/8.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/00.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/01.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/02.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/03.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/04.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/05.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/06.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/07.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/08.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/09.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/10.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/11.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/12.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/13.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/14.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/15.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/16.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/17.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/18.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/19.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/20.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/21.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/22.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/23.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/24.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/25.4bpp"); +const u32 gFieldObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/26.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/00.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/01.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/02.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/03.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/04.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/05.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/06.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/07.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/08.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/09.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/10.4bpp"); +const u32 gFieldObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/11.4bpp"); +const u32 gFieldObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/0.4bpp"); +const u32 gFieldObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/3.4bpp"); +const u32 gFieldObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/1.4bpp"); +const u32 gFieldObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/4.4bpp"); +const u32 gFieldObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/2.4bpp"); +const u32 gFieldObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/5.4bpp"); +const u32 gFieldObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/decorating.4bpp"); +const u32 gFieldObjectPic_MayDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/may/decorating.4bpp"); +const u32 gFieldObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/0.4bpp"); +const u32 gFieldObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/1.4bpp"); +const u32 gFieldObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/2.4bpp"); +const u32 gFieldObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/3.4bpp"); +const u32 gFieldObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/0.4bpp"); +const u32 gFieldObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/1.4bpp"); +const u32 gFieldObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/2.4bpp"); +const u32 gFieldObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/3.4bpp"); +const u16 gFieldObjectPalette11[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_11.gbapal"); +const u32 gFieldObjectPic_MayNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/00.4bpp"); +const u32 gFieldObjectPic_MayNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/01.4bpp"); +const u32 gFieldObjectPic_MayNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/02.4bpp"); +const u32 gFieldObjectPic_MayNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/03.4bpp"); +const u32 gFieldObjectPic_MayNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/04.4bpp"); +const u32 gFieldObjectPic_MayNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/05.4bpp"); +const u32 gFieldObjectPic_MayNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/06.4bpp"); +const u32 gFieldObjectPic_MayNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/07.4bpp"); +const u32 gFieldObjectPic_MayNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/08.4bpp"); +const u32 gFieldObjectPic_MayNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/09.4bpp"); +const u32 gFieldObjectPic_MayNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/10.4bpp"); +const u32 gFieldObjectPic_MayNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/11.4bpp"); +const u32 gFieldObjectPic_MayNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/12.4bpp"); +const u32 gFieldObjectPic_MayNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/13.4bpp"); +const u32 gFieldObjectPic_MayNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/14.4bpp"); +const u32 gFieldObjectPic_MayNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/15.4bpp"); +const u32 gFieldObjectPic_MayNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/16.4bpp"); +const u32 gFieldObjectPic_MayNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/17.4bpp"); +const u16 gFieldObjectPalette17[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_17.gbapal"); +const u16 gFieldObjectPalette18[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_18.gbapal"); +const u32 gFieldObjectPic_RubySapphireMay_0[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/00.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_1[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/01.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_2[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/02.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_3[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/03.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_4[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/04.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_5[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/05.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_6[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/06.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_7[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/07.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_8[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/08.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_9[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/09.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_10[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/10.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_11[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/11.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_12[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/12.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_13[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/13.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_14[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/14.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_15[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/15.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_16[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/16.4bpp"); +const u32 gFieldObjectPic_RubySapphireMay_17[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/17.4bpp"); +const u16 gFieldObjectPalette34[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_34.gbapal"); +const u16 gUnusedFieldObjectPalette[] = INCBIN_U16("graphics/map_objects/palettes/unused_palette.gbapal"); +const u16 NullPalette_84A54F8[16] = {}; +const u16 NullPalette_84A5518[16] = {}; +const u16 NullPalette_84A5538[16] = {}; +const u16 NullPalette_84A5558[16] = {}; +const u16 NullPalette_84A5578[16] = {}; +const u16 NullPalette_84A5598[16] = {}; +const u16 NullPalette_84A55B8[16] = {}; +const u16 NullPalette_84A55D8[16] = {}; +const u16 NullPalette_84A55F8[16] = {}; +const u16 NullPalette_84A5618[16] = {}; +const u16 NullPalette_84A5638[16] = {}; +const u16 NullPalette_84A5658[16] = {}; +const u16 NullPalette_84A5678[16] = {}; +const u16 NullPalette_84A5698[16] = {}; +const u32 gFieldObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/0.4bpp"); +const u32 gFieldObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/1.4bpp"); +const u32 gFieldObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/2.4bpp"); +const u32 gFieldObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/3.4bpp"); +const u32 gFieldObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/4.4bpp"); +const u32 gFieldObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/5.4bpp"); +const u32 gFieldObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/6.4bpp"); +const u32 gFieldObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/7.4bpp"); +const u32 gFieldObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/8.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/00.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/01.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/02.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/03.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/04.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/05.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/06.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/07.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/08.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/09.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/10.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/11.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/12.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/13.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/14.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/15.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/16.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/17.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/18.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/19.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/20.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/21.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/22.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/23.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/24.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/25.4bpp"); +const u32 gFieldObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/26.4bpp"); +const u32 gFieldObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/0.4bpp"); +const u32 gFieldObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/3.4bpp"); +const u32 gFieldObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/1.4bpp"); +const u32 gFieldObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/4.4bpp"); +const u32 gFieldObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/2.4bpp"); +const u32 gFieldObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/5.4bpp"); +const u32 gFieldObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/0.4bpp"); +const u32 gFieldObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/1.4bpp"); +const u32 gFieldObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/2.4bpp"); +const u32 gFieldObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/3.4bpp"); +const u32 gFieldObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/4.4bpp"); +const u32 gFieldObjectPic_MayFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/00.4bpp"); +const u32 gFieldObjectPic_MayFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/01.4bpp"); +const u32 gFieldObjectPic_MayFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/02.4bpp"); +const u32 gFieldObjectPic_MayFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/03.4bpp"); +const u32 gFieldObjectPic_MayFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/04.4bpp"); +const u32 gFieldObjectPic_MayFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/05.4bpp"); +const u32 gFieldObjectPic_MayFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/06.4bpp"); +const u32 gFieldObjectPic_MayFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/07.4bpp"); +const u32 gFieldObjectPic_MayFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/08.4bpp"); +const u32 gFieldObjectPic_MayFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/09.4bpp"); +const u32 gFieldObjectPic_MayFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/10.4bpp"); +const u32 gFieldObjectPic_MayFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/11.4bpp"); +const u32 gFieldObjectPic_MayWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/0.4bpp"); +const u32 gFieldObjectPic_MayWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/3.4bpp"); +const u32 gFieldObjectPic_MayWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/1.4bpp"); +const u32 gFieldObjectPic_MayWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/4.4bpp"); +const u32 gFieldObjectPic_MayWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/2.4bpp"); +const u32 gFieldObjectPic_MayWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/5.4bpp"); +const u16 gFieldObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_00.gbapal"); +const u16 gFieldObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_01.gbapal"); +const u16 gFieldObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_02.gbapal"); +const u16 gFieldObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_03.gbapal"); +const u16 gFieldObjectPalette4[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_04.gbapal"); +const u16 gFieldObjectPalette5[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_05.gbapal"); +const u16 gFieldObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_06.gbapal"); +const u16 gFieldObjectPalette7[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_07.gbapal"); +const u32 gFieldObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/0.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/1.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/2.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/3.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/4.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/5.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/6.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/7.4bpp"); +const u32 gFieldObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/8.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/0.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/1.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/2.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/3.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/4.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/5.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/6.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/7.4bpp"); +const u32 gFieldObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/8.4bpp"); +const u32 gFieldObjectPic_Boy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/0.4bpp"); +const u32 gFieldObjectPic_Boy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/1.4bpp"); +const u32 gFieldObjectPic_Boy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/2.4bpp"); +const u32 gFieldObjectPic_Boy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/3.4bpp"); +const u32 gFieldObjectPic_Boy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/4.4bpp"); +const u32 gFieldObjectPic_Boy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/5.4bpp"); +const u32 gFieldObjectPic_Boy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/6.4bpp"); +const u32 gFieldObjectPic_Boy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/7.4bpp"); +const u32 gFieldObjectPic_Boy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/8.4bpp"); +const u32 gFieldObjectPic_Girl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/0.4bpp"); +const u32 gFieldObjectPic_Girl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/1.4bpp"); +const u32 gFieldObjectPic_Girl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/2.4bpp"); +const u32 gFieldObjectPic_Girl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/3.4bpp"); +const u32 gFieldObjectPic_Girl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/4.4bpp"); +const u32 gFieldObjectPic_Girl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/5.4bpp"); +const u32 gFieldObjectPic_Girl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/6.4bpp"); +const u32 gFieldObjectPic_Girl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/7.4bpp"); +const u32 gFieldObjectPic_Girl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/8.4bpp"); +const u32 gFieldObjectPic_Boy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/0.4bpp"); +const u32 gFieldObjectPic_Boy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/1.4bpp"); +const u32 gFieldObjectPic_Boy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/2.4bpp"); +const u32 gFieldObjectPic_Boy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/3.4bpp"); +const u32 gFieldObjectPic_Boy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/4.4bpp"); +const u32 gFieldObjectPic_Boy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/5.4bpp"); +const u32 gFieldObjectPic_Boy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/6.4bpp"); +const u32 gFieldObjectPic_Boy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/7.4bpp"); +const u32 gFieldObjectPic_Boy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/8.4bpp"); +const u32 gFieldObjectPic_Girl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/0.4bpp"); +const u32 gFieldObjectPic_Girl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/1.4bpp"); +const u32 gFieldObjectPic_Girl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/2.4bpp"); +const u32 gFieldObjectPic_Girl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/3.4bpp"); +const u32 gFieldObjectPic_Girl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/4.4bpp"); +const u32 gFieldObjectPic_Girl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/5.4bpp"); +const u32 gFieldObjectPic_Girl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/6.4bpp"); +const u32 gFieldObjectPic_Girl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/7.4bpp"); +const u32 gFieldObjectPic_Girl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/8.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/0.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/1.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/2.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/3.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/4.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/5.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/6.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/7.4bpp"); +const u32 gFieldObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/8.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/0.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/1.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/2.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/3.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/4.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/5.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/6.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/7.4bpp"); +const u32 gFieldObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/8.4bpp"); +const u32 gFieldObjectPic_Boy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/0.4bpp"); +const u32 gFieldObjectPic_Boy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/1.4bpp"); +const u32 gFieldObjectPic_Boy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/2.4bpp"); +const u32 gFieldObjectPic_Boy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/3.4bpp"); +const u32 gFieldObjectPic_Boy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/4.4bpp"); +const u32 gFieldObjectPic_Boy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/5.4bpp"); +const u32 gFieldObjectPic_Boy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/6.4bpp"); +const u32 gFieldObjectPic_Boy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/7.4bpp"); +const u32 gFieldObjectPic_Boy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/8.4bpp"); +const u32 gFieldObjectPic_Girl3_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/0.4bpp"); +const u32 gFieldObjectPic_Girl3_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/1.4bpp"); +const u32 gFieldObjectPic_Girl3_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/2.4bpp"); +const u32 gFieldObjectPic_Girl3_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/3.4bpp"); +const u32 gFieldObjectPic_Girl3_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/4.4bpp"); +const u32 gFieldObjectPic_Girl3_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/5.4bpp"); +const u32 gFieldObjectPic_Girl3_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/6.4bpp"); +const u32 gFieldObjectPic_Girl3_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/7.4bpp"); +const u32 gFieldObjectPic_Girl3_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/8.4bpp"); +const u32 gFieldObjectPic_Boy4_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/0.4bpp"); +const u32 gFieldObjectPic_Boy4_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/1.4bpp"); +const u32 gFieldObjectPic_Boy4_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/2.4bpp"); +const u32 gFieldObjectPic_Boy4_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/3.4bpp"); +const u32 gFieldObjectPic_Boy4_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/4.4bpp"); +const u32 gFieldObjectPic_Boy4_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/5.4bpp"); +const u32 gFieldObjectPic_Boy4_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/6.4bpp"); +const u32 gFieldObjectPic_Boy4_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/7.4bpp"); +const u32 gFieldObjectPic_Boy4_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/8.4bpp"); +const u32 gFieldObjectPic_Woman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/0.4bpp"); +const u32 gFieldObjectPic_Woman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/1.4bpp"); +const u32 gFieldObjectPic_Woman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/2.4bpp"); +const u32 gFieldObjectPic_Woman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/3.4bpp"); +const u32 gFieldObjectPic_Woman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/4.4bpp"); +const u32 gFieldObjectPic_Woman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/5.4bpp"); +const u32 gFieldObjectPic_Woman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/6.4bpp"); +const u32 gFieldObjectPic_Woman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/7.4bpp"); +const u32 gFieldObjectPic_Woman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/8.4bpp"); +const u32 gFieldObjectPic_FatMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/0.4bpp"); +const u32 gFieldObjectPic_FatMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/1.4bpp"); +const u32 gFieldObjectPic_FatMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/2.4bpp"); +const u32 gFieldObjectPic_FatMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/3.4bpp"); +const u32 gFieldObjectPic_FatMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/4.4bpp"); +const u32 gFieldObjectPic_FatMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/5.4bpp"); +const u32 gFieldObjectPic_FatMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/6.4bpp"); +const u32 gFieldObjectPic_FatMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/7.4bpp"); +const u32 gFieldObjectPic_FatMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/8.4bpp"); +const u32 gFieldObjectPic_Woman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/0.4bpp"); +const u32 gFieldObjectPic_Woman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/1.4bpp"); +const u32 gFieldObjectPic_Woman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/2.4bpp"); +const u32 gFieldObjectPic_Woman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/3.4bpp"); +const u32 gFieldObjectPic_Woman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/4.4bpp"); +const u32 gFieldObjectPic_Woman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/5.4bpp"); +const u32 gFieldObjectPic_Woman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/6.4bpp"); +const u32 gFieldObjectPic_Woman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/7.4bpp"); +const u32 gFieldObjectPic_Woman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/8.4bpp"); +const u32 gFieldObjectPic_Man1_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/0.4bpp"); +const u32 gFieldObjectPic_Man1_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/1.4bpp"); +const u32 gFieldObjectPic_Man1_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/2.4bpp"); +const u32 gFieldObjectPic_Man1_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/3.4bpp"); +const u32 gFieldObjectPic_Man1_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/4.4bpp"); +const u32 gFieldObjectPic_Man1_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/5.4bpp"); +const u32 gFieldObjectPic_Man1_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/6.4bpp"); +const u32 gFieldObjectPic_Man1_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/7.4bpp"); +const u32 gFieldObjectPic_Man1_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/8.4bpp"); +const u32 gFieldObjectPic_Woman3_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/0.4bpp"); +const u32 gFieldObjectPic_Woman3_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/1.4bpp"); +const u32 gFieldObjectPic_Woman3_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/2.4bpp"); +const u32 gFieldObjectPic_Woman3_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/3.4bpp"); +const u32 gFieldObjectPic_Woman3_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/4.4bpp"); +const u32 gFieldObjectPic_Woman3_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/5.4bpp"); +const u32 gFieldObjectPic_Woman3_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/6.4bpp"); +const u32 gFieldObjectPic_Woman3_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/7.4bpp"); +const u32 gFieldObjectPic_Woman3_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/8.4bpp"); +const u32 gFieldObjectPic_OldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/0.4bpp"); +const u32 gFieldObjectPic_OldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/1.4bpp"); +const u32 gFieldObjectPic_OldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/2.4bpp"); +const u32 gFieldObjectPic_OldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/3.4bpp"); +const u32 gFieldObjectPic_OldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/4.4bpp"); +const u32 gFieldObjectPic_OldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/5.4bpp"); +const u32 gFieldObjectPic_OldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/6.4bpp"); +const u32 gFieldObjectPic_OldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/7.4bpp"); +const u32 gFieldObjectPic_OldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/8.4bpp"); +const u32 gFieldObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/0.4bpp"); +const u32 gFieldObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/1.4bpp"); +const u32 gFieldObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/2.4bpp"); +const u32 gFieldObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/3.4bpp"); +const u32 gFieldObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/4.4bpp"); +const u32 gFieldObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/5.4bpp"); +const u32 gFieldObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/6.4bpp"); +const u32 gFieldObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/7.4bpp"); +const u32 gFieldObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/8.4bpp"); +const u32 gFieldObjectPic_Man2_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/0.4bpp"); +const u32 gFieldObjectPic_Man2_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/1.4bpp"); +const u32 gFieldObjectPic_Man2_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/2.4bpp"); +const u32 gFieldObjectPic_Man2_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/3.4bpp"); +const u32 gFieldObjectPic_Man2_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/4.4bpp"); +const u32 gFieldObjectPic_Man2_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/5.4bpp"); +const u32 gFieldObjectPic_Man2_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/6.4bpp"); +const u32 gFieldObjectPic_Man2_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/7.4bpp"); +const u32 gFieldObjectPic_Man2_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/8.4bpp"); +const u32 gFieldObjectPic_Woman4_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/0.4bpp"); +const u32 gFieldObjectPic_Woman4_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/1.4bpp"); +const u32 gFieldObjectPic_Woman4_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/2.4bpp"); +const u32 gFieldObjectPic_Woman4_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/3.4bpp"); +const u32 gFieldObjectPic_Woman4_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/4.4bpp"); +const u32 gFieldObjectPic_Woman4_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/5.4bpp"); +const u32 gFieldObjectPic_Woman4_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/6.4bpp"); +const u32 gFieldObjectPic_Woman4_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/7.4bpp"); +const u32 gFieldObjectPic_Woman4_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/8.4bpp"); +const u32 gFieldObjectPic_Man3_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/0.4bpp"); +const u32 gFieldObjectPic_Man3_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/1.4bpp"); +const u32 gFieldObjectPic_Man3_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/2.4bpp"); +const u32 gFieldObjectPic_Man3_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/3.4bpp"); +const u32 gFieldObjectPic_Man3_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/4.4bpp"); +const u32 gFieldObjectPic_Man3_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/5.4bpp"); +const u32 gFieldObjectPic_Man3_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/6.4bpp"); +const u32 gFieldObjectPic_Man3_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/7.4bpp"); +const u32 gFieldObjectPic_Man3_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/8.4bpp"); +const u32 gFieldObjectPic_Woman5_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/0.4bpp"); +const u32 gFieldObjectPic_Woman5_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/1.4bpp"); +const u32 gFieldObjectPic_Woman5_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/2.4bpp"); +const u32 gFieldObjectPic_Woman5_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/3.4bpp"); +const u32 gFieldObjectPic_Woman5_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/4.4bpp"); +const u32 gFieldObjectPic_Woman5_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/5.4bpp"); +const u32 gFieldObjectPic_Woman5_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/6.4bpp"); +const u32 gFieldObjectPic_Woman5_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/7.4bpp"); +const u32 gFieldObjectPic_Woman5_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/8.4bpp"); +const u32 gFieldObjectPic_Cook_0[] = INCBIN_U32("graphics/map_objects/pics/people/cook/0.4bpp"); +const u32 gFieldObjectPic_Cook_1[] = INCBIN_U32("graphics/map_objects/pics/people/cook/1.4bpp"); +const u32 gFieldObjectPic_Cook_2[] = INCBIN_U32("graphics/map_objects/pics/people/cook/2.4bpp"); +const u32 gFieldObjectPic_Woman6_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/0.4bpp"); +const u32 gFieldObjectPic_Woman6_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/1.4bpp"); +const u32 gFieldObjectPic_Woman6_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/2.4bpp"); +const u32 gFieldObjectPic_Woman6_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/3.4bpp"); +const u32 gFieldObjectPic_Woman6_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/4.4bpp"); +const u32 gFieldObjectPic_Woman6_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/5.4bpp"); +const u32 gFieldObjectPic_Woman6_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/6.4bpp"); +const u32 gFieldObjectPic_Woman6_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/7.4bpp"); +const u32 gFieldObjectPic_Woman6_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/8.4bpp"); +const u32 gFieldObjectPic_OldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/0.4bpp"); +const u32 gFieldObjectPic_OldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/1.4bpp"); +const u32 gFieldObjectPic_OldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/2.4bpp"); +const u32 gFieldObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/0.4bpp"); +const u32 gFieldObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/1.4bpp"); +const u32 gFieldObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/2.4bpp"); +const u32 gFieldObjectPic_OldWoman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/3.4bpp"); +const u32 gFieldObjectPic_OldWoman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/4.4bpp"); +const u32 gFieldObjectPic_OldWoman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/5.4bpp"); +const u32 gFieldObjectPic_OldWoman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/6.4bpp"); +const u32 gFieldObjectPic_OldWoman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/7.4bpp"); +const u32 gFieldObjectPic_OldWoman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/8.4bpp"); +const u32 gFieldObjectPic_Camper_0[] = INCBIN_U32("graphics/map_objects/pics/people/camper/0.4bpp"); +const u32 gFieldObjectPic_Camper_1[] = INCBIN_U32("graphics/map_objects/pics/people/camper/1.4bpp"); +const u32 gFieldObjectPic_Camper_2[] = INCBIN_U32("graphics/map_objects/pics/people/camper/2.4bpp"); +const u32 gFieldObjectPic_Camper_3[] = INCBIN_U32("graphics/map_objects/pics/people/camper/3.4bpp"); +const u32 gFieldObjectPic_Camper_4[] = INCBIN_U32("graphics/map_objects/pics/people/camper/4.4bpp"); +const u32 gFieldObjectPic_Camper_5[] = INCBIN_U32("graphics/map_objects/pics/people/camper/5.4bpp"); +const u32 gFieldObjectPic_Camper_6[] = INCBIN_U32("graphics/map_objects/pics/people/camper/6.4bpp"); +const u32 gFieldObjectPic_Camper_7[] = INCBIN_U32("graphics/map_objects/pics/people/camper/7.4bpp"); +const u32 gFieldObjectPic_Camper_8[] = INCBIN_U32("graphics/map_objects/pics/people/camper/8.4bpp"); +const u32 gFieldObjectPic_Picnicker_0[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/0.4bpp"); +const u32 gFieldObjectPic_Picnicker_1[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/1.4bpp"); +const u32 gFieldObjectPic_Picnicker_2[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/2.4bpp"); +const u32 gFieldObjectPic_Picnicker_3[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/3.4bpp"); +const u32 gFieldObjectPic_Picnicker_4[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/4.4bpp"); +const u32 gFieldObjectPic_Picnicker_5[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/5.4bpp"); +const u32 gFieldObjectPic_Picnicker_6[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/6.4bpp"); +const u32 gFieldObjectPic_Picnicker_7[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/7.4bpp"); +const u32 gFieldObjectPic_Picnicker_8[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/8.4bpp"); +const u32 gFieldObjectPic_Man4_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/0.4bpp"); +const u32 gFieldObjectPic_Man4_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/1.4bpp"); +const u32 gFieldObjectPic_Man4_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/2.4bpp"); +const u32 gFieldObjectPic_Man4_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/3.4bpp"); +const u32 gFieldObjectPic_Man4_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/4.4bpp"); +const u32 gFieldObjectPic_Man4_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/5.4bpp"); +const u32 gFieldObjectPic_Man4_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/6.4bpp"); +const u32 gFieldObjectPic_Man4_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/7.4bpp"); +const u32 gFieldObjectPic_Man4_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/8.4bpp"); +const u32 gFieldObjectPic_Woman7_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/0.4bpp"); +const u32 gFieldObjectPic_Woman7_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/1.4bpp"); +const u32 gFieldObjectPic_Woman7_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/2.4bpp"); +const u32 gFieldObjectPic_Woman7_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/3.4bpp"); +const u32 gFieldObjectPic_Woman7_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/4.4bpp"); +const u32 gFieldObjectPic_Woman7_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/5.4bpp"); +const u32 gFieldObjectPic_Woman7_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/6.4bpp"); +const u32 gFieldObjectPic_Woman7_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/7.4bpp"); +const u32 gFieldObjectPic_Woman7_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/8.4bpp"); +const u32 gFieldObjectPic_Youngster_0[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/0.4bpp"); +const u32 gFieldObjectPic_Youngster_1[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/1.4bpp"); +const u32 gFieldObjectPic_Youngster_2[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/2.4bpp"); +const u32 gFieldObjectPic_Youngster_3[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/3.4bpp"); +const u32 gFieldObjectPic_Youngster_4[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/4.4bpp"); +const u32 gFieldObjectPic_Youngster_5[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/5.4bpp"); +const u32 gFieldObjectPic_Youngster_6[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/6.4bpp"); +const u32 gFieldObjectPic_Youngster_7[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/7.4bpp"); +const u32 gFieldObjectPic_Youngster_8[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/8.4bpp"); +const u32 gFieldObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/0.4bpp"); +const u32 gFieldObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/1.4bpp"); +const u32 gFieldObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/2.4bpp"); +const u32 gFieldObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/3.4bpp"); +const u32 gFieldObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/4.4bpp"); +const u32 gFieldObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/5.4bpp"); +const u32 gFieldObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/6.4bpp"); +const u32 gFieldObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/7.4bpp"); +const u32 gFieldObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/8.4bpp"); +const u32 gFieldObjectPic_PsychicM_0[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/0.4bpp"); +const u32 gFieldObjectPic_PsychicM_1[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/1.4bpp"); +const u32 gFieldObjectPic_PsychicM_2[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/2.4bpp"); +const u32 gFieldObjectPic_PsychicM_3[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/3.4bpp"); +const u32 gFieldObjectPic_PsychicM_4[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/4.4bpp"); +const u32 gFieldObjectPic_PsychicM_5[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/5.4bpp"); +const u32 gFieldObjectPic_PsychicM_6[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/6.4bpp"); +const u32 gFieldObjectPic_PsychicM_7[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/7.4bpp"); +const u32 gFieldObjectPic_PsychicM_8[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/8.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/0.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/1.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/2.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/3.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/4.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/5.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/6.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/7.4bpp"); +const u32 gFieldObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/8.4bpp"); +const u32 gFieldObjectPic_Maniac_0[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/0.4bpp"); +const u32 gFieldObjectPic_Maniac_1[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/1.4bpp"); +const u32 gFieldObjectPic_Maniac_2[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/2.4bpp"); +const u32 gFieldObjectPic_Maniac_3[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/3.4bpp"); +const u32 gFieldObjectPic_Maniac_4[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/4.4bpp"); +const u32 gFieldObjectPic_Maniac_5[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/5.4bpp"); +const u32 gFieldObjectPic_Maniac_6[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/6.4bpp"); +const u32 gFieldObjectPic_Maniac_7[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/7.4bpp"); +const u32 gFieldObjectPic_Maniac_8[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/8.4bpp"); +const u32 gFieldObjectPic_HexManiac_0[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/0.4bpp"); +const u32 gFieldObjectPic_HexManiac_1[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/1.4bpp"); +const u32 gFieldObjectPic_HexManiac_2[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/2.4bpp"); +const u32 gFieldObjectPic_HexManiac_3[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/3.4bpp"); +const u32 gFieldObjectPic_HexManiac_4[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/4.4bpp"); +const u32 gFieldObjectPic_HexManiac_5[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/5.4bpp"); +const u32 gFieldObjectPic_HexManiac_6[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/6.4bpp"); +const u32 gFieldObjectPic_HexManiac_7[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/7.4bpp"); +const u32 gFieldObjectPic_HexManiac_8[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/8.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/0.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/1.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/2.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/3.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/4.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/5.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/6.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/7.4bpp"); +const u32 gFieldObjectPic_UnusedWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/8.4bpp"); +const u32 gFieldObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/0.4bpp"); +const u32 gFieldObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/1.4bpp"); +const u32 gFieldObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/2.4bpp"); +const u32 gFieldObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/3.4bpp"); +const u32 gFieldObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/4.4bpp"); +const u32 gFieldObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/5.4bpp"); +const u32 gFieldObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/6.4bpp"); +const u32 gFieldObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/7.4bpp"); +const u32 gFieldObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/8.4bpp"); +const u32 gFieldObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/0.4bpp"); +const u32 gFieldObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/1.4bpp"); +const u32 gFieldObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/2.4bpp"); +const u32 gFieldObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/3.4bpp"); +const u32 gFieldObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/4.4bpp"); +const u32 gFieldObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/5.4bpp"); +const u32 gFieldObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/6.4bpp"); +const u32 gFieldObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/7.4bpp"); +const u32 gFieldObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/8.4bpp"); +const u32 gFieldObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/0.4bpp"); +const u32 gFieldObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/1.4bpp"); +const u32 gFieldObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/2.4bpp"); +const u32 gFieldObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/3.4bpp"); +const u32 gFieldObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/4.4bpp"); +const u32 gFieldObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/5.4bpp"); +const u32 gFieldObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/6.4bpp"); +const u32 gFieldObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/7.4bpp"); +const u32 gFieldObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/8.4bpp"); +const u32 gFieldObjectPic_Beauty_0[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/0.4bpp"); +const u32 gFieldObjectPic_Beauty_1[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/1.4bpp"); +const u32 gFieldObjectPic_Beauty_2[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/2.4bpp"); +const u32 gFieldObjectPic_Beauty_3[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/3.4bpp"); +const u32 gFieldObjectPic_Beauty_4[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/4.4bpp"); +const u32 gFieldObjectPic_Beauty_5[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/5.4bpp"); +const u32 gFieldObjectPic_Beauty_6[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/6.4bpp"); +const u32 gFieldObjectPic_Beauty_7[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/7.4bpp"); +const u32 gFieldObjectPic_Beauty_8[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/8.4bpp"); +const u32 gFieldObjectPic_Scientist1_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/0.4bpp"); +const u32 gFieldObjectPic_Scientist1_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/1.4bpp"); +const u32 gFieldObjectPic_Scientist1_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/2.4bpp"); +const u32 gFieldObjectPic_Scientist1_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/3.4bpp"); +const u32 gFieldObjectPic_Scientist1_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/4.4bpp"); +const u32 gFieldObjectPic_Scientist1_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/5.4bpp"); +const u32 gFieldObjectPic_Scientist1_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/6.4bpp"); +const u32 gFieldObjectPic_Scientist1_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/7.4bpp"); +const u32 gFieldObjectPic_Scientist1_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/8.4bpp"); +const u32 gFieldObjectPic_Lass_0[] = INCBIN_U32("graphics/map_objects/pics/people/lass/0.4bpp"); +const u32 gFieldObjectPic_Lass_1[] = INCBIN_U32("graphics/map_objects/pics/people/lass/1.4bpp"); +const u32 gFieldObjectPic_Lass_2[] = INCBIN_U32("graphics/map_objects/pics/people/lass/2.4bpp"); +const u32 gFieldObjectPic_Lass_3[] = INCBIN_U32("graphics/map_objects/pics/people/lass/3.4bpp"); +const u32 gFieldObjectPic_Lass_4[] = INCBIN_U32("graphics/map_objects/pics/people/lass/4.4bpp"); +const u32 gFieldObjectPic_Lass_5[] = INCBIN_U32("graphics/map_objects/pics/people/lass/5.4bpp"); +const u32 gFieldObjectPic_Lass_6[] = INCBIN_U32("graphics/map_objects/pics/people/lass/6.4bpp"); +const u32 gFieldObjectPic_Lass_7[] = INCBIN_U32("graphics/map_objects/pics/people/lass/7.4bpp"); +const u32 gFieldObjectPic_Lass_8[] = INCBIN_U32("graphics/map_objects/pics/people/lass/8.4bpp"); +const u32 gFieldObjectPic_Gentleman_0[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/0.4bpp"); +const u32 gFieldObjectPic_Gentleman_1[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/1.4bpp"); +const u32 gFieldObjectPic_Gentleman_2[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/2.4bpp"); +const u32 gFieldObjectPic_Gentleman_3[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/3.4bpp"); +const u32 gFieldObjectPic_Gentleman_4[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/4.4bpp"); +const u32 gFieldObjectPic_Gentleman_5[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/5.4bpp"); +const u32 gFieldObjectPic_Gentleman_6[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/6.4bpp"); +const u32 gFieldObjectPic_Gentleman_7[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/7.4bpp"); +const u32 gFieldObjectPic_Gentleman_8[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/8.4bpp"); +const u32 gFieldObjectPic_Sailor_0[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/0.4bpp"); +const u32 gFieldObjectPic_Sailor_1[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/1.4bpp"); +const u32 gFieldObjectPic_Sailor_2[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/2.4bpp"); +const u32 gFieldObjectPic_Sailor_3[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/3.4bpp"); +const u32 gFieldObjectPic_Sailor_4[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/4.4bpp"); +const u32 gFieldObjectPic_Sailor_5[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/5.4bpp"); +const u32 gFieldObjectPic_Sailor_6[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/6.4bpp"); +const u32 gFieldObjectPic_Sailor_7[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/7.4bpp"); +const u32 gFieldObjectPic_Sailor_8[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/8.4bpp"); +const u32 gFieldObjectPic_Fisherman_0[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/0.4bpp"); +const u32 gFieldObjectPic_Fisherman_1[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/1.4bpp"); +const u32 gFieldObjectPic_Fisherman_2[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/2.4bpp"); +const u32 gFieldObjectPic_Fisherman_3[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/3.4bpp"); +const u32 gFieldObjectPic_Fisherman_4[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/4.4bpp"); +const u32 gFieldObjectPic_Fisherman_5[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/5.4bpp"); +const u32 gFieldObjectPic_Fisherman_6[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/6.4bpp"); +const u32 gFieldObjectPic_Fisherman_7[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/7.4bpp"); +const u32 gFieldObjectPic_Fisherman_8[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/8.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/0.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/1.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/2.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/3.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/4.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/5.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/6.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/7.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/8.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/0.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/1.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/2.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/3.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/4.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/5.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/6.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/7.4bpp"); +const u32 gFieldObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/8.4bpp"); +const u32 gFieldObjectPic_TuberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/0.4bpp"); +const u32 gFieldObjectPic_TuberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/1.4bpp"); +const u32 gFieldObjectPic_TuberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/2.4bpp"); +const u32 gFieldObjectPic_TuberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/3.4bpp"); +const u32 gFieldObjectPic_TuberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/4.4bpp"); +const u32 gFieldObjectPic_TuberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/5.4bpp"); +const u32 gFieldObjectPic_TuberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/6.4bpp"); +const u32 gFieldObjectPic_TuberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/7.4bpp"); +const u32 gFieldObjectPic_TuberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/8.4bpp"); +const u32 gFieldObjectPic_TuberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/0.4bpp"); +const u32 gFieldObjectPic_TuberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/1.4bpp"); +const u32 gFieldObjectPic_TuberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/2.4bpp"); +const u32 gFieldObjectPic_TuberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/3.4bpp"); +const u32 gFieldObjectPic_TuberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/4.4bpp"); +const u32 gFieldObjectPic_TuberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/5.4bpp"); +const u32 gFieldObjectPic_TuberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/6.4bpp"); +const u32 gFieldObjectPic_TuberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/7.4bpp"); +const u32 gFieldObjectPic_TuberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/8.4bpp"); +const u32 gFieldObjectPic_Hiker_0[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/0.4bpp"); +const u32 gFieldObjectPic_Hiker_1[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/1.4bpp"); +const u32 gFieldObjectPic_Hiker_2[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/2.4bpp"); +const u32 gFieldObjectPic_Hiker_3[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/3.4bpp"); +const u32 gFieldObjectPic_Hiker_4[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/4.4bpp"); +const u32 gFieldObjectPic_Hiker_5[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/5.4bpp"); +const u32 gFieldObjectPic_Hiker_6[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/6.4bpp"); +const u32 gFieldObjectPic_Hiker_7[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/7.4bpp"); +const u32 gFieldObjectPic_Hiker_8[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/8.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/0.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/1.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/2.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/3.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/4.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/5.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/6.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/7.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/8.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/0.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/1.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/2.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/3.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/4.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/5.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/6.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/7.4bpp"); +const u32 gFieldObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/8.4bpp"); +const u32 gFieldObjectPic_Man5_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/0.4bpp"); +const u32 gFieldObjectPic_Man5_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/1.4bpp"); +const u32 gFieldObjectPic_Man5_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/2.4bpp"); +const u32 gFieldObjectPic_Man5_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/3.4bpp"); +const u32 gFieldObjectPic_Man5_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/4.4bpp"); +const u32 gFieldObjectPic_Man5_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/5.4bpp"); +const u32 gFieldObjectPic_Man5_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/6.4bpp"); +const u32 gFieldObjectPic_Man5_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/7.4bpp"); +const u32 gFieldObjectPic_Man5_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/8.4bpp"); +const u32 gFieldObjectPic_Man6_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/0.4bpp"); +const u32 gFieldObjectPic_Man6_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/1.4bpp"); +const u32 gFieldObjectPic_Man6_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/2.4bpp"); +const u32 gFieldObjectPic_Man6_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/3.4bpp"); +const u32 gFieldObjectPic_Man6_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/4.4bpp"); +const u32 gFieldObjectPic_Man6_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/5.4bpp"); +const u32 gFieldObjectPic_Man6_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/6.4bpp"); +const u32 gFieldObjectPic_Man6_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/7.4bpp"); +const u32 gFieldObjectPic_Man6_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/8.4bpp"); +const u32 gFieldObjectPic_Nurse_0[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/0.4bpp"); +const u32 gFieldObjectPic_Nurse_1[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/1.4bpp"); +const u32 gFieldObjectPic_Nurse_2[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/2.4bpp"); +const u32 gFieldObjectPic_Nurse_3[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/3.4bpp"); +const u32 gFieldObjectPic_ItemBall[] = INCBIN_U32("graphics/map_objects/pics/misc/item_ball.4bpp"); +const u32 gFieldObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/0.4bpp"); +const u32 gFieldObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/1.4bpp"); +const u32 gFieldObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/2.4bpp"); +const u32 gFieldObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/3.4bpp"); +const u32 gFieldObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/4.4bpp"); +const u32 gFieldObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/5.4bpp"); +const u32 gFieldObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/6.4bpp"); +const u32 gFieldObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/7.4bpp"); +const u32 gFieldObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/8.4bpp"); +const u32 gFieldObjectPic_ReporterM_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/0.4bpp"); +const u32 gFieldObjectPic_ReporterM_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/1.4bpp"); +const u32 gFieldObjectPic_ReporterM_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/2.4bpp"); +const u32 gFieldObjectPic_ReporterM_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/3.4bpp"); +const u32 gFieldObjectPic_ReporterM_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/4.4bpp"); +const u32 gFieldObjectPic_ReporterM_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/5.4bpp"); +const u32 gFieldObjectPic_ReporterM_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/6.4bpp"); +const u32 gFieldObjectPic_ReporterM_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/7.4bpp"); +const u32 gFieldObjectPic_ReporterM_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/8.4bpp"); +const u32 gFieldObjectPic_ReporterF_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/0.4bpp"); +const u32 gFieldObjectPic_ReporterF_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/1.4bpp"); +const u32 gFieldObjectPic_ReporterF_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/2.4bpp"); +const u32 gFieldObjectPic_ReporterF_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/3.4bpp"); +const u32 gFieldObjectPic_ReporterF_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/4.4bpp"); +const u32 gFieldObjectPic_ReporterF_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/5.4bpp"); +const u32 gFieldObjectPic_ReporterF_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/6.4bpp"); +const u32 gFieldObjectPic_ReporterF_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/7.4bpp"); +const u32 gFieldObjectPic_ReporterF_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/8.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/0.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/1.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/2.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/3.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/4.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/5.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/6.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/7.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/8.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/0.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/1.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/2.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/3.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/4.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/5.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/6.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/7.4bpp"); +const u32 gFieldObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/8.4bpp"); +const u32 gFieldObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/0.4bpp"); +const u32 gFieldObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/1.4bpp"); +const u32 gFieldObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/2.4bpp"); +const u32 gFieldObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/3.4bpp"); +const u32 gFieldObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/4.4bpp"); +const u32 gFieldObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/5.4bpp"); +const u32 gFieldObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/6.4bpp"); +const u32 gFieldObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/7.4bpp"); +const u32 gFieldObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/8.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/0.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/1.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/2.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/3.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/4.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/5.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/6.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/7.4bpp"); +const u32 gFieldObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/8.4bpp"); +const u32 gFieldObjectPic_Teala_0[] = INCBIN_U32("graphics/map_objects/pics/people/teala/0.4bpp"); +const u32 gFieldObjectPic_Teala_1[] = INCBIN_U32("graphics/map_objects/pics/people/teala/1.4bpp"); +const u32 gFieldObjectPic_Teala_2[] = INCBIN_U32("graphics/map_objects/pics/people/teala/2.4bpp"); +const u32 gFieldObjectPic_Teala_3[] = INCBIN_U32("graphics/map_objects/pics/people/teala/3.4bpp"); +const u32 gFieldObjectPic_Teala_4[] = INCBIN_U32("graphics/map_objects/pics/people/teala/4.4bpp"); +const u32 gFieldObjectPic_Teala_5[] = INCBIN_U32("graphics/map_objects/pics/people/teala/5.4bpp"); +const u32 gFieldObjectPic_Teala_6[] = INCBIN_U32("graphics/map_objects/pics/people/teala/6.4bpp"); +const u32 gFieldObjectPic_Teala_7[] = INCBIN_U32("graphics/map_objects/pics/people/teala/7.4bpp"); +const u32 gFieldObjectPic_Teala_8[] = INCBIN_U32("graphics/map_objects/pics/people/teala/8.4bpp"); +const u32 gFieldObjectPic_Artist_0[] = INCBIN_U32("graphics/map_objects/pics/people/artist/0.4bpp"); +const u32 gFieldObjectPic_Artist_1[] = INCBIN_U32("graphics/map_objects/pics/people/artist/1.4bpp"); +const u32 gFieldObjectPic_Artist_2[] = INCBIN_U32("graphics/map_objects/pics/people/artist/2.4bpp"); +const u32 gFieldObjectPic_Artist_3[] = INCBIN_U32("graphics/map_objects/pics/people/artist/3.4bpp"); +const u32 gFieldObjectPic_Artist_4[] = INCBIN_U32("graphics/map_objects/pics/people/artist/4.4bpp"); +const u32 gFieldObjectPic_Artist_5[] = INCBIN_U32("graphics/map_objects/pics/people/artist/5.4bpp"); +const u32 gFieldObjectPic_Artist_6[] = INCBIN_U32("graphics/map_objects/pics/people/artist/6.4bpp"); +const u32 gFieldObjectPic_Artist_7[] = INCBIN_U32("graphics/map_objects/pics/people/artist/7.4bpp"); +const u32 gFieldObjectPic_Artist_8[] = INCBIN_U32("graphics/map_objects/pics/people/artist/8.4bpp"); +const u32 gFieldObjectPic_Cameraman_0[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/0.4bpp"); +const u32 gFieldObjectPic_Cameraman_1[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/1.4bpp"); +const u32 gFieldObjectPic_Cameraman_2[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/2.4bpp"); +const u32 gFieldObjectPic_Cameraman_3[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/3.4bpp"); +const u32 gFieldObjectPic_Cameraman_4[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/4.4bpp"); +const u32 gFieldObjectPic_Cameraman_5[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/5.4bpp"); +const u32 gFieldObjectPic_Cameraman_6[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/6.4bpp"); +const u32 gFieldObjectPic_Cameraman_7[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/7.4bpp"); +const u32 gFieldObjectPic_Cameraman_8[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/8.4bpp"); +const u32 gFieldObjectPic_Scientist2_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/0.4bpp"); +const u32 gFieldObjectPic_Scientist2_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/1.4bpp"); +const u32 gFieldObjectPic_Scientist2_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/2.4bpp"); +const u32 gFieldObjectPic_Scientist2_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/3.4bpp"); +const u32 gFieldObjectPic_Scientist2_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/4.4bpp"); +const u32 gFieldObjectPic_Scientist2_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/5.4bpp"); +const u32 gFieldObjectPic_Scientist2_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/6.4bpp"); +const u32 gFieldObjectPic_Scientist2_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/7.4bpp"); +const u32 gFieldObjectPic_Scientist2_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/8.4bpp"); +const u32 gFieldObjectPic_Man7_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/0.4bpp"); +const u32 gFieldObjectPic_Man7_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/1.4bpp"); +const u32 gFieldObjectPic_Man7_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/2.4bpp"); +const u32 gFieldObjectPic_Man7_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/3.4bpp"); +const u32 gFieldObjectPic_Man7_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/4.4bpp"); +const u32 gFieldObjectPic_Man7_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/5.4bpp"); +const u32 gFieldObjectPic_Man7_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/6.4bpp"); +const u32 gFieldObjectPic_Man7_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/7.4bpp"); +const u32 gFieldObjectPic_Man7_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/8.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/0.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/1.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/2.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/3.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/4.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/5.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/6.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/7.4bpp"); +const u32 gFieldObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/8.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/0.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/1.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/2.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/3.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/4.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/5.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/6.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/7.4bpp"); +const u32 gFieldObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/8.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/0.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/1.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/2.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/3.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/4.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/5.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/6.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/7.4bpp"); +const u32 gFieldObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/8.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/0.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/1.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/2.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/3.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/4.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/5.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/6.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/7.4bpp"); +const u32 gFieldObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/8.4bpp"); +const u32 gFieldObjectPic_Sidney_0[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/0.4bpp"); +const u32 gFieldObjectPic_Sidney_1[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/1.4bpp"); +const u32 gFieldObjectPic_Sidney_2[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/2.4bpp"); +const u32 gFieldObjectPic_Phoebe_0[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/0.4bpp"); +const u32 gFieldObjectPic_Phoebe_1[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/1.4bpp"); +const u32 gFieldObjectPic_Phoebe_2[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/2.4bpp"); +const u32 gFieldObjectPic_Glacia_0[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/0.4bpp"); +const u32 gFieldObjectPic_Glacia_1[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/1.4bpp"); +const u32 gFieldObjectPic_Glacia_2[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/2.4bpp"); +const u32 gFieldObjectPic_Drake_0[] = INCBIN_U32("graphics/map_objects/pics/people/drake/0.4bpp"); +const u32 gFieldObjectPic_Drake_1[] = INCBIN_U32("graphics/map_objects/pics/people/drake/1.4bpp"); +const u32 gFieldObjectPic_Drake_2[] = INCBIN_U32("graphics/map_objects/pics/people/drake/2.4bpp"); +const u32 gFieldObjectPic_Roxanne_0[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/0.4bpp"); +const u32 gFieldObjectPic_Roxanne_1[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/1.4bpp"); +const u32 gFieldObjectPic_Roxanne_2[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/2.4bpp"); +const u32 gFieldObjectPic_Brawly_0[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/0.4bpp"); +const u32 gFieldObjectPic_Brawly_1[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/1.4bpp"); +const u32 gFieldObjectPic_Brawly_2[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/2.4bpp"); +const u32 gFieldObjectPic_Wattson_0[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/0.4bpp"); +const u32 gFieldObjectPic_Wattson_1[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/1.4bpp"); +const u32 gFieldObjectPic_Wattson_2[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/2.4bpp"); +const u32 gFieldObjectPic_Flannery_0[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/0.4bpp"); +const u32 gFieldObjectPic_Flannery_1[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/1.4bpp"); +const u32 gFieldObjectPic_Flannery_2[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/2.4bpp"); +const u32 gFieldObjectPic_Norman_0[] = INCBIN_U32("graphics/map_objects/pics/people/norman/0.4bpp"); +const u32 gFieldObjectPic_Norman_1[] = INCBIN_U32("graphics/map_objects/pics/people/norman/1.4bpp"); +const u32 gFieldObjectPic_Norman_2[] = INCBIN_U32("graphics/map_objects/pics/people/norman/2.4bpp"); +const u32 gFieldObjectPic_Norman_3[] = INCBIN_U32("graphics/map_objects/pics/people/norman/3.4bpp"); +const u32 gFieldObjectPic_Norman_4[] = INCBIN_U32("graphics/map_objects/pics/people/norman/4.4bpp"); +const u32 gFieldObjectPic_Norman_5[] = INCBIN_U32("graphics/map_objects/pics/people/norman/5.4bpp"); +const u32 gFieldObjectPic_Norman_6[] = INCBIN_U32("graphics/map_objects/pics/people/norman/6.4bpp"); +const u32 gFieldObjectPic_Norman_7[] = INCBIN_U32("graphics/map_objects/pics/people/norman/7.4bpp"); +const u32 gFieldObjectPic_Norman_8[] = INCBIN_U32("graphics/map_objects/pics/people/norman/8.4bpp"); +const u32 gFieldObjectPic_Winona_0[] = INCBIN_U32("graphics/map_objects/pics/people/winona/0.4bpp"); +const u32 gFieldObjectPic_Winona_1[] = INCBIN_U32("graphics/map_objects/pics/people/winona/1.4bpp"); +const u32 gFieldObjectPic_Winona_2[] = INCBIN_U32("graphics/map_objects/pics/people/winona/2.4bpp"); +const u32 gFieldObjectPic_Liza_0[] = INCBIN_U32("graphics/map_objects/pics/people/liza/0.4bpp"); +const u32 gFieldObjectPic_Liza_1[] = INCBIN_U32("graphics/map_objects/pics/people/liza/1.4bpp"); +const u32 gFieldObjectPic_Liza_2[] = INCBIN_U32("graphics/map_objects/pics/people/liza/2.4bpp"); +const u32 gFieldObjectPic_Tate_0[] = INCBIN_U32("graphics/map_objects/pics/people/tate/0.4bpp"); +const u32 gFieldObjectPic_Tate_1[] = INCBIN_U32("graphics/map_objects/pics/people/tate/1.4bpp"); +const u32 gFieldObjectPic_Tate_2[] = INCBIN_U32("graphics/map_objects/pics/people/tate/2.4bpp"); +const u32 gFieldObjectPic_Wallace_0[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/0.4bpp"); +const u32 gFieldObjectPic_Wallace_1[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/1.4bpp"); +const u32 gFieldObjectPic_Wallace_2[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/2.4bpp"); +const u32 gFieldObjectPic_Wallace_3[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/3.4bpp"); +const u32 gFieldObjectPic_Wallace_4[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/4.4bpp"); +const u32 gFieldObjectPic_Wallace_5[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/5.4bpp"); +const u32 gFieldObjectPic_Wallace_6[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/6.4bpp"); +const u32 gFieldObjectPic_Wallace_7[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/7.4bpp"); +const u32 gFieldObjectPic_Wallace_8[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/8.4bpp"); +const u32 gFieldObjectPic_Steven_0[] = INCBIN_U32("graphics/map_objects/pics/people/steven/0.4bpp"); +const u32 gFieldObjectPic_Steven_1[] = INCBIN_U32("graphics/map_objects/pics/people/steven/1.4bpp"); +const u32 gFieldObjectPic_Steven_2[] = INCBIN_U32("graphics/map_objects/pics/people/steven/2.4bpp"); +const u32 gFieldObjectPic_Steven_3[] = INCBIN_U32("graphics/map_objects/pics/people/steven/3.4bpp"); +const u32 gFieldObjectPic_Steven_4[] = INCBIN_U32("graphics/map_objects/pics/people/steven/4.4bpp"); +const u32 gFieldObjectPic_Steven_5[] = INCBIN_U32("graphics/map_objects/pics/people/steven/5.4bpp"); +const u32 gFieldObjectPic_Steven_6[] = INCBIN_U32("graphics/map_objects/pics/people/steven/6.4bpp"); +const u32 gFieldObjectPic_Steven_7[] = INCBIN_U32("graphics/map_objects/pics/people/steven/7.4bpp"); +const u32 gFieldObjectPic_Steven_8[] = INCBIN_U32("graphics/map_objects/pics/people/steven/8.4bpp"); +const u32 gFieldObjectPic_Wally_0[] = INCBIN_U32("graphics/map_objects/pics/people/wally/0.4bpp"); +const u32 gFieldObjectPic_Wally_1[] = INCBIN_U32("graphics/map_objects/pics/people/wally/1.4bpp"); +const u32 gFieldObjectPic_Wally_2[] = INCBIN_U32("graphics/map_objects/pics/people/wally/2.4bpp"); +const u32 gFieldObjectPic_Wally_3[] = INCBIN_U32("graphics/map_objects/pics/people/wally/3.4bpp"); +const u32 gFieldObjectPic_Wally_4[] = INCBIN_U32("graphics/map_objects/pics/people/wally/4.4bpp"); +const u32 gFieldObjectPic_Wally_5[] = INCBIN_U32("graphics/map_objects/pics/people/wally/5.4bpp"); +const u32 gFieldObjectPic_Wally_6[] = INCBIN_U32("graphics/map_objects/pics/people/wally/6.4bpp"); +const u32 gFieldObjectPic_Wally_7[] = INCBIN_U32("graphics/map_objects/pics/people/wally/7.4bpp"); +const u32 gFieldObjectPic_Wally_8[] = INCBIN_U32("graphics/map_objects/pics/people/wally/8.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_0[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/0.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_1[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/1.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_2[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/2.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_3[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/3.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_4[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/4.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_5[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/5.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_6[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/6.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_7[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/7.4bpp"); +const u32 gFieldObjectPic_RubySapphireLittleBoy_8[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/8.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/0.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/1.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/2.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/3.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/4.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/5.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/6.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/7.4bpp"); +const u32 gFieldObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/8.4bpp"); +const u32 gFieldObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/0.4bpp"); +const u32 gFieldObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/1.4bpp"); +const u32 gFieldObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/2.4bpp"); +const u32 gFieldObjectPic_Boy5_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/0.4bpp"); +const u32 gFieldObjectPic_Boy5_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/1.4bpp"); +const u32 gFieldObjectPic_Boy5_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/2.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/0.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/1.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/2.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/3.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/4.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/5.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/6.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/7.4bpp"); +const u32 gFieldObjectPic_ContestOldMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/8.4bpp"); +const u32 gFieldObjectPic_Archie_0[] = INCBIN_U32("graphics/map_objects/pics/people/archie/0.4bpp"); +const u32 gFieldObjectPic_Archie_1[] = INCBIN_U32("graphics/map_objects/pics/people/archie/1.4bpp"); +const u32 gFieldObjectPic_Archie_2[] = INCBIN_U32("graphics/map_objects/pics/people/archie/2.4bpp"); +const u32 gFieldObjectPic_Archie_3[] = INCBIN_U32("graphics/map_objects/pics/people/archie/3.4bpp"); +const u32 gFieldObjectPic_Archie_4[] = INCBIN_U32("graphics/map_objects/pics/people/archie/4.4bpp"); +const u32 gFieldObjectPic_Archie_5[] = INCBIN_U32("graphics/map_objects/pics/people/archie/5.4bpp"); +const u32 gFieldObjectPic_Archie_6[] = INCBIN_U32("graphics/map_objects/pics/people/archie/6.4bpp"); +const u32 gFieldObjectPic_Archie_7[] = INCBIN_U32("graphics/map_objects/pics/people/archie/7.4bpp"); +const u32 gFieldObjectPic_Archie_8[] = INCBIN_U32("graphics/map_objects/pics/people/archie/8.4bpp"); +const u32 gFieldObjectPic_Maxie_0[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/0.4bpp"); +const u32 gFieldObjectPic_Maxie_1[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/1.4bpp"); +const u32 gFieldObjectPic_Maxie_2[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/2.4bpp"); +const u32 gFieldObjectPic_Maxie_3[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/3.4bpp"); +const u32 gFieldObjectPic_Maxie_4[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/4.4bpp"); +const u32 gFieldObjectPic_Maxie_5[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/5.4bpp"); +const u32 gFieldObjectPic_Maxie_6[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/6.4bpp"); +const u32 gFieldObjectPic_Maxie_7[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/7.4bpp"); +const u32 gFieldObjectPic_Maxie_8[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/8.4bpp"); +const u32 gFieldObjectPic_KyogreFront_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_front/0.4bpp"); +const u32 gFieldObjectPic_KyogreFront_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_front/1.4bpp"); +const u32 gFieldObjectPic_KyogreSide_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_side/0.4bpp"); +const u32 gFieldObjectPic_KyogreSide_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_side/1.4bpp"); +const u32 gFieldObjectPic_GroudonFront_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_front/0.4bpp"); +const u32 gFieldObjectPic_GroudonFront_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_front/1.4bpp"); +const u32 gFieldObjectPic_GroudonSide_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_side/0.4bpp"); +const u32 gFieldObjectPic_GroudonSide_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_side/1.4bpp"); +const u32 gFieldObjectPic_Regi[] = INCBIN_U32("graphics/map_objects/pics/pokemon/regi.4bpp"); +const u32 gFieldObjectPic_Skitty_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/0.4bpp"); +const u32 gFieldObjectPic_Skitty_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/1.4bpp"); +const u32 gFieldObjectPic_Skitty_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/2.4bpp"); +const u32 gFieldObjectPic_Kecleon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/0.4bpp"); +const u32 gFieldObjectPic_Kecleon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/1.4bpp"); +const u32 gFieldObjectPic_Kecleon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/2.4bpp"); +const u32 gFieldObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/0.4bpp"); +const u32 gFieldObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/1.4bpp"); +const u32 gFieldObjectPic_Rayquaza_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/2.4bpp"); +const u32 gFieldObjectPic_Rayquaza_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/3.4bpp"); +const u32 gFieldObjectPic_Rayquaza_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/4.4bpp"); +const u32 gFieldObjectPic_RayquazaStill[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza_still.4bpp"); +const u32 gFieldObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/0.4bpp"); +const u32 gFieldObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/1.4bpp"); +const u32 gFieldObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/2.4bpp"); +const u32 gFieldObjectPic_Pikachu_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/0.4bpp"); +const u32 gFieldObjectPic_Pikachu_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/1.4bpp"); +const u32 gFieldObjectPic_Pikachu_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/2.4bpp"); +const u32 gFieldObjectPic_Azumarill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/0.4bpp"); +const u32 gFieldObjectPic_Azumarill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/1.4bpp"); +const u32 gFieldObjectPic_Azumarill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/2.4bpp"); +const u32 gFieldObjectPic_Wingull_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/0.4bpp"); +const u32 gFieldObjectPic_Wingull_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/3.4bpp"); +const u32 gFieldObjectPic_Wingull_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/1.4bpp"); +const u32 gFieldObjectPic_Wingull_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/4.4bpp"); +const u32 gFieldObjectPic_Wingull_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/2.4bpp"); +const u32 gFieldObjectPic_Wingull_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/5.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/0.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/1.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/2.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/3.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/4.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/5.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/6.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/7.4bpp"); +const u32 gFieldObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/8.4bpp"); +const u32 gFieldObjectPic_Azurill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/0.4bpp"); +const u32 gFieldObjectPic_Azurill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/1.4bpp"); +const u32 gFieldObjectPic_Azurill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/2.4bpp"); +const u32 gFieldObjectPic_Mom_0[] = INCBIN_U32("graphics/map_objects/pics/people/mom/0.4bpp"); +const u32 gFieldObjectPic_Mom_1[] = INCBIN_U32("graphics/map_objects/pics/people/mom/1.4bpp"); +const u32 gFieldObjectPic_Mom_2[] = INCBIN_U32("graphics/map_objects/pics/people/mom/2.4bpp"); +const u32 gFieldObjectPic_Mom_3[] = INCBIN_U32("graphics/map_objects/pics/people/mom/3.4bpp"); +const u32 gFieldObjectPic_Mom_4[] = INCBIN_U32("graphics/map_objects/pics/people/mom/4.4bpp"); +const u32 gFieldObjectPic_Mom_5[] = INCBIN_U32("graphics/map_objects/pics/people/mom/5.4bpp"); +const u32 gFieldObjectPic_Mom_6[] = INCBIN_U32("graphics/map_objects/pics/people/mom/6.4bpp"); +const u32 gFieldObjectPic_Mom_7[] = INCBIN_U32("graphics/map_objects/pics/people/mom/7.4bpp"); +const u32 gFieldObjectPic_Mom_8[] = INCBIN_U32("graphics/map_objects/pics/people/mom/8.4bpp"); +const u16 gFieldObjectPalette22[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_22.gbapal"); +const u16 gFieldObjectPalette23[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_23.gbapal"); +const u16 gFieldObjectPalette24[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_24.gbapal"); +const u16 gFieldObjectPalette25[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_25.gbapal"); +const u32 gFieldObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_natu_doll.4bpp"); +const u32 gFieldObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_magnemite_doll.4bpp"); +const u32 gFieldObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_squirtle_doll.4bpp"); +const u32 gFieldObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_wooper_doll.4bpp"); +const u32 gFieldObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_pikachu_doll.4bpp"); +const u32 gFieldObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_porygon2_doll.4bpp"); +const u32 gFieldObjectPic_PichuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pichu_doll.4bpp"); +const u32 gFieldObjectPic_PikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pikachu_doll.4bpp"); +const u32 gFieldObjectPic_MarillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/marill_doll.4bpp"); +const u32 gFieldObjectPic_TogepiDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/togepi_doll.4bpp"); +const u32 gFieldObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/cyndaquil_doll.4bpp"); +const u32 gFieldObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/chikorita_doll.4bpp"); +const u32 gFieldObjectPic_TotodileDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/totodile_doll.4bpp"); +const u32 gFieldObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/jigglypuff_doll.4bpp"); +const u32 gFieldObjectPic_MeowthDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/meowth_doll.4bpp"); +const u32 gFieldObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/clefairy_doll.4bpp"); +const u32 gFieldObjectPic_DittoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/ditto_doll.4bpp"); +const u32 gFieldObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/smoochum_doll.4bpp"); +const u32 gFieldObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/treecko_doll.4bpp"); +const u32 gFieldObjectPic_TorchicDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/torchic_doll.4bpp"); +const u32 gFieldObjectPic_MudkipDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/mudkip_doll.4bpp"); +const u32 gFieldObjectPic_DuskullDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/duskull_doll.4bpp"); +const u32 gFieldObjectPic_WynautDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/wynaut_doll.4bpp"); +const u32 gFieldObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/baltoy_doll.4bpp"); +const u32 gFieldObjectPic_KecleonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/kecleon_doll.4bpp"); +const u32 gFieldObjectPic_AzurillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/azurill_doll.4bpp"); +const u32 gFieldObjectPic_SkittyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/skitty_doll.4bpp"); +const u32 gFieldObjectPic_SwabluDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/swablu_doll.4bpp"); +const u32 gFieldObjectPic_GulpinDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/gulpin_doll.4bpp"); +const u32 gFieldObjectPic_LotadDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/lotad_doll.4bpp"); +const u32 gFieldObjectPic_SeedotDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/seedot_doll.4bpp"); +const u32 gFieldObjectPic_PikaCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/pika_cushion.4bpp"); +const u32 gFieldObjectPic_RoundCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/round_cushion.4bpp"); +const u32 gFieldObjectPic_KissCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/kiss_cushion.4bpp"); +const u32 gFieldObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/zigzag_cushion.4bpp"); +const u32 gFieldObjectPic_SpinCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/spin_cushion.4bpp"); +const u32 gFieldObjectPic_DiamondCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/diamond_cushion.4bpp"); +const u32 gFieldObjectPic_BallCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/ball_cushion.4bpp"); +const u32 gFieldObjectPic_GrassCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/grass_cushion.4bpp"); +const u32 gFieldObjectPic_FireCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/fire_cushion.4bpp"); +const u32 gFieldObjectPic_WaterCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/water_cushion.4bpp"); +const u32 gFieldObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_snorlax_doll.4bpp"); +const u32 gFieldObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_rhydon_doll.4bpp"); +const u32 gFieldObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_lapras_doll.4bpp"); +const u32 gFieldObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_venusaur_doll.4bpp"); +const u32 gFieldObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_charizard_doll.4bpp"); +const u32 gFieldObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_blastoise_doll.4bpp"); +const u32 gFieldObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_wailmer_doll.4bpp"); +const u32 gFieldObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regirock_doll.4bpp"); +const u32 gFieldObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regice_doll.4bpp"); +const u32 gFieldObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_registeel_doll.4bpp"); +const u32 gFieldObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/0.4bpp"); +const u32 gFieldObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/1.4bpp"); +const u32 gFieldObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/2.4bpp"); +const u32 gFieldObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/3.4bpp"); +const u32 gFieldObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/0.4bpp"); +const u32 gFieldObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/1.4bpp"); +const u32 gFieldObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/2.4bpp"); +const u32 gFieldObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/3.4bpp"); +const u32 gFieldObjectPic_PushableBoulder[] = INCBIN_U32("graphics/map_objects/pics/misc/pushable_boulder.4bpp"); +const u32 gFieldObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/0.4bpp"); +const u32 gFieldObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/1.4bpp"); +const u32 gFieldObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/2.4bpp"); +const u32 gFieldObjectPic_Fossil[] = INCBIN_U32("graphics/map_objects/pics/misc/fossil.4bpp"); +const u32 gFieldObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/map_objects/pics/misc/submarine_shadow.4bpp"); +const u16 gFieldObjectPalette26[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_26.gbapal"); +const u32 gFieldObjectPic_Truck[] = INCBIN_U32("graphics/map_objects/pics/misc/truck.4bpp"); +const u16 gFieldObjectPalette14[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_14.gbapal"); +const u32 gFieldObjectPic_VigorothCarryingBox_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_carrying_box/0.4bpp"); +const u32 gFieldObjectPic_VigorothCarryingBox_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_carrying_box/1.4bpp"); +const u32 gFieldObjectPic_VigorothCarryingBox_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_carrying_box/2.4bpp"); +const u32 gFieldObjectPic_VigorothFacingAway_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_facing_away/0.4bpp"); +const u32 gFieldObjectPic_VigorothFacingAway_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_facing_away/1.4bpp"); +const u16 gFieldObjectPalette15[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_15.gbapal"); +const u32 gFieldObjectPic_BirchsBag[] = INCBIN_U32("graphics/map_objects/pics/misc/birchs_bag.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/0.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/1.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/2.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/3.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/4.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/5.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/6.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/7.4bpp"); +const u32 gFieldObjectPic_EnemyZigzagoon_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/8.4bpp"); +const u16 gFieldObjectPalette16[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_16.gbapal"); +const u32 gFieldObjectPic_Poochyena_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/0.4bpp"); +const u32 gFieldObjectPic_Poochyena_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/1.4bpp"); +const u32 gFieldObjectPic_Poochyena_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/2.4bpp"); +const u32 gFieldObjectPic_Poochyena_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/3.4bpp"); +const u32 gFieldObjectPic_Poochyena_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/4.4bpp"); +const u32 gFieldObjectPic_Poochyena_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/5.4bpp"); +const u32 gFieldObjectPic_Poochyena_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/6.4bpp"); +const u32 gFieldObjectPic_Poochyena_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/7.4bpp"); +const u32 gFieldObjectPic_Poochyena_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/8.4bpp"); +const u16 gFieldObjectPalette27[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_27.gbapal"); +const u32 gFieldObjectPic_CableCar[] = INCBIN_U32("graphics/map_objects/pics/misc/cable_car.4bpp"); +const u16 gFieldObjectPalette20[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_20.gbapal"); +const u32 gFieldObjectPic_SSTidal[] = INCBIN_U32("graphics/map_objects/pics/misc/ss_tidal.4bpp"); +const u16 gFieldObjectPalette21[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_21.gbapal"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/0.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/1.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/2.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/3.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/4.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/5.4bpp"); +const u32 gFieldObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/dirt_pile.4bpp"); +const u32 gFieldObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/0.4bpp"); +const u32 gFieldObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/1.4bpp"); +const u32 gFieldObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/0.4bpp"); +const u32 gFieldObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/1.4bpp"); +const u32 gFieldObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/2.4bpp"); +const u32 gFieldObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/3.4bpp"); +const u32 gFieldObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/4.4bpp"); +const u32 gFieldObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/5.4bpp"); +const u32 gFieldObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/0.4bpp"); +const u32 gFieldObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/1.4bpp"); +const u32 gFieldObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/2.4bpp"); +const u32 gFieldObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/3.4bpp"); +const u32 gFieldObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/4.4bpp"); +const u32 gFieldObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/5.4bpp"); +const u32 gFieldObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/0.4bpp"); +const u32 gFieldObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/1.4bpp"); +const u32 gFieldObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/2.4bpp"); +const u32 gFieldObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/3.4bpp"); +const u32 gFieldObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/4.4bpp"); +const u32 gFieldObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/5.4bpp"); +const u32 gFieldObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/0.4bpp"); +const u32 gFieldObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/1.4bpp"); +const u32 gFieldObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/2.4bpp"); +const u32 gFieldObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/3.4bpp"); +const u32 gFieldObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/4.4bpp"); +const u32 gFieldObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/5.4bpp"); +const u32 gFieldObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/0.4bpp"); +const u32 gFieldObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/1.4bpp"); +const u32 gFieldObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/2.4bpp"); +const u32 gFieldObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/3.4bpp"); +const u32 gFieldObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/4.4bpp"); +const u32 gFieldObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/5.4bpp"); +const u32 gFieldObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/0.4bpp"); +const u32 gFieldObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/1.4bpp"); +const u32 gFieldObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/2.4bpp"); +const u32 gFieldObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/3.4bpp"); +const u32 gFieldObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/4.4bpp"); +const u32 gFieldObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/5.4bpp"); +const u32 gFieldObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/0.4bpp"); +const u32 gFieldObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/1.4bpp"); +const u32 gFieldObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/2.4bpp"); +const u32 gFieldObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/3.4bpp"); +const u32 gFieldObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/4.4bpp"); +const u32 gFieldObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/5.4bpp"); +const u32 gFieldObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/0.4bpp"); +const u32 gFieldObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/1.4bpp"); +const u32 gFieldObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/2.4bpp"); +const u32 gFieldObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/3.4bpp"); +const u32 gFieldObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/4.4bpp"); +const u32 gFieldObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/5.4bpp"); +const u32 gFieldObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/0.4bpp"); +const u32 gFieldObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/1.4bpp"); +const u32 gFieldObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/2.4bpp"); +const u32 gFieldObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/3.4bpp"); +const u32 gFieldObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/4.4bpp"); +const u32 gFieldObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/5.4bpp"); +const u32 gFieldObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/0.4bpp"); +const u32 gFieldObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/1.4bpp"); +const u32 gFieldObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/2.4bpp"); +const u32 gFieldObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/3.4bpp"); +const u32 gFieldObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/4.4bpp"); +const u32 gFieldObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/5.4bpp"); +const u32 gFieldObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/0.4bpp"); +const u32 gFieldObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/1.4bpp"); +const u32 gFieldObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/2.4bpp"); +const u32 gFieldObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/3.4bpp"); +const u32 gFieldObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/4.4bpp"); +const u32 gFieldObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/5.4bpp"); +const u32 gFieldObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/0.4bpp"); +const u32 gFieldObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/1.4bpp"); +const u32 gFieldObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/2.4bpp"); +const u32 gFieldObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/3.4bpp"); +const u32 gFieldObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/4.4bpp"); +const u32 gFieldObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/5.4bpp"); +const u32 gFieldObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/0.4bpp"); +const u32 gFieldObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/1.4bpp"); +const u32 gFieldObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/2.4bpp"); +const u32 gFieldObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/3.4bpp"); +const u32 gFieldObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/4.4bpp"); +const u32 gFieldObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/5.4bpp"); +const u32 gFieldObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/0.4bpp"); +const u32 gFieldObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/1.4bpp"); +const u32 gFieldObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/2.4bpp"); +const u32 gFieldObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/3.4bpp"); +const u32 gFieldObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/4.4bpp"); +const u32 gFieldObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/5.4bpp"); +const u32 gFieldObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/0.4bpp"); +const u32 gFieldObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/1.4bpp"); +const u32 gFieldObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/2.4bpp"); +const u32 gFieldObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/3.4bpp"); +const u32 gFieldObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/4.4bpp"); +const u32 gFieldObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/5.4bpp"); +const u32 gFieldObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/0.4bpp"); +const u32 gFieldObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/1.4bpp"); +const u32 gFieldObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/2.4bpp"); +const u32 gFieldObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/3.4bpp"); +const u32 gFieldObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/4.4bpp"); +const u32 gFieldObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/5.4bpp"); +const u32 gFieldObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/0.4bpp"); +const u32 gFieldObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/1.4bpp"); +const u32 gFieldObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/2.4bpp"); +const u32 gFieldObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/3.4bpp"); +const u32 gFieldObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/4.4bpp"); +const u32 gFieldObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/5.4bpp"); +const u32 gFieldObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/0.4bpp"); +const u32 gFieldObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/1.4bpp"); +const u32 gFieldObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/2.4bpp"); +const u32 gFieldObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/3.4bpp"); +const u32 gFieldObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/4.4bpp"); +const u32 gFieldObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/5.4bpp"); +const u32 gFieldObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/0.4bpp"); +const u32 gFieldObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/1.4bpp"); +const u32 gFieldObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/2.4bpp"); +const u32 gFieldObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/3.4bpp"); +const u32 gFieldObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/4.4bpp"); +const u32 gFieldObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/5.4bpp"); +const u32 gFieldObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/0.4bpp"); +const u32 gFieldObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/1.4bpp"); +const u32 gFieldObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/2.4bpp"); +const u32 gFieldObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/3.4bpp"); +const u32 gFieldObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/4.4bpp"); +const u32 gFieldObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/5.4bpp"); +const u32 gFieldObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/0.4bpp"); +const u32 gFieldObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/1.4bpp"); +const u32 gFieldObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/2.4bpp"); +const u32 gFieldObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/3.4bpp"); +const u32 gFieldObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/4.4bpp"); +const u32 gFieldObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/5.4bpp"); +const u32 gFieldObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/0.4bpp"); +const u32 gFieldObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/1.4bpp"); +const u32 gFieldObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/2.4bpp"); +const u32 gFieldObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/3.4bpp"); +const u32 gFieldObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/4.4bpp"); +const u32 gFieldObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/5.4bpp"); +const u32 gFieldObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/0.4bpp"); +const u32 gFieldObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/1.4bpp"); +const u32 gFieldObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/2.4bpp"); +const u32 gFieldObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/3.4bpp"); +const u32 gFieldObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/4.4bpp"); +const u32 gFieldObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/5.4bpp"); +const u32 gFieldObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/0.4bpp"); +const u32 gFieldObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/1.4bpp"); +const u32 gFieldObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/2.4bpp"); +const u32 gFieldObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/3.4bpp"); +const u32 gFieldObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/4.4bpp"); +const u32 gFieldObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/5.4bpp"); +const u32 gFieldObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/0.4bpp"); +const u32 gFieldObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/1.4bpp"); +const u32 gFieldObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/2.4bpp"); +const u32 gFieldObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/3.4bpp"); +const u32 gFieldObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/4.4bpp"); +const u32 gFieldObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/5.4bpp"); +const u32 gFieldObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/0.4bpp"); +const u32 gFieldObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/1.4bpp"); +const u32 gFieldObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/2.4bpp"); +const u32 gFieldObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/3.4bpp"); +const u32 gFieldObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/4.4bpp"); +const u32 gFieldObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/5.4bpp"); +const u32 gFieldObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/0.4bpp"); +const u32 gFieldObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/1.4bpp"); +const u32 gFieldObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/2.4bpp"); +const u32 gFieldObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/3.4bpp"); +const u32 gFieldObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/4.4bpp"); +const u32 gFieldObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/5.4bpp"); +const u32 gFieldObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/0.4bpp"); +const u32 gFieldObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/1.4bpp"); +const u32 gFieldObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/2.4bpp"); +const u32 gFieldObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/3.4bpp"); +const u32 gFieldObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/4.4bpp"); +const u32 gFieldObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/5.4bpp"); +const u32 gFieldObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/0.4bpp"); +const u32 gFieldObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/1.4bpp"); +const u32 gFieldObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/2.4bpp"); +const u32 gFieldObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/3.4bpp"); +const u32 gFieldObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/4.4bpp"); +const u32 gFieldObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/5.4bpp"); +const u32 gFieldObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/0.4bpp"); +const u32 gFieldObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/1.4bpp"); +const u32 gFieldObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/2.4bpp"); +const u32 gFieldObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/3.4bpp"); +const u32 gFieldObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/4.4bpp"); +const u32 gFieldObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/5.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob_0[] = INCBIN_U32("graphics/map_objects/pics/effects/surf_blob/0.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob_1[] = INCBIN_U32("graphics/map_objects/pics/effects/surf_blob/1.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob_2[] = INCBIN_U32("graphics/map_objects/pics/effects/surf_blob/2.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/0.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/1.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/2.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/3.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/4.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/5.4bpp"); +const u32 gFieldObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/6.4bpp"); +const u16 gFieldObjectPalette12[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_12.gbapal"); +const u16 gFieldObjectPalette13[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_13.gbapal"); +const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_small.4bpp"); +const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_medium.4bpp"); +const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_large.4bpp"); +const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_extra_large.4bpp"); +const u32 gUnknown_084F6D38[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_4F6D38/0.4bpp"); +const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_06.gbapal"); +const u32 gFieldEffectObjectPic_Ripple_0[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/0.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_1[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/1.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_2[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/2.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_3[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/3.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_4[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/4.4bpp"); +const u32 gFieldEffectObjectPic_Ash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/0.4bpp"); +const u32 gFieldEffectObjectPic_Ash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/1.4bpp"); +const u32 gFieldEffectObjectPic_Ash_2[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/2.4bpp"); +const u32 gFieldEffectObjectPic_Ash_3[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/3.4bpp"); +const u32 gFieldEffectObjectPic_Ash_4[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/4.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_0[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/0.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_1[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/1.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_2[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/2.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_3[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/3.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_4[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/4.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_5[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/5.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_6[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/6.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_7[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/7.4bpp"); +const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_00.gbapal"); +const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_01.gbapal"); +const u32 gFieldEffectObjectPic_GroundImpactDust_0[] = INCBIN_U32("graphics/map_objects/pics/effects/ground_impact_dust/0.4bpp"); +const u32 gFieldEffectObjectPic_GroundImpactDust_1[] = INCBIN_U32("graphics/map_objects/pics/effects/ground_impact_dust/1.4bpp"); +const u32 gFieldEffectObjectPic_GroundImpactDust_2[] = INCBIN_U32("graphics/map_objects/pics/effects/ground_impact_dust/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/3.4bpp"); +const u32 gUnusedGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/0.4bpp"); +const u32 gUnusedGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/1.4bpp"); +const u32 gUnusedGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/2.4bpp"); +const u32 gUnusedGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/4.4bpp"); +const u32 gUnknown_084F7E38[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_4F7E38/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_5[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/5.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/4.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_5[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/5.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_6[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/6.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_7[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/7.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/3.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/2.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/2.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_4[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/4.4bpp"); +const u32 gFieldEffectObjectPic_ShortGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/short_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_ShortGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/short_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_SandFootprints_0[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_footprints/0.4bpp"); +const u32 gFieldEffectObjectPic_SandFootprints_1[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_footprints/1.4bpp"); +const u32 gFieldEffectObjectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/map_objects/pics/effects/deep_sand_footprints/0.4bpp"); +const u32 gFieldEffectObjectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/map_objects/pics/effects/deep_sand_footprints/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_29/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_29/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_29/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/3.4bpp"); +const u32 gFieldEffectObjectPic_Splash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/splash/0.4bpp"); +const u32 gFieldEffectObjectPic_Splash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/splash/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_small_splash/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_small_splash/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_small_splash/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/4.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_0[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/0.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_1[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/1.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_2[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/2.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_3[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/3.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_4[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/4.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_5[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/5.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_6[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/6.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_0[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/0.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_1[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/1.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_2[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/2.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_3[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/3.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_4[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/4.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_5[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/5.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_6[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/6.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_0[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/0.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_1[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/1.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_2[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/2.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_3[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/3.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_4[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/4.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_5[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/5.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_6[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/6.4bpp"); +const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/map_objects/pics/effects/hot_springs_water.4bpp"); +const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_02.gbapal"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_0[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/0.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_1[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/1.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_2[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/2.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_3[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/3.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_4[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/4.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/4.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/0.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/1.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/2.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/3.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_4[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/4.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_5[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/5.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_6[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/6.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_7[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/7.4bpp"); +const u32 gFieldEffectObjectPic_Unknown35_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_35/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown35_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_35/1.4bpp"); +const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_03.gbapal"); +const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/map_objects/pics/effects/bird.4bpp"); +const u32 gFieldObjectPic_Juan_0[] = INCBIN_U32("graphics/map_objects/pics/people/juan/0.4bpp"); +const u32 gFieldObjectPic_Juan_1[] = INCBIN_U32("graphics/map_objects/pics/people/juan/1.4bpp"); +const u32 gFieldObjectPic_Juan_2[] = INCBIN_U32("graphics/map_objects/pics/people/juan/2.4bpp"); +const u32 gFieldObjectPic_Juan_3[] = INCBIN_U32("graphics/map_objects/pics/people/juan/3.4bpp"); +const u32 gFieldObjectPic_Juan_4[] = INCBIN_U32("graphics/map_objects/pics/people/juan/4.4bpp"); +const u32 gFieldObjectPic_Juan_5[] = INCBIN_U32("graphics/map_objects/pics/people/juan/5.4bpp"); +const u32 gFieldObjectPic_Juan_6[] = INCBIN_U32("graphics/map_objects/pics/people/juan/6.4bpp"); +const u32 gFieldObjectPic_Juan_7[] = INCBIN_U32("graphics/map_objects/pics/people/juan/7.4bpp"); +const u32 gFieldObjectPic_Juan_8[] = INCBIN_U32("graphics/map_objects/pics/people/juan/8.4bpp"); +const u32 gFieldObjectPic_Scott_0[] = INCBIN_U32("graphics/map_objects/pics/people/scott/0.4bpp"); +const u32 gFieldObjectPic_Scott_1[] = INCBIN_U32("graphics/map_objects/pics/people/scott/1.4bpp"); +const u32 gFieldObjectPic_Scott_2[] = INCBIN_U32("graphics/map_objects/pics/people/scott/2.4bpp"); +const u32 gFieldObjectPic_Scott_3[] = INCBIN_U32("graphics/map_objects/pics/people/scott/3.4bpp"); +const u32 gFieldObjectPic_Scott_4[] = INCBIN_U32("graphics/map_objects/pics/people/scott/4.4bpp"); +const u32 gFieldObjectPic_Scott_5[] = INCBIN_U32("graphics/map_objects/pics/people/scott/5.4bpp"); +const u32 gFieldObjectPic_Scott_6[] = INCBIN_U32("graphics/map_objects/pics/people/scott/6.4bpp"); +const u32 gFieldObjectPic_Scott_7[] = INCBIN_U32("graphics/map_objects/pics/people/scott/7.4bpp"); +const u32 gFieldObjectPic_Scott_8[] = INCBIN_U32("graphics/map_objects/pics/people/scott/8.4bpp"); +const u32 gFieldObjectPic_Statue[] = INCBIN_U32("graphics/map_objects/pics/misc/statue.4bpp"); +const u32 gFieldObjectPic_Kirlia_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/0.4bpp"); +const u32 gFieldObjectPic_Kirlia_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/1.4bpp"); +const u32 gFieldObjectPic_Kirlia_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/2.4bpp"); +const u32 gFieldObjectPic_Kirlia_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/3.4bpp"); +const u32 gFieldObjectPic_Kirlia_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/4.4bpp"); +const u32 gFieldObjectPic_Kirlia_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/5.4bpp"); +const u32 gFieldObjectPic_Kirlia_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/6.4bpp"); +const u32 gFieldObjectPic_Kirlia_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/7.4bpp"); +const u32 gFieldObjectPic_Kirlia_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/8.4bpp"); +const u32 gFieldObjectPic_Dusclops_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/0.4bpp"); +const u32 gFieldObjectPic_Dusclops_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/1.4bpp"); +const u32 gFieldObjectPic_Dusclops_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/2.4bpp"); +const u32 gFieldObjectPic_Dusclops_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/3.4bpp"); +const u32 gFieldObjectPic_Dusclops_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/4.4bpp"); +const u32 gFieldObjectPic_Dusclops_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/5.4bpp"); +const u32 gFieldObjectPic_Dusclops_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/6.4bpp"); +const u32 gFieldObjectPic_Dusclops_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/7.4bpp"); +const u32 gFieldObjectPic_Dusclops_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/8.4bpp"); +const u32 gFieldObjectPic_MysteryEventDeliveryman_0[] = INCBIN_U32("graphics/map_objects/pics/people/mystery_event_deliveryman/0.4bpp"); +const u32 gFieldObjectPic_MysteryEventDeliveryman_1[] = INCBIN_U32("graphics/map_objects/pics/people/mystery_event_deliveryman/1.4bpp"); +const u32 gFieldObjectPic_MysteryEventDeliveryman_2[] = INCBIN_U32("graphics/map_objects/pics/people/mystery_event_deliveryman/2.4bpp"); +const u32 gFieldObjectPic_UnionRoomAttendant_0[] = INCBIN_U32("graphics/map_objects/pics/people/union_room_attendant/0.4bpp"); +const u32 gFieldObjectPic_UnionRoomAttendant_1[] = INCBIN_U32("graphics/map_objects/pics/people/union_room_attendant/1.4bpp"); +const u32 gFieldObjectPic_UnionRoomAttendant_2[] = INCBIN_U32("graphics/map_objects/pics/people/union_room_attendant/2.4bpp"); +const u32 gFieldObjectPic_MovingBox[] = INCBIN_U32("graphics/map_objects/pics/misc/moving_box.4bpp"); +const u16 gFieldObjectPalette19[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_19.gbapal"); +const u32 gFieldObjectPic_Sudowoodo_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/sudowoodo/0.4bpp"); +const u32 gFieldObjectPic_Sudowoodo_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/sudowoodo/1.4bpp"); +const u32 gFieldObjectPic_Sudowoodo_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/sudowoodo/2.4bpp"); +const u32 gFieldObjectPic_Mew_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/0.4bpp"); +const u32 gFieldObjectPic_Mew_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/1.4bpp"); +const u32 gFieldObjectPic_Mew_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/2.4bpp"); +const u32 gFieldObjectPic_Mew_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/3.4bpp"); +const u32 gFieldObjectPic_Mew_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/4.4bpp"); +const u32 gFieldObjectPic_Mew_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/5.4bpp"); +const u32 gFieldObjectPic_Mew_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/6.4bpp"); +const u32 gFieldObjectPic_Mew_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/7.4bpp"); +const u32 gFieldObjectPic_Mew_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/8.4bpp"); +const u16 gFieldObjectPalette28[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_28.gbapal"); +const u32 gFieldObjectPic_Red_0[] = INCBIN_U32("graphics/map_objects/pics/people/red/0.4bpp"); +const u32 gFieldObjectPic_Red_1[] = INCBIN_U32("graphics/map_objects/pics/people/red/1.4bpp"); +const u32 gFieldObjectPic_Red_2[] = INCBIN_U32("graphics/map_objects/pics/people/red/2.4bpp"); +const u32 gFieldObjectPic_Red_3[] = INCBIN_U32("graphics/map_objects/pics/people/red/3.4bpp"); +const u32 gFieldObjectPic_Red_4[] = INCBIN_U32("graphics/map_objects/pics/people/red/4.4bpp"); +const u32 gFieldObjectPic_Red_5[] = INCBIN_U32("graphics/map_objects/pics/people/red/5.4bpp"); +const u32 gFieldObjectPic_Red_6[] = INCBIN_U32("graphics/map_objects/pics/people/red/6.4bpp"); +const u32 gFieldObjectPic_Red_7[] = INCBIN_U32("graphics/map_objects/pics/people/red/7.4bpp"); +const u32 gFieldObjectPic_Red_8[] = INCBIN_U32("graphics/map_objects/pics/people/red/8.4bpp"); +const u32 gFieldObjectPic_Leaf_0[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/0.4bpp"); +const u32 gFieldObjectPic_Leaf_1[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/1.4bpp"); +const u32 gFieldObjectPic_Leaf_2[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/2.4bpp"); +const u32 gFieldObjectPic_Leaf_3[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/3.4bpp"); +const u32 gFieldObjectPic_Leaf_4[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/4.4bpp"); +const u32 gFieldObjectPic_Leaf_5[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/5.4bpp"); +const u32 gFieldObjectPic_Leaf_6[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/6.4bpp"); +const u32 gFieldObjectPic_Leaf_7[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/7.4bpp"); +const u32 gFieldObjectPic_Leaf_8[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/8.4bpp"); +const u16 gFieldObjectPalette30[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_30.gbapal"); +const u32 gFieldObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/map_objects/pics/misc/birth_island_stone.4bpp"); +const u16 gFieldObjectPalette29[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_29.gbapal"); +const u32 gFieldObjectPic_Deoxys_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/deoxys/0.4bpp"); +const u32 gFieldObjectPic_Deoxys_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/deoxys/1.4bpp"); +const u32 gFieldObjectPic_Anabel_0[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/0.4bpp"); +const u32 gFieldObjectPic_Anabel_1[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/1.4bpp"); +const u32 gFieldObjectPic_Anabel_2[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/2.4bpp"); +const u32 gFieldObjectPic_Anabel_3[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/3.4bpp"); +const u32 gFieldObjectPic_Anabel_4[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/4.4bpp"); +const u32 gFieldObjectPic_Anabel_5[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/5.4bpp"); +const u32 gFieldObjectPic_Anabel_6[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/6.4bpp"); +const u32 gFieldObjectPic_Anabel_7[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/7.4bpp"); +const u32 gFieldObjectPic_Anabel_8[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/8.4bpp"); +const u32 gFieldObjectPic_Tucker_0[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/0.4bpp"); +const u32 gFieldObjectPic_Tucker_1[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/1.4bpp"); +const u32 gFieldObjectPic_Tucker_2[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/2.4bpp"); +const u32 gFieldObjectPic_Tucker_3[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/3.4bpp"); +const u32 gFieldObjectPic_Tucker_4[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/4.4bpp"); +const u32 gFieldObjectPic_Tucker_5[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/5.4bpp"); +const u32 gFieldObjectPic_Tucker_6[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/6.4bpp"); +const u32 gFieldObjectPic_Tucker_7[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/7.4bpp"); +const u32 gFieldObjectPic_Tucker_8[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/8.4bpp"); +const u32 gFieldObjectPic_Spenser_0[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/0.4bpp"); +const u32 gFieldObjectPic_Spenser_1[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/1.4bpp"); +const u32 gFieldObjectPic_Spenser_2[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/2.4bpp"); +const u32 gFieldObjectPic_Spenser_3[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/3.4bpp"); +const u32 gFieldObjectPic_Spenser_4[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/4.4bpp"); +const u32 gFieldObjectPic_Spenser_5[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/5.4bpp"); +const u32 gFieldObjectPic_Spenser_6[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/6.4bpp"); +const u32 gFieldObjectPic_Spenser_7[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/7.4bpp"); +const u32 gFieldObjectPic_Spenser_8[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/8.4bpp"); +const u32 gFieldObjectPic_Greta_0[] = INCBIN_U32("graphics/map_objects/pics/people/greta/0.4bpp"); +const u32 gFieldObjectPic_Greta_1[] = INCBIN_U32("graphics/map_objects/pics/people/greta/1.4bpp"); +const u32 gFieldObjectPic_Greta_2[] = INCBIN_U32("graphics/map_objects/pics/people/greta/2.4bpp"); +const u32 gFieldObjectPic_Greta_3[] = INCBIN_U32("graphics/map_objects/pics/people/greta/3.4bpp"); +const u32 gFieldObjectPic_Greta_4[] = INCBIN_U32("graphics/map_objects/pics/people/greta/4.4bpp"); +const u32 gFieldObjectPic_Greta_5[] = INCBIN_U32("graphics/map_objects/pics/people/greta/5.4bpp"); +const u32 gFieldObjectPic_Greta_6[] = INCBIN_U32("graphics/map_objects/pics/people/greta/6.4bpp"); +const u32 gFieldObjectPic_Greta_7[] = INCBIN_U32("graphics/map_objects/pics/people/greta/7.4bpp"); +const u32 gFieldObjectPic_Greta_8[] = INCBIN_U32("graphics/map_objects/pics/people/greta/8.4bpp"); +const u32 gFieldObjectPic_Noland_0[] = INCBIN_U32("graphics/map_objects/pics/people/noland/0.4bpp"); +const u32 gFieldObjectPic_Noland_1[] = INCBIN_U32("graphics/map_objects/pics/people/noland/1.4bpp"); +const u32 gFieldObjectPic_Noland_2[] = INCBIN_U32("graphics/map_objects/pics/people/noland/2.4bpp"); +const u32 gFieldObjectPic_Noland_3[] = INCBIN_U32("graphics/map_objects/pics/people/noland/3.4bpp"); +const u32 gFieldObjectPic_Noland_4[] = INCBIN_U32("graphics/map_objects/pics/people/noland/4.4bpp"); +const u32 gFieldObjectPic_Noland_5[] = INCBIN_U32("graphics/map_objects/pics/people/noland/5.4bpp"); +const u32 gFieldObjectPic_Noland_6[] = INCBIN_U32("graphics/map_objects/pics/people/noland/6.4bpp"); +const u32 gFieldObjectPic_Noland_7[] = INCBIN_U32("graphics/map_objects/pics/people/noland/7.4bpp"); +const u32 gFieldObjectPic_Noland_8[] = INCBIN_U32("graphics/map_objects/pics/people/noland/8.4bpp"); +const u32 gFieldObjectPic_Lucy_0[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/0.4bpp"); +const u32 gFieldObjectPic_Lucy_1[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/1.4bpp"); +const u32 gFieldObjectPic_Lucy_2[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/2.4bpp"); +const u32 gFieldObjectPic_Lucy_3[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/3.4bpp"); +const u32 gFieldObjectPic_Lucy_4[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/4.4bpp"); +const u32 gFieldObjectPic_Lucy_5[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/5.4bpp"); +const u32 gFieldObjectPic_Lucy_6[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/6.4bpp"); +const u32 gFieldObjectPic_Lucy_7[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/7.4bpp"); +const u32 gFieldObjectPic_Lucy_8[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/8.4bpp"); +const u32 gFieldObjectPic_Brandon_0[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/0.4bpp"); +const u32 gFieldObjectPic_Brandon_1[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/1.4bpp"); +const u32 gFieldObjectPic_Brandon_2[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/2.4bpp"); +const u32 gFieldObjectPic_Brandon_3[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/3.4bpp"); +const u32 gFieldObjectPic_Brandon_4[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/4.4bpp"); +const u32 gFieldObjectPic_Brandon_5[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/5.4bpp"); +const u32 gFieldObjectPic_Brandon_6[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/6.4bpp"); +const u32 gFieldObjectPic_Brandon_7[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/7.4bpp"); +const u32 gFieldObjectPic_Brandon_8[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/8.4bpp"); +const u32 gFieldObjectPic_Lugia_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/lugia/0.4bpp"); +const u32 gFieldObjectPic_Lugia_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/lugia/1.4bpp"); +const u16 gFieldObjectPalette32[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_32.gbapal"); +const u32 gFieldObjectPic_HoOh_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/ho_oh/0.4bpp"); +const u32 gFieldObjectPic_HoOh_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/ho_oh/1.4bpp"); +const u16 gFieldObjectPalette31[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_31.gbapal"); + +#endif //GUARD_EVENT_OBJECT_GFX_H diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h new file mode 100755 index 000000000..774109472 --- /dev/null +++ b/src/data/field_event_obj/event_object_graphics_info.h @@ -0,0 +1,250 @@ +#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H +#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H + +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanNormal = {0xFFFF, 0x1100, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_QuintyPlump = {0xFFFF, 0x110B, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_QuintyPlump, gFieldObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy1 = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Girl1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Girl2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy2 = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl2 = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy3 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy3, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Girl3, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy4 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy4, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman1 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FatMan = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_FatMan, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman2 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman3 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman3, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldMan1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman4, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man3, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman5 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman5, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cook = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Cook, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman6 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman6, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldMan2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Camper = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Camper, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Picnicker = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Picnicker, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man4, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman7, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Youngster = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Youngster, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BugCatcher = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PsychicM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_PsychicM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SchoolKidM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maniac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Maniac, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HexManiac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza1 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_64x64, gFieldObjectSpriteOamTables_64x64, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BlackBelt = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Beauty = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Beauty, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Scientist1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lass = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Lass, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Gentleman = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Gentleman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sailor = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Sailor, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fisherman = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Fisherman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberF = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_TuberF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberM = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_TuberM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hiker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Hiker, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteM = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteF = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Nurse = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Nurse, gFieldObjectPicTable_Nurse, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ItemBall = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ItemBall, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTree = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, NULL, gFieldObjectImageAnimTable_BerryTree, gFieldObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_BerryTree, gFieldObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BerryTree, gFieldObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ProfBirch = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man5 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man5, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man6 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man6, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ReporterM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ReporterF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Bard = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hipster = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Trader = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Storyteller = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Giddy = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedNatuDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedWooperDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CuttableTree = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_CuttableTree, gFieldObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MartEmployee = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RooftopSaleWoman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Teala = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Teala, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BreakableRock = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_BreakableRock, gFieldObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PushableBoulder = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MrBrineysBoat = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayNormal = {0xFFFF, 0x1110, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Truck = {0xFFFF, 0x110D, 0x11FF, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_Truck, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_Truck, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothCarryingBox = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothFacingAway = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirchsBag = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_EnemyZigzagoon = {0xFFFF, 0x110F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Poochyena = {0xFFFF, 0x111C, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Poochyena, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Artist = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Artist, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanNormal = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayNormal = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cameraman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Cameraman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MovingBox = {0xFFFF, 0x1112, 0x11FF, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MovingBox, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CableCar = {0xFFFF, 0x1113, 0x11FF, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_64x64, gFieldObjectSpriteOamTables_64x64, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Scientist2, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man7, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberM = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sidney = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Sidney, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Phoebe = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Phoebe, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Glacia = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Glacia, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Drake = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Drake, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Roxanne = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Roxanne, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brawly = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Brawly, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wattson = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wattson, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Flannery = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Flannery, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Norman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Norman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Winona = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Winona, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Liza = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Liza, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tate = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Tate, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wallace = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wallace, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Steven = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Steven, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wally = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wally, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFishing = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Fishing, gFieldObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFishing = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Fishing, gFieldObjectPicTable_MayFishing, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HotSpringsOldWoman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SSTidal = {0xFFFF, 0x1114, 0x11FF, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_8x8, gFieldObjectSpriteOamTables_SSTidal, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SubmarineShadow = {0xFFFF, 0x111B, 0x11FF, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_8x8, gFieldObjectSpriteOamTables_SubmarineShadow, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PichuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MarillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TogepiDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyndaquilDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ChikoritaDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TotodileDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_JigglypuffDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MeowthDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ClefairyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DittoDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SmoochumDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TreeckoDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TorchicDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MudkipDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DuskullDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WynautDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BaltoyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KecleonDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AzurillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SkittyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwabluDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GulpinDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LotadDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SeedotDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikaCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RoundCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KissCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_KissCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ZigzagCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SpinCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DiamondCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BallCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BallCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GrassCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FireCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_FireCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WaterCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigSnorlaxDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRhydonDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigLaprasDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigVenusaurDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigCharizardDoll = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigBlastoiseDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigWailmerDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegirockDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegiceDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latias = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latios = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy5 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy5, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ContestOldMan = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ContestOldMan, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanWatering = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayWatering = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayWatering, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanDecorating = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayDecorating = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Archie = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Archie, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maxie = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Maxie, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre1 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_KyogreFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon1 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_GroudonFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre3 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_KyogreSide, gFieldObjectRotScalAnimTable_KyogreGroudon}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon3 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Groudon3, gFieldObjectPicTable_GroudonSide, gFieldObjectRotScalAnimTable_KyogreGroudon}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fossil = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regirock = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regice = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Registeel = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Regi, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Skitty = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Skitty, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon1 = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre2 = {0xFFFF, 0x1116, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_KyogreFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon2 = {0xFFFF, 0x1118, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_GroudonFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza2 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_64x64, gFieldObjectSpriteOamTables_64x64, gFieldObjectImageAnimTable_Rayquaza2, gFieldObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Zigzagoon = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Pikachu = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Pikachu, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azumarill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Azumarill, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wingull = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wingull, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon2 = {0xFFFF, 0x1105, 0x1102, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberMSwimming = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azurill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Azurill, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mom = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Mom, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkBrendan = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkMay = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Juan = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Juan, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scott = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Scott, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Statue = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_Statue, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kirlia = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Kirlia, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Dusclops = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Dusclops, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnionRoomAttendant = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Red = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Red, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Leaf = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Leaf, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sudowoodo = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mew = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Mew, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Deoxys = {0xFFFF, 0x111E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Deoxys, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirthIslandStone = {0xFFFF, 0x111F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Anabel = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Anabel, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tucker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Tucker, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Greta = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Greta, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Spenser = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Spenser, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Noland = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Noland, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lucy = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Lucy, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brandon = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Brandon, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireBrendan = {0xFFFF, 0x1122, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireMay = {0xFFFF, 0x1123, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lugia = {0xFFFF, 0x1121, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Lugia, gDummySpriteAffineAnimTable}; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HoOh = {0xFFFF, 0x1120, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_HoOh, gFieldObjectPicTable_HoOh, gDummySpriteAffineAnimTable}; + +#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_H diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h new file mode 100755 index 000000000..6793a9487 --- /dev/null +++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h @@ -0,0 +1,504 @@ +#ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H +#define GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H + +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanNormal; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanMachBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanSurfing; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFieldMove; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_QuintyPlump; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy3; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl3; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy4; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FatMan; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman3; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman4; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man3; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman5; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cook; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman6; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Camper; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Picnicker; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man4; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman7; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Youngster; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BugCatcher; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PsychicM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SchoolKidM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maniac; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HexManiac; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BlackBelt; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Beauty; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lass; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Gentleman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sailor; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fisherman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hiker; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Nurse; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ItemBall; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTree; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeEarlyStages; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeLateStages; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanAcroBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ProfBirch; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man5; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man6; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Bard; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Anabel; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tucker; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Greta; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Spenser; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Noland; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lucy; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedNatuDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMagnemiteDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedSquirtleDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedWooperDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPikachuDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPorygon2Doll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CuttableTree; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MartEmployee; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RooftopSaleWoman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Teala; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BreakableRock; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PushableBoulder; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MrBrineysBoat; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayNormal; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayMachBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayAcroBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MaySurfing; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFieldMove; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Truck; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothCarryingBox; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothFacingAway; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirchsBag; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_EnemyZigzagoon; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Artist; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanNormal; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanMachBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanAcroBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanSurfing; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanFieldMove; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayNormal; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayMachBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayAcroBike; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMaySurfing; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayFieldMove; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cameraman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanUnderwater; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayUnderwater; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MovingBox; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CableCar; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man7; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberM; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberF; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sidney; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Phoebe; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Glacia; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Drake; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Roxanne; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brawly; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wattson; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Flannery; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Norman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Winona; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Liza; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tate; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wallace; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Steven; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wally; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireLittleBoy; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFishing; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFishing; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HotSpringsOldWoman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SSTidal; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SubmarineShadow; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PichuDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikachuDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MarillDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TogepiDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyndaquilDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ChikoritaDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TotodileDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_JigglypuffDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MeowthDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ClefairyDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DittoDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SmoochumDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TreeckoDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TorchicDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MudkipDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DuskullDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WynautDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BaltoyDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KecleonDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AzurillDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SkittyDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwabluDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GulpinDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LotadDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SeedotDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikaCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RoundCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KissCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ZigzagCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SpinCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DiamondCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BallCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GrassCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FireCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WaterCushion; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigSnorlaxDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRhydonDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigLaprasDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigVenusaurDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigCharizardDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigBlastoiseDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigWailmerDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegirockDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegiceDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegisteelDoll; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latias; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latios; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy5; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ContestOldMan; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanWatering; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayWatering; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanDecorating; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayDecorating; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Archie; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maxie; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fossil; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regirock; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regice; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Registeel; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Skitty; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Zigzagoon; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Pikachu; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azumarill; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wingull; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon2; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberMSwimming; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azurill; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mom; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkBrendan; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkMay; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Juan; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scott; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Poochyena; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre3; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon3; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MysteryEventDeliveryman; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Statue; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kirlia; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Dusclops; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnionRoomAttendant; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sudowoodo; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mew; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Red; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Leaf; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Deoxys; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirthIslandStone; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brandon; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireBrendan; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireMay; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lugia; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HoOh; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Bard; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hipster; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Trader; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Storyteller; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Giddy; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan1; +const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan2; + + +const struct MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[] = { + &gFieldObjectGraphicsInfo_BrendanNormal, + &gFieldObjectGraphicsInfo_BrendanMachBike, + &gFieldObjectGraphicsInfo_BrendanSurfing, + &gFieldObjectGraphicsInfo_BrendanFieldMove, + &gFieldObjectGraphicsInfo_QuintyPlump, + &gFieldObjectGraphicsInfo_LittleBoy1, + &gFieldObjectGraphicsInfo_LittleGirl1, + &gFieldObjectGraphicsInfo_Boy1, + &gFieldObjectGraphicsInfo_Girl1, + &gFieldObjectGraphicsInfo_Boy2, + &gFieldObjectGraphicsInfo_Girl2, + &gFieldObjectGraphicsInfo_LittleBoy2, + &gFieldObjectGraphicsInfo_LittleGirl2, + &gFieldObjectGraphicsInfo_Boy3, + &gFieldObjectGraphicsInfo_Girl3, + &gFieldObjectGraphicsInfo_Boy4, + &gFieldObjectGraphicsInfo_Woman1, + &gFieldObjectGraphicsInfo_FatMan, + &gFieldObjectGraphicsInfo_Woman2, + &gFieldObjectGraphicsInfo_Man1, + &gFieldObjectGraphicsInfo_Woman3, + &gFieldObjectGraphicsInfo_OldMan1, + &gFieldObjectGraphicsInfo_OldWoman1, + &gFieldObjectGraphicsInfo_Man2, + &gFieldObjectGraphicsInfo_Woman4, + &gFieldObjectGraphicsInfo_Man3, + &gFieldObjectGraphicsInfo_Woman5, + &gFieldObjectGraphicsInfo_Cook, + &gFieldObjectGraphicsInfo_Woman6, + &gFieldObjectGraphicsInfo_OldMan2, + &gFieldObjectGraphicsInfo_OldWoman2, + &gFieldObjectGraphicsInfo_Camper, + &gFieldObjectGraphicsInfo_Picnicker, + &gFieldObjectGraphicsInfo_Man4, + &gFieldObjectGraphicsInfo_Woman7, + &gFieldObjectGraphicsInfo_Youngster, + &gFieldObjectGraphicsInfo_BugCatcher, + &gFieldObjectGraphicsInfo_PsychicM, + &gFieldObjectGraphicsInfo_SchoolKidM, + &gFieldObjectGraphicsInfo_Maniac, + &gFieldObjectGraphicsInfo_HexManiac, + &gFieldObjectGraphicsInfo_Rayquaza1, + &gFieldObjectGraphicsInfo_SwimmerM, + &gFieldObjectGraphicsInfo_SwimmerF, + &gFieldObjectGraphicsInfo_BlackBelt, + &gFieldObjectGraphicsInfo_Beauty, + &gFieldObjectGraphicsInfo_Scientist1, + &gFieldObjectGraphicsInfo_Lass, + &gFieldObjectGraphicsInfo_Gentleman, + &gFieldObjectGraphicsInfo_Sailor, + &gFieldObjectGraphicsInfo_Fisherman, + &gFieldObjectGraphicsInfo_RunningTriathleteM, + &gFieldObjectGraphicsInfo_RunningTriathleteF, + &gFieldObjectGraphicsInfo_TuberF, + &gFieldObjectGraphicsInfo_TuberM, + &gFieldObjectGraphicsInfo_Hiker, + &gFieldObjectGraphicsInfo_CyclingTriathleteM, + &gFieldObjectGraphicsInfo_CyclingTriathleteF, + &gFieldObjectGraphicsInfo_Nurse, + &gFieldObjectGraphicsInfo_ItemBall, + &gFieldObjectGraphicsInfo_BerryTree, + &gFieldObjectGraphicsInfo_BerryTreeEarlyStages, + &gFieldObjectGraphicsInfo_BerryTreeLateStages, + &gFieldObjectGraphicsInfo_BrendanAcroBike, + &gFieldObjectGraphicsInfo_ProfBirch, + &gFieldObjectGraphicsInfo_Man5, + &gFieldObjectGraphicsInfo_Man6, + &gFieldObjectGraphicsInfo_ReporterM, + &gFieldObjectGraphicsInfo_ReporterF, + &gFieldObjectGraphicsInfo_Bard, + &gFieldObjectGraphicsInfo_Anabel, + &gFieldObjectGraphicsInfo_Tucker, + &gFieldObjectGraphicsInfo_Greta, + &gFieldObjectGraphicsInfo_Spenser, + &gFieldObjectGraphicsInfo_Noland, + &gFieldObjectGraphicsInfo_Lucy, + &gFieldObjectGraphicsInfo_UnusedNatuDoll, + &gFieldObjectGraphicsInfo_UnusedMagnemiteDoll, + &gFieldObjectGraphicsInfo_UnusedSquirtleDoll, + &gFieldObjectGraphicsInfo_UnusedWooperDoll, + &gFieldObjectGraphicsInfo_UnusedPikachuDoll, + &gFieldObjectGraphicsInfo_UnusedPorygon2Doll, + &gFieldObjectGraphicsInfo_CuttableTree, + &gFieldObjectGraphicsInfo_MartEmployee, + &gFieldObjectGraphicsInfo_RooftopSaleWoman, + &gFieldObjectGraphicsInfo_Teala, + &gFieldObjectGraphicsInfo_BreakableRock, + &gFieldObjectGraphicsInfo_PushableBoulder, + &gFieldObjectGraphicsInfo_MrBrineysBoat, + &gFieldObjectGraphicsInfo_MayNormal, + &gFieldObjectGraphicsInfo_MayMachBike, + &gFieldObjectGraphicsInfo_MayAcroBike, + &gFieldObjectGraphicsInfo_MaySurfing, + &gFieldObjectGraphicsInfo_MayFieldMove, + &gFieldObjectGraphicsInfo_Truck, + &gFieldObjectGraphicsInfo_VigorothCarryingBox, + &gFieldObjectGraphicsInfo_VigorothFacingAway, + &gFieldObjectGraphicsInfo_BirchsBag, + &gFieldObjectGraphicsInfo_EnemyZigzagoon, + &gFieldObjectGraphicsInfo_Artist, + &gFieldObjectGraphicsInfo_RivalBrendanNormal, + &gFieldObjectGraphicsInfo_RivalBrendanMachBike, + &gFieldObjectGraphicsInfo_RivalBrendanAcroBike, + &gFieldObjectGraphicsInfo_RivalBrendanSurfing, + &gFieldObjectGraphicsInfo_RivalBrendanFieldMove, + &gFieldObjectGraphicsInfo_RivalMayNormal, + &gFieldObjectGraphicsInfo_RivalMayMachBike, + &gFieldObjectGraphicsInfo_RivalMayAcroBike, + &gFieldObjectGraphicsInfo_RivalMaySurfing, + &gFieldObjectGraphicsInfo_RivalMayFieldMove, + &gFieldObjectGraphicsInfo_Cameraman, + &gFieldObjectGraphicsInfo_BrendanUnderwater, + &gFieldObjectGraphicsInfo_MayUnderwater, + &gFieldObjectGraphicsInfo_MovingBox, + &gFieldObjectGraphicsInfo_CableCar, + &gFieldObjectGraphicsInfo_Scientist2, + &gFieldObjectGraphicsInfo_Man7, + &gFieldObjectGraphicsInfo_AquaMemberM, + &gFieldObjectGraphicsInfo_AquaMemberF, + &gFieldObjectGraphicsInfo_MagmaMemberM, + &gFieldObjectGraphicsInfo_MagmaMemberF, + &gFieldObjectGraphicsInfo_Sidney, + &gFieldObjectGraphicsInfo_Phoebe, + &gFieldObjectGraphicsInfo_Glacia, + &gFieldObjectGraphicsInfo_Drake, + &gFieldObjectGraphicsInfo_Roxanne, + &gFieldObjectGraphicsInfo_Brawly, + &gFieldObjectGraphicsInfo_Wattson, + &gFieldObjectGraphicsInfo_Flannery, + &gFieldObjectGraphicsInfo_Norman, + &gFieldObjectGraphicsInfo_Winona, + &gFieldObjectGraphicsInfo_Liza, + &gFieldObjectGraphicsInfo_Tate, + &gFieldObjectGraphicsInfo_Wallace, + &gFieldObjectGraphicsInfo_Steven, + &gFieldObjectGraphicsInfo_Wally, + &gFieldObjectGraphicsInfo_RubySapphireLittleBoy, + &gFieldObjectGraphicsInfo_BrendanFishing, + &gFieldObjectGraphicsInfo_MayFishing, + &gFieldObjectGraphicsInfo_HotSpringsOldWoman, + &gFieldObjectGraphicsInfo_SSTidal, + &gFieldObjectGraphicsInfo_SubmarineShadow, + &gFieldObjectGraphicsInfo_PichuDoll, + &gFieldObjectGraphicsInfo_PikachuDoll, + &gFieldObjectGraphicsInfo_MarillDoll, + &gFieldObjectGraphicsInfo_TogepiDoll, + &gFieldObjectGraphicsInfo_CyndaquilDoll, + &gFieldObjectGraphicsInfo_ChikoritaDoll, + &gFieldObjectGraphicsInfo_TotodileDoll, + &gFieldObjectGraphicsInfo_JigglypuffDoll, + &gFieldObjectGraphicsInfo_MeowthDoll, + &gFieldObjectGraphicsInfo_ClefairyDoll, + &gFieldObjectGraphicsInfo_DittoDoll, + &gFieldObjectGraphicsInfo_SmoochumDoll, + &gFieldObjectGraphicsInfo_TreeckoDoll, + &gFieldObjectGraphicsInfo_TorchicDoll, + &gFieldObjectGraphicsInfo_MudkipDoll, + &gFieldObjectGraphicsInfo_DuskullDoll, + &gFieldObjectGraphicsInfo_WynautDoll, + &gFieldObjectGraphicsInfo_BaltoyDoll, + &gFieldObjectGraphicsInfo_KecleonDoll, + &gFieldObjectGraphicsInfo_AzurillDoll, + &gFieldObjectGraphicsInfo_SkittyDoll, + &gFieldObjectGraphicsInfo_SwabluDoll, + &gFieldObjectGraphicsInfo_GulpinDoll, + &gFieldObjectGraphicsInfo_LotadDoll, + &gFieldObjectGraphicsInfo_SeedotDoll, + &gFieldObjectGraphicsInfo_PikaCushion, + &gFieldObjectGraphicsInfo_RoundCushion, + &gFieldObjectGraphicsInfo_KissCushion, + &gFieldObjectGraphicsInfo_ZigzagCushion, + &gFieldObjectGraphicsInfo_SpinCushion, + &gFieldObjectGraphicsInfo_DiamondCushion, + &gFieldObjectGraphicsInfo_BallCushion, + &gFieldObjectGraphicsInfo_GrassCushion, + &gFieldObjectGraphicsInfo_FireCushion, + &gFieldObjectGraphicsInfo_WaterCushion, + &gFieldObjectGraphicsInfo_BigSnorlaxDoll, + &gFieldObjectGraphicsInfo_BigRhydonDoll, + &gFieldObjectGraphicsInfo_BigLaprasDoll, + &gFieldObjectGraphicsInfo_BigVenusaurDoll, + &gFieldObjectGraphicsInfo_BigCharizardDoll, + &gFieldObjectGraphicsInfo_BigBlastoiseDoll, + &gFieldObjectGraphicsInfo_BigWailmerDoll, + &gFieldObjectGraphicsInfo_BigRegirockDoll, + &gFieldObjectGraphicsInfo_BigRegiceDoll, + &gFieldObjectGraphicsInfo_BigRegisteelDoll, + &gFieldObjectGraphicsInfo_Latias, + &gFieldObjectGraphicsInfo_Latios, + &gFieldObjectGraphicsInfo_Boy5, + &gFieldObjectGraphicsInfo_ContestOldMan, + &gFieldObjectGraphicsInfo_BrendanWatering, + &gFieldObjectGraphicsInfo_MayWatering, + &gFieldObjectGraphicsInfo_BrendanDecorating, + &gFieldObjectGraphicsInfo_MayDecorating, + &gFieldObjectGraphicsInfo_Archie, + &gFieldObjectGraphicsInfo_Maxie, + &gFieldObjectGraphicsInfo_Kyogre1, + &gFieldObjectGraphicsInfo_Groudon1, + &gFieldObjectGraphicsInfo_Fossil, + &gFieldObjectGraphicsInfo_Regirock, + &gFieldObjectGraphicsInfo_Regice, + &gFieldObjectGraphicsInfo_Registeel, + &gFieldObjectGraphicsInfo_Skitty, + &gFieldObjectGraphicsInfo_Kecleon1, + &gFieldObjectGraphicsInfo_Kyogre2, + &gFieldObjectGraphicsInfo_Groudon2, + &gFieldObjectGraphicsInfo_Rayquaza2, + &gFieldObjectGraphicsInfo_Zigzagoon, + &gFieldObjectGraphicsInfo_Pikachu, + &gFieldObjectGraphicsInfo_Azumarill, + &gFieldObjectGraphicsInfo_Wingull, + &gFieldObjectGraphicsInfo_Kecleon2, + &gFieldObjectGraphicsInfo_TuberMSwimming, + &gFieldObjectGraphicsInfo_Azurill, + &gFieldObjectGraphicsInfo_Mom, + &gFieldObjectGraphicsInfo_LinkBrendan, + &gFieldObjectGraphicsInfo_LinkMay, + &gFieldObjectGraphicsInfo_Juan, + &gFieldObjectGraphicsInfo_Scott, + &gFieldObjectGraphicsInfo_Poochyena, + &gFieldObjectGraphicsInfo_Kyogre3, + &gFieldObjectGraphicsInfo_Groudon3, + &gFieldObjectGraphicsInfo_MysteryEventDeliveryman, + &gFieldObjectGraphicsInfo_Statue, + &gFieldObjectGraphicsInfo_Kirlia, + &gFieldObjectGraphicsInfo_Dusclops, + &gFieldObjectGraphicsInfo_UnionRoomAttendant, + &gFieldObjectGraphicsInfo_Sudowoodo, + &gFieldObjectGraphicsInfo_Mew, + &gFieldObjectGraphicsInfo_Red, + &gFieldObjectGraphicsInfo_Leaf, + &gFieldObjectGraphicsInfo_Deoxys, + &gFieldObjectGraphicsInfo_BirthIslandStone, + &gFieldObjectGraphicsInfo_Brandon, + &gFieldObjectGraphicsInfo_RubySapphireBrendan, + &gFieldObjectGraphicsInfo_RubySapphireMay, + &gFieldObjectGraphicsInfo_Lugia, + &gFieldObjectGraphicsInfo_HoOh, +}; + +const struct MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { + &gFieldObjectGraphicsInfo_Bard, + &gFieldObjectGraphicsInfo_Hipster, + &gFieldObjectGraphicsInfo_Trader, + &gFieldObjectGraphicsInfo_Storyteller, + &gFieldObjectGraphicsInfo_Giddy, + &gFieldObjectGraphicsInfo_UnusedMauvilleOldMan1, + &gFieldObjectGraphicsInfo_UnusedMauvilleOldMan2, +}; + +#endif //GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h new file mode 100755 index 000000000..f5d6a24c3 --- /dev/null +++ b/src/data/field_event_obj/event_object_pic_tables.h @@ -0,0 +1,2179 @@ +#ifndef GUARD_EVENT_OBJECT_PIC_TABLES_H +#define GUARD_EVENT_OBJECT_PIC_TABLES_H + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanNormal[] = { + obj_frame_tiles(gFieldObjectPic_BrendanNormal_0), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_1), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_2), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_3), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_4), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_5), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_6), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_7), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_8), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_9), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_10), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_11), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_12), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_13), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_14), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_15), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_16), + obj_frame_tiles(gFieldObjectPic_BrendanNormal_17), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanMachBike[] = { + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_0), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_1), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_2), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_3), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_4), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_5), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_6), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_7), + obj_frame_tiles(gFieldObjectPic_BrendanMachBike_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanAcroBike[] = { + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_0), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_1), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_2), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_3), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_4), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_5), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_6), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_7), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_8), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_9), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_10), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_11), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_12), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_13), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_14), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_15), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_16), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_17), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_18), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_19), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_20), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_21), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_22), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_23), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_24), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_25), + obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_26), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanSurfing[] = { + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_0), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_1), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_2), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_0), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_0), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_1), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_1), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_2), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_2), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_3), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_4), + obj_frame_tiles(gFieldObjectPic_BrendanSurfing_5), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanUnderwater[] = { + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_0), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_1), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_2), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_0), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_0), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_1), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_1), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_2), + obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanFieldMove[] = { + obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_0), + obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_1), + obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_2), + obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_3), + obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_4), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_QuintyPlump[] = { + obj_frame_tiles(gFieldObjectPic_QuintyPlump_0), + obj_frame_tiles(gFieldObjectPic_QuintyPlump_1), + obj_frame_tiles(gFieldObjectPic_QuintyPlump_2), + obj_frame_tiles(gFieldObjectPic_QuintyPlump_3), + obj_frame_tiles(gFieldObjectPic_QuintyPlump_4), + obj_frame_tiles(gFieldObjectPic_QuintyPlump_5), + obj_frame_tiles(gFieldObjectPic_QuintyPlump_6), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_LittleBoy1[] = { + obj_frame_tiles(gFieldObjectPic_LittleBoy1_0), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_1), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_2), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_3), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_4), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_5), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_6), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_7), + obj_frame_tiles(gFieldObjectPic_LittleBoy1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_LittleGirl1[] = { + obj_frame_tiles(gFieldObjectPic_LittleGirl1_0), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_1), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_2), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_3), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_4), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_5), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_6), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_7), + obj_frame_tiles(gFieldObjectPic_LittleGirl1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Boy1[] = { + obj_frame_tiles(gFieldObjectPic_Boy1_0), + obj_frame_tiles(gFieldObjectPic_Boy1_1), + obj_frame_tiles(gFieldObjectPic_Boy1_2), + obj_frame_tiles(gFieldObjectPic_Boy1_3), + obj_frame_tiles(gFieldObjectPic_Boy1_4), + obj_frame_tiles(gFieldObjectPic_Boy1_5), + obj_frame_tiles(gFieldObjectPic_Boy1_6), + obj_frame_tiles(gFieldObjectPic_Boy1_7), + obj_frame_tiles(gFieldObjectPic_Boy1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Girl1[] = { + obj_frame_tiles(gFieldObjectPic_Girl1_0), + obj_frame_tiles(gFieldObjectPic_Girl1_1), + obj_frame_tiles(gFieldObjectPic_Girl1_2), + obj_frame_tiles(gFieldObjectPic_Girl1_3), + obj_frame_tiles(gFieldObjectPic_Girl1_4), + obj_frame_tiles(gFieldObjectPic_Girl1_5), + obj_frame_tiles(gFieldObjectPic_Girl1_6), + obj_frame_tiles(gFieldObjectPic_Girl1_7), + obj_frame_tiles(gFieldObjectPic_Girl1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Boy2[] = { + obj_frame_tiles(gFieldObjectPic_Boy2_0), + obj_frame_tiles(gFieldObjectPic_Boy2_1), + obj_frame_tiles(gFieldObjectPic_Boy2_2), + obj_frame_tiles(gFieldObjectPic_Boy2_3), + obj_frame_tiles(gFieldObjectPic_Boy2_4), + obj_frame_tiles(gFieldObjectPic_Boy2_5), + obj_frame_tiles(gFieldObjectPic_Boy2_6), + obj_frame_tiles(gFieldObjectPic_Boy2_7), + obj_frame_tiles(gFieldObjectPic_Boy2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Girl2[] = { + obj_frame_tiles(gFieldObjectPic_Girl2_0), + obj_frame_tiles(gFieldObjectPic_Girl2_1), + obj_frame_tiles(gFieldObjectPic_Girl2_2), + obj_frame_tiles(gFieldObjectPic_Girl2_3), + obj_frame_tiles(gFieldObjectPic_Girl2_4), + obj_frame_tiles(gFieldObjectPic_Girl2_5), + obj_frame_tiles(gFieldObjectPic_Girl2_6), + obj_frame_tiles(gFieldObjectPic_Girl2_7), + obj_frame_tiles(gFieldObjectPic_Girl2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_LittleBoy2[] = { + obj_frame_tiles(gFieldObjectPic_LittleBoy2_0), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_1), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_2), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_3), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_4), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_5), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_6), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_7), + obj_frame_tiles(gFieldObjectPic_LittleBoy2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_LittleGirl2[] = { + obj_frame_tiles(gFieldObjectPic_LittleGirl2_0), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_1), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_2), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_3), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_4), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_5), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_6), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_7), + obj_frame_tiles(gFieldObjectPic_LittleGirl2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Boy3[] = { + obj_frame_tiles(gFieldObjectPic_Boy3_0), + obj_frame_tiles(gFieldObjectPic_Boy3_1), + obj_frame_tiles(gFieldObjectPic_Boy3_2), + obj_frame_tiles(gFieldObjectPic_Boy3_3), + obj_frame_tiles(gFieldObjectPic_Boy3_4), + obj_frame_tiles(gFieldObjectPic_Boy3_5), + obj_frame_tiles(gFieldObjectPic_Boy3_6), + obj_frame_tiles(gFieldObjectPic_Boy3_7), + obj_frame_tiles(gFieldObjectPic_Boy3_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Girl3[] = { + obj_frame_tiles(gFieldObjectPic_Girl3_0), + obj_frame_tiles(gFieldObjectPic_Girl3_1), + obj_frame_tiles(gFieldObjectPic_Girl3_2), + obj_frame_tiles(gFieldObjectPic_Girl3_3), + obj_frame_tiles(gFieldObjectPic_Girl3_4), + obj_frame_tiles(gFieldObjectPic_Girl3_5), + obj_frame_tiles(gFieldObjectPic_Girl3_6), + obj_frame_tiles(gFieldObjectPic_Girl3_7), + obj_frame_tiles(gFieldObjectPic_Girl3_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Boy4[] = { + obj_frame_tiles(gFieldObjectPic_Boy4_0), + obj_frame_tiles(gFieldObjectPic_Boy4_1), + obj_frame_tiles(gFieldObjectPic_Boy4_2), + obj_frame_tiles(gFieldObjectPic_Boy4_3), + obj_frame_tiles(gFieldObjectPic_Boy4_4), + obj_frame_tiles(gFieldObjectPic_Boy4_5), + obj_frame_tiles(gFieldObjectPic_Boy4_6), + obj_frame_tiles(gFieldObjectPic_Boy4_7), + obj_frame_tiles(gFieldObjectPic_Boy4_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman1[] = { + obj_frame_tiles(gFieldObjectPic_Woman1_0), + obj_frame_tiles(gFieldObjectPic_Woman1_1), + obj_frame_tiles(gFieldObjectPic_Woman1_2), + obj_frame_tiles(gFieldObjectPic_Woman1_3), + obj_frame_tiles(gFieldObjectPic_Woman1_4), + obj_frame_tiles(gFieldObjectPic_Woman1_5), + obj_frame_tiles(gFieldObjectPic_Woman1_6), + obj_frame_tiles(gFieldObjectPic_Woman1_7), + obj_frame_tiles(gFieldObjectPic_Woman1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_FatMan[] = { + obj_frame_tiles(gFieldObjectPic_FatMan_0), + obj_frame_tiles(gFieldObjectPic_FatMan_1), + obj_frame_tiles(gFieldObjectPic_FatMan_2), + obj_frame_tiles(gFieldObjectPic_FatMan_3), + obj_frame_tiles(gFieldObjectPic_FatMan_4), + obj_frame_tiles(gFieldObjectPic_FatMan_5), + obj_frame_tiles(gFieldObjectPic_FatMan_6), + obj_frame_tiles(gFieldObjectPic_FatMan_7), + obj_frame_tiles(gFieldObjectPic_FatMan_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman2[] = { + obj_frame_tiles(gFieldObjectPic_Woman2_0), + obj_frame_tiles(gFieldObjectPic_Woman2_1), + obj_frame_tiles(gFieldObjectPic_Woman2_2), + obj_frame_tiles(gFieldObjectPic_Woman2_3), + obj_frame_tiles(gFieldObjectPic_Woman2_4), + obj_frame_tiles(gFieldObjectPic_Woman2_5), + obj_frame_tiles(gFieldObjectPic_Woman2_6), + obj_frame_tiles(gFieldObjectPic_Woman2_7), + obj_frame_tiles(gFieldObjectPic_Woman2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man1[] = { + obj_frame_tiles(gFieldObjectPic_Man1_0), + obj_frame_tiles(gFieldObjectPic_Man1_1), + obj_frame_tiles(gFieldObjectPic_Man1_2), + obj_frame_tiles(gFieldObjectPic_Man1_3), + obj_frame_tiles(gFieldObjectPic_Man1_4), + obj_frame_tiles(gFieldObjectPic_Man1_5), + obj_frame_tiles(gFieldObjectPic_Man1_6), + obj_frame_tiles(gFieldObjectPic_Man1_7), + obj_frame_tiles(gFieldObjectPic_Man1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman3[] = { + obj_frame_tiles(gFieldObjectPic_Woman3_0), + obj_frame_tiles(gFieldObjectPic_Woman3_1), + obj_frame_tiles(gFieldObjectPic_Woman3_2), + obj_frame_tiles(gFieldObjectPic_Woman3_3), + obj_frame_tiles(gFieldObjectPic_Woman3_4), + obj_frame_tiles(gFieldObjectPic_Woman3_5), + obj_frame_tiles(gFieldObjectPic_Woman3_6), + obj_frame_tiles(gFieldObjectPic_Woman3_7), + obj_frame_tiles(gFieldObjectPic_Woman3_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_OldMan1[] = { + obj_frame_tiles(gFieldObjectPic_OldMan1_0), + obj_frame_tiles(gFieldObjectPic_OldMan1_1), + obj_frame_tiles(gFieldObjectPic_OldMan1_2), + obj_frame_tiles(gFieldObjectPic_OldMan1_3), + obj_frame_tiles(gFieldObjectPic_OldMan1_4), + obj_frame_tiles(gFieldObjectPic_OldMan1_5), + obj_frame_tiles(gFieldObjectPic_OldMan1_6), + obj_frame_tiles(gFieldObjectPic_OldMan1_7), + obj_frame_tiles(gFieldObjectPic_OldMan1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_OldWoman1[] = { + obj_frame_tiles(gFieldObjectPic_OldWoman1_0), + obj_frame_tiles(gFieldObjectPic_OldWoman1_1), + obj_frame_tiles(gFieldObjectPic_OldWoman1_2), + obj_frame_tiles(gFieldObjectPic_OldWoman1_3), + obj_frame_tiles(gFieldObjectPic_OldWoman1_4), + obj_frame_tiles(gFieldObjectPic_OldWoman1_5), + obj_frame_tiles(gFieldObjectPic_OldWoman1_6), + obj_frame_tiles(gFieldObjectPic_OldWoman1_7), + obj_frame_tiles(gFieldObjectPic_OldWoman1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man2[] = { + obj_frame_tiles(gFieldObjectPic_Man2_0), + obj_frame_tiles(gFieldObjectPic_Man2_1), + obj_frame_tiles(gFieldObjectPic_Man2_2), + obj_frame_tiles(gFieldObjectPic_Man2_3), + obj_frame_tiles(gFieldObjectPic_Man2_4), + obj_frame_tiles(gFieldObjectPic_Man2_5), + obj_frame_tiles(gFieldObjectPic_Man2_6), + obj_frame_tiles(gFieldObjectPic_Man2_7), + obj_frame_tiles(gFieldObjectPic_Man2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman4[] = { + obj_frame_tiles(gFieldObjectPic_Woman4_0), + obj_frame_tiles(gFieldObjectPic_Woman4_1), + obj_frame_tiles(gFieldObjectPic_Woman4_2), + obj_frame_tiles(gFieldObjectPic_Woman4_3), + obj_frame_tiles(gFieldObjectPic_Woman4_4), + obj_frame_tiles(gFieldObjectPic_Woman4_5), + obj_frame_tiles(gFieldObjectPic_Woman4_6), + obj_frame_tiles(gFieldObjectPic_Woman4_7), + obj_frame_tiles(gFieldObjectPic_Woman4_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man3[] = { + obj_frame_tiles(gFieldObjectPic_Man3_0), + obj_frame_tiles(gFieldObjectPic_Man3_1), + obj_frame_tiles(gFieldObjectPic_Man3_2), + obj_frame_tiles(gFieldObjectPic_Man3_3), + obj_frame_tiles(gFieldObjectPic_Man3_4), + obj_frame_tiles(gFieldObjectPic_Man3_5), + obj_frame_tiles(gFieldObjectPic_Man3_6), + obj_frame_tiles(gFieldObjectPic_Man3_7), + obj_frame_tiles(gFieldObjectPic_Man3_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman5[] = { + obj_frame_tiles(gFieldObjectPic_Woman5_0), + obj_frame_tiles(gFieldObjectPic_Woman5_1), + obj_frame_tiles(gFieldObjectPic_Woman5_2), + obj_frame_tiles(gFieldObjectPic_Woman5_3), + obj_frame_tiles(gFieldObjectPic_Woman5_4), + obj_frame_tiles(gFieldObjectPic_Woman5_5), + obj_frame_tiles(gFieldObjectPic_Woman5_6), + obj_frame_tiles(gFieldObjectPic_Woman5_7), + obj_frame_tiles(gFieldObjectPic_Woman5_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Cook[] = { + obj_frame_tiles(gFieldObjectPic_Cook_0), + obj_frame_tiles(gFieldObjectPic_Cook_1), + obj_frame_tiles(gFieldObjectPic_Cook_2), + obj_frame_tiles(gFieldObjectPic_Cook_0), + obj_frame_tiles(gFieldObjectPic_Cook_0), + obj_frame_tiles(gFieldObjectPic_Cook_1), + obj_frame_tiles(gFieldObjectPic_Cook_1), + obj_frame_tiles(gFieldObjectPic_Cook_2), + obj_frame_tiles(gFieldObjectPic_Cook_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman6[] = { + obj_frame_tiles(gFieldObjectPic_Woman6_0), + obj_frame_tiles(gFieldObjectPic_Woman6_1), + obj_frame_tiles(gFieldObjectPic_Woman6_2), + obj_frame_tiles(gFieldObjectPic_Woman6_3), + obj_frame_tiles(gFieldObjectPic_Woman6_4), + obj_frame_tiles(gFieldObjectPic_Woman6_5), + obj_frame_tiles(gFieldObjectPic_Woman6_6), + obj_frame_tiles(gFieldObjectPic_Woman6_7), + obj_frame_tiles(gFieldObjectPic_Woman6_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_OldMan2[] = { + obj_frame_tiles(gFieldObjectPic_OldMan2_0), + obj_frame_tiles(gFieldObjectPic_OldMan2_1), + obj_frame_tiles(gFieldObjectPic_OldMan2_2), + obj_frame_tiles(gFieldObjectPic_OldMan2_0), + obj_frame_tiles(gFieldObjectPic_OldMan2_0), + obj_frame_tiles(gFieldObjectPic_OldMan2_1), + obj_frame_tiles(gFieldObjectPic_OldMan2_1), + obj_frame_tiles(gFieldObjectPic_OldMan2_2), + obj_frame_tiles(gFieldObjectPic_OldMan2_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_OldWoman2[] = { + obj_frame_tiles(gFieldObjectPic_OldWoman2_0), + obj_frame_tiles(gFieldObjectPic_OldWoman2_1), + obj_frame_tiles(gFieldObjectPic_OldWoman2_2), + obj_frame_tiles(gFieldObjectPic_OldWoman2_3), + obj_frame_tiles(gFieldObjectPic_OldWoman2_4), + obj_frame_tiles(gFieldObjectPic_OldWoman2_5), + obj_frame_tiles(gFieldObjectPic_OldWoman2_6), + obj_frame_tiles(gFieldObjectPic_OldWoman2_7), + obj_frame_tiles(gFieldObjectPic_OldWoman2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Camper[] = { + obj_frame_tiles(gFieldObjectPic_Camper_0), + obj_frame_tiles(gFieldObjectPic_Camper_1), + obj_frame_tiles(gFieldObjectPic_Camper_2), + obj_frame_tiles(gFieldObjectPic_Camper_3), + obj_frame_tiles(gFieldObjectPic_Camper_4), + obj_frame_tiles(gFieldObjectPic_Camper_5), + obj_frame_tiles(gFieldObjectPic_Camper_6), + obj_frame_tiles(gFieldObjectPic_Camper_7), + obj_frame_tiles(gFieldObjectPic_Camper_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Picnicker[] = { + obj_frame_tiles(gFieldObjectPic_Picnicker_0), + obj_frame_tiles(gFieldObjectPic_Picnicker_1), + obj_frame_tiles(gFieldObjectPic_Picnicker_2), + obj_frame_tiles(gFieldObjectPic_Picnicker_3), + obj_frame_tiles(gFieldObjectPic_Picnicker_4), + obj_frame_tiles(gFieldObjectPic_Picnicker_5), + obj_frame_tiles(gFieldObjectPic_Picnicker_6), + obj_frame_tiles(gFieldObjectPic_Picnicker_7), + obj_frame_tiles(gFieldObjectPic_Picnicker_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man4[] = { + obj_frame_tiles(gFieldObjectPic_Man4_0), + obj_frame_tiles(gFieldObjectPic_Man4_1), + obj_frame_tiles(gFieldObjectPic_Man4_2), + obj_frame_tiles(gFieldObjectPic_Man4_3), + obj_frame_tiles(gFieldObjectPic_Man4_4), + obj_frame_tiles(gFieldObjectPic_Man4_5), + obj_frame_tiles(gFieldObjectPic_Man4_6), + obj_frame_tiles(gFieldObjectPic_Man4_7), + obj_frame_tiles(gFieldObjectPic_Man4_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Woman7[] = { + obj_frame_tiles(gFieldObjectPic_Woman7_0), + obj_frame_tiles(gFieldObjectPic_Woman7_1), + obj_frame_tiles(gFieldObjectPic_Woman7_2), + obj_frame_tiles(gFieldObjectPic_Woman7_3), + obj_frame_tiles(gFieldObjectPic_Woman7_4), + obj_frame_tiles(gFieldObjectPic_Woman7_5), + obj_frame_tiles(gFieldObjectPic_Woman7_6), + obj_frame_tiles(gFieldObjectPic_Woman7_7), + obj_frame_tiles(gFieldObjectPic_Woman7_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Youngster[] = { + obj_frame_tiles(gFieldObjectPic_Youngster_0), + obj_frame_tiles(gFieldObjectPic_Youngster_1), + obj_frame_tiles(gFieldObjectPic_Youngster_2), + obj_frame_tiles(gFieldObjectPic_Youngster_3), + obj_frame_tiles(gFieldObjectPic_Youngster_4), + obj_frame_tiles(gFieldObjectPic_Youngster_5), + obj_frame_tiles(gFieldObjectPic_Youngster_6), + obj_frame_tiles(gFieldObjectPic_Youngster_7), + obj_frame_tiles(gFieldObjectPic_Youngster_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BugCatcher[] = { + obj_frame_tiles(gFieldObjectPic_BugCatcher_0), + obj_frame_tiles(gFieldObjectPic_BugCatcher_1), + obj_frame_tiles(gFieldObjectPic_BugCatcher_2), + obj_frame_tiles(gFieldObjectPic_BugCatcher_3), + obj_frame_tiles(gFieldObjectPic_BugCatcher_4), + obj_frame_tiles(gFieldObjectPic_BugCatcher_5), + obj_frame_tiles(gFieldObjectPic_BugCatcher_6), + obj_frame_tiles(gFieldObjectPic_BugCatcher_7), + obj_frame_tiles(gFieldObjectPic_BugCatcher_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_PsychicM[] = { + obj_frame_tiles(gFieldObjectPic_PsychicM_0), + obj_frame_tiles(gFieldObjectPic_PsychicM_1), + obj_frame_tiles(gFieldObjectPic_PsychicM_2), + obj_frame_tiles(gFieldObjectPic_PsychicM_3), + obj_frame_tiles(gFieldObjectPic_PsychicM_4), + obj_frame_tiles(gFieldObjectPic_PsychicM_5), + obj_frame_tiles(gFieldObjectPic_PsychicM_6), + obj_frame_tiles(gFieldObjectPic_PsychicM_7), + obj_frame_tiles(gFieldObjectPic_PsychicM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SchoolKidM[] = { + obj_frame_tiles(gFieldObjectPic_SchoolKidM_0), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_1), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_2), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_3), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_4), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_5), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_6), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_7), + obj_frame_tiles(gFieldObjectPic_SchoolKidM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Maniac[] = { + obj_frame_tiles(gFieldObjectPic_Maniac_0), + obj_frame_tiles(gFieldObjectPic_Maniac_1), + obj_frame_tiles(gFieldObjectPic_Maniac_2), + obj_frame_tiles(gFieldObjectPic_Maniac_3), + obj_frame_tiles(gFieldObjectPic_Maniac_4), + obj_frame_tiles(gFieldObjectPic_Maniac_5), + obj_frame_tiles(gFieldObjectPic_Maniac_6), + obj_frame_tiles(gFieldObjectPic_Maniac_7), + obj_frame_tiles(gFieldObjectPic_Maniac_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_HexManiac[] = { + obj_frame_tiles(gFieldObjectPic_HexManiac_0), + obj_frame_tiles(gFieldObjectPic_HexManiac_1), + obj_frame_tiles(gFieldObjectPic_HexManiac_2), + obj_frame_tiles(gFieldObjectPic_HexManiac_3), + obj_frame_tiles(gFieldObjectPic_HexManiac_4), + obj_frame_tiles(gFieldObjectPic_HexManiac_5), + obj_frame_tiles(gFieldObjectPic_HexManiac_6), + obj_frame_tiles(gFieldObjectPic_HexManiac_7), + obj_frame_tiles(gFieldObjectPic_HexManiac_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SwimmerM[] = { + obj_frame_tiles(gFieldObjectPic_SwimmerM_0), + obj_frame_tiles(gFieldObjectPic_SwimmerM_1), + obj_frame_tiles(gFieldObjectPic_SwimmerM_2), + obj_frame_tiles(gFieldObjectPic_SwimmerM_3), + obj_frame_tiles(gFieldObjectPic_SwimmerM_4), + obj_frame_tiles(gFieldObjectPic_SwimmerM_5), + obj_frame_tiles(gFieldObjectPic_SwimmerM_6), + obj_frame_tiles(gFieldObjectPic_SwimmerM_7), + obj_frame_tiles(gFieldObjectPic_SwimmerM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SwimmerF[] = { + obj_frame_tiles(gFieldObjectPic_SwimmerF_0), + obj_frame_tiles(gFieldObjectPic_SwimmerF_1), + obj_frame_tiles(gFieldObjectPic_SwimmerF_2), + obj_frame_tiles(gFieldObjectPic_SwimmerF_3), + obj_frame_tiles(gFieldObjectPic_SwimmerF_4), + obj_frame_tiles(gFieldObjectPic_SwimmerF_5), + obj_frame_tiles(gFieldObjectPic_SwimmerF_6), + obj_frame_tiles(gFieldObjectPic_SwimmerF_7), + obj_frame_tiles(gFieldObjectPic_SwimmerF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BlackBelt[] = { + obj_frame_tiles(gFieldObjectPic_BlackBelt_0), + obj_frame_tiles(gFieldObjectPic_BlackBelt_1), + obj_frame_tiles(gFieldObjectPic_BlackBelt_2), + obj_frame_tiles(gFieldObjectPic_BlackBelt_3), + obj_frame_tiles(gFieldObjectPic_BlackBelt_4), + obj_frame_tiles(gFieldObjectPic_BlackBelt_5), + obj_frame_tiles(gFieldObjectPic_BlackBelt_6), + obj_frame_tiles(gFieldObjectPic_BlackBelt_7), + obj_frame_tiles(gFieldObjectPic_BlackBelt_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Beauty[] = { + obj_frame_tiles(gFieldObjectPic_Beauty_0), + obj_frame_tiles(gFieldObjectPic_Beauty_1), + obj_frame_tiles(gFieldObjectPic_Beauty_2), + obj_frame_tiles(gFieldObjectPic_Beauty_3), + obj_frame_tiles(gFieldObjectPic_Beauty_4), + obj_frame_tiles(gFieldObjectPic_Beauty_5), + obj_frame_tiles(gFieldObjectPic_Beauty_6), + obj_frame_tiles(gFieldObjectPic_Beauty_7), + obj_frame_tiles(gFieldObjectPic_Beauty_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Scientist1[] = { + obj_frame_tiles(gFieldObjectPic_Scientist1_0), + obj_frame_tiles(gFieldObjectPic_Scientist1_1), + obj_frame_tiles(gFieldObjectPic_Scientist1_2), + obj_frame_tiles(gFieldObjectPic_Scientist1_3), + obj_frame_tiles(gFieldObjectPic_Scientist1_4), + obj_frame_tiles(gFieldObjectPic_Scientist1_5), + obj_frame_tiles(gFieldObjectPic_Scientist1_6), + obj_frame_tiles(gFieldObjectPic_Scientist1_7), + obj_frame_tiles(gFieldObjectPic_Scientist1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Lass[] = { + obj_frame_tiles(gFieldObjectPic_Lass_0), + obj_frame_tiles(gFieldObjectPic_Lass_1), + obj_frame_tiles(gFieldObjectPic_Lass_2), + obj_frame_tiles(gFieldObjectPic_Lass_3), + obj_frame_tiles(gFieldObjectPic_Lass_4), + obj_frame_tiles(gFieldObjectPic_Lass_5), + obj_frame_tiles(gFieldObjectPic_Lass_6), + obj_frame_tiles(gFieldObjectPic_Lass_7), + obj_frame_tiles(gFieldObjectPic_Lass_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Gentleman[] = { + obj_frame_tiles(gFieldObjectPic_Gentleman_0), + obj_frame_tiles(gFieldObjectPic_Gentleman_1), + obj_frame_tiles(gFieldObjectPic_Gentleman_2), + obj_frame_tiles(gFieldObjectPic_Gentleman_3), + obj_frame_tiles(gFieldObjectPic_Gentleman_4), + obj_frame_tiles(gFieldObjectPic_Gentleman_5), + obj_frame_tiles(gFieldObjectPic_Gentleman_6), + obj_frame_tiles(gFieldObjectPic_Gentleman_7), + obj_frame_tiles(gFieldObjectPic_Gentleman_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Sailor[] = { + obj_frame_tiles(gFieldObjectPic_Sailor_0), + obj_frame_tiles(gFieldObjectPic_Sailor_1), + obj_frame_tiles(gFieldObjectPic_Sailor_2), + obj_frame_tiles(gFieldObjectPic_Sailor_3), + obj_frame_tiles(gFieldObjectPic_Sailor_4), + obj_frame_tiles(gFieldObjectPic_Sailor_5), + obj_frame_tiles(gFieldObjectPic_Sailor_6), + obj_frame_tiles(gFieldObjectPic_Sailor_7), + obj_frame_tiles(gFieldObjectPic_Sailor_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Fisherman[] = { + obj_frame_tiles(gFieldObjectPic_Fisherman_0), + obj_frame_tiles(gFieldObjectPic_Fisherman_1), + obj_frame_tiles(gFieldObjectPic_Fisherman_2), + obj_frame_tiles(gFieldObjectPic_Fisherman_3), + obj_frame_tiles(gFieldObjectPic_Fisherman_4), + obj_frame_tiles(gFieldObjectPic_Fisherman_5), + obj_frame_tiles(gFieldObjectPic_Fisherman_6), + obj_frame_tiles(gFieldObjectPic_Fisherman_7), + obj_frame_tiles(gFieldObjectPic_Fisherman_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RunningTriathleteM[] = { + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_0), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_1), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_2), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_3), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_4), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_5), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_6), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_7), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RunningTriathleteF[] = { + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_0), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_1), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_2), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_3), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_4), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_5), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_6), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_7), + obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TuberF[] = { + obj_frame_tiles(gFieldObjectPic_TuberF_0), + obj_frame_tiles(gFieldObjectPic_TuberF_1), + obj_frame_tiles(gFieldObjectPic_TuberF_2), + obj_frame_tiles(gFieldObjectPic_TuberF_3), + obj_frame_tiles(gFieldObjectPic_TuberF_4), + obj_frame_tiles(gFieldObjectPic_TuberF_5), + obj_frame_tiles(gFieldObjectPic_TuberF_6), + obj_frame_tiles(gFieldObjectPic_TuberF_7), + obj_frame_tiles(gFieldObjectPic_TuberF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TuberM[] = { + obj_frame_tiles(gFieldObjectPic_TuberM_0), + obj_frame_tiles(gFieldObjectPic_TuberM_1), + obj_frame_tiles(gFieldObjectPic_TuberM_2), + obj_frame_tiles(gFieldObjectPic_TuberM_3), + obj_frame_tiles(gFieldObjectPic_TuberM_4), + obj_frame_tiles(gFieldObjectPic_TuberM_5), + obj_frame_tiles(gFieldObjectPic_TuberM_6), + obj_frame_tiles(gFieldObjectPic_TuberM_7), + obj_frame_tiles(gFieldObjectPic_TuberM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Hiker[] = { + obj_frame_tiles(gFieldObjectPic_Hiker_0), + obj_frame_tiles(gFieldObjectPic_Hiker_1), + obj_frame_tiles(gFieldObjectPic_Hiker_2), + obj_frame_tiles(gFieldObjectPic_Hiker_3), + obj_frame_tiles(gFieldObjectPic_Hiker_4), + obj_frame_tiles(gFieldObjectPic_Hiker_5), + obj_frame_tiles(gFieldObjectPic_Hiker_6), + obj_frame_tiles(gFieldObjectPic_Hiker_7), + obj_frame_tiles(gFieldObjectPic_Hiker_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_CyclingTriathleteM[] = { + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_0), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_1), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_2), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_3), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_4), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_5), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_6), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_7), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_CyclingTriathleteF[] = { + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_0), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_1), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_2), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_3), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_4), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_5), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_6), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_7), + obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Nurse[] = { + obj_frame_tiles(gFieldObjectPic_Nurse_0), + obj_frame_tiles(gFieldObjectPic_Nurse_1), + obj_frame_tiles(gFieldObjectPic_Nurse_2), + obj_frame_tiles(gFieldObjectPic_Nurse_0), + obj_frame_tiles(gFieldObjectPic_Nurse_0), + obj_frame_tiles(gFieldObjectPic_Nurse_1), + obj_frame_tiles(gFieldObjectPic_Nurse_1), + obj_frame_tiles(gFieldObjectPic_Nurse_2), + obj_frame_tiles(gFieldObjectPic_Nurse_2), + obj_frame_tiles(gFieldObjectPic_Nurse_3), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ItemBall[] = { + obj_frame_tiles(gFieldObjectPic_ItemBall), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ProfBirch[] = { + obj_frame_tiles(gFieldObjectPic_ProfBirch_0), + obj_frame_tiles(gFieldObjectPic_ProfBirch_1), + obj_frame_tiles(gFieldObjectPic_ProfBirch_2), + obj_frame_tiles(gFieldObjectPic_ProfBirch_3), + obj_frame_tiles(gFieldObjectPic_ProfBirch_4), + obj_frame_tiles(gFieldObjectPic_ProfBirch_5), + obj_frame_tiles(gFieldObjectPic_ProfBirch_6), + obj_frame_tiles(gFieldObjectPic_ProfBirch_7), + obj_frame_tiles(gFieldObjectPic_ProfBirch_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man5[] = { + obj_frame_tiles(gFieldObjectPic_Man5_0), + obj_frame_tiles(gFieldObjectPic_Man5_1), + obj_frame_tiles(gFieldObjectPic_Man5_2), + obj_frame_tiles(gFieldObjectPic_Man5_3), + obj_frame_tiles(gFieldObjectPic_Man5_4), + obj_frame_tiles(gFieldObjectPic_Man5_5), + obj_frame_tiles(gFieldObjectPic_Man5_6), + obj_frame_tiles(gFieldObjectPic_Man5_7), + obj_frame_tiles(gFieldObjectPic_Man5_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man6[] = { + obj_frame_tiles(gFieldObjectPic_Man6_0), + obj_frame_tiles(gFieldObjectPic_Man6_1), + obj_frame_tiles(gFieldObjectPic_Man6_2), + obj_frame_tiles(gFieldObjectPic_Man6_3), + obj_frame_tiles(gFieldObjectPic_Man6_4), + obj_frame_tiles(gFieldObjectPic_Man6_5), + obj_frame_tiles(gFieldObjectPic_Man6_6), + obj_frame_tiles(gFieldObjectPic_Man6_7), + obj_frame_tiles(gFieldObjectPic_Man6_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ReporterM[] = { + obj_frame_tiles(gFieldObjectPic_ReporterM_0), + obj_frame_tiles(gFieldObjectPic_ReporterM_1), + obj_frame_tiles(gFieldObjectPic_ReporterM_2), + obj_frame_tiles(gFieldObjectPic_ReporterM_3), + obj_frame_tiles(gFieldObjectPic_ReporterM_4), + obj_frame_tiles(gFieldObjectPic_ReporterM_5), + obj_frame_tiles(gFieldObjectPic_ReporterM_6), + obj_frame_tiles(gFieldObjectPic_ReporterM_7), + obj_frame_tiles(gFieldObjectPic_ReporterM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ReporterF[] = { + obj_frame_tiles(gFieldObjectPic_ReporterF_0), + obj_frame_tiles(gFieldObjectPic_ReporterF_1), + obj_frame_tiles(gFieldObjectPic_ReporterF_2), + obj_frame_tiles(gFieldObjectPic_ReporterF_3), + obj_frame_tiles(gFieldObjectPic_ReporterF_4), + obj_frame_tiles(gFieldObjectPic_ReporterF_5), + obj_frame_tiles(gFieldObjectPic_ReporterF_6), + obj_frame_tiles(gFieldObjectPic_ReporterF_7), + obj_frame_tiles(gFieldObjectPic_ReporterF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MauvilleOldMan1[] = { + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_0), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_1), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_2), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_3), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_4), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_5), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_6), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_7), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MauvilleOldMan2[] = { + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_0), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_1), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_2), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_3), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_4), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_5), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_6), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_7), + obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnusedNatuDoll[] = { + obj_frame_tiles(gFieldObjectPic_UnusedNatuDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnusedMagnemiteDoll[] = { + obj_frame_tiles(gFieldObjectPic_UnusedMagnemiteDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnusedSquirtleDoll[] = { + obj_frame_tiles(gFieldObjectPic_UnusedSquirtleDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnusedWooperDoll[] = { + obj_frame_tiles(gFieldObjectPic_UnusedWooperDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnusedPikachuDoll[] = { + obj_frame_tiles(gFieldObjectPic_UnusedPikachuDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnusedPorygon2Doll[] = { + obj_frame_tiles(gFieldObjectPic_UnusedPorygon2Doll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_CuttableTree[] = { + obj_frame_tiles(gFieldObjectPic_CuttableTree_0), + obj_frame_tiles(gFieldObjectPic_CuttableTree_1), + obj_frame_tiles(gFieldObjectPic_CuttableTree_2), + obj_frame_tiles(gFieldObjectPic_CuttableTree_3), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MartEmployee[] = { + obj_frame_tiles(gFieldObjectPic_MartEmployee_0), + obj_frame_tiles(gFieldObjectPic_MartEmployee_1), + obj_frame_tiles(gFieldObjectPic_MartEmployee_2), + obj_frame_tiles(gFieldObjectPic_MartEmployee_3), + obj_frame_tiles(gFieldObjectPic_MartEmployee_4), + obj_frame_tiles(gFieldObjectPic_MartEmployee_5), + obj_frame_tiles(gFieldObjectPic_MartEmployee_6), + obj_frame_tiles(gFieldObjectPic_MartEmployee_7), + obj_frame_tiles(gFieldObjectPic_MartEmployee_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RooftopSaleWoman[] = { + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_0), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_1), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_2), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_3), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_4), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_5), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_6), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_7), + obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Teala[] = { + obj_frame_tiles(gFieldObjectPic_Teala_0), + obj_frame_tiles(gFieldObjectPic_Teala_1), + obj_frame_tiles(gFieldObjectPic_Teala_2), + obj_frame_tiles(gFieldObjectPic_Teala_3), + obj_frame_tiles(gFieldObjectPic_Teala_4), + obj_frame_tiles(gFieldObjectPic_Teala_5), + obj_frame_tiles(gFieldObjectPic_Teala_6), + obj_frame_tiles(gFieldObjectPic_Teala_7), + obj_frame_tiles(gFieldObjectPic_Teala_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BreakableRock[] = { + obj_frame_tiles(gFieldObjectPic_BreakableRock_0), + obj_frame_tiles(gFieldObjectPic_BreakableRock_1), + obj_frame_tiles(gFieldObjectPic_BreakableRock_2), + obj_frame_tiles(gFieldObjectPic_BreakableRock_3), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_PushableBoulder[] = { + obj_frame_tiles(gFieldObjectPic_PushableBoulder), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MrBrineysBoat[] = { + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_0), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_1), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_2), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_0), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_0), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_1), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_1), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_2), + obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Truck[] = { + obj_frame_tiles(gFieldObjectPic_Truck), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_VigorothCarryingBox[] = { + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_0), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_0), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_0), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_1), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_2), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_1), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_2), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_1), + obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_VigorothFacingAway[] = { + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_0), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_0), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_0), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BirchsBag[] = { + obj_frame_tiles(gFieldObjectPic_BirchsBag), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_EnemyZigzagoon[] = { + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_0), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_1), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_2), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_3), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_4), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_5), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_6), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_7), + obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Poochyena[] = { + obj_frame_tiles(gFieldObjectPic_Poochyena_0), + obj_frame_tiles(gFieldObjectPic_Poochyena_1), + obj_frame_tiles(gFieldObjectPic_Poochyena_2), + obj_frame_tiles(gFieldObjectPic_Poochyena_3), + obj_frame_tiles(gFieldObjectPic_Poochyena_4), + obj_frame_tiles(gFieldObjectPic_Poochyena_5), + obj_frame_tiles(gFieldObjectPic_Poochyena_6), + obj_frame_tiles(gFieldObjectPic_Poochyena_7), + obj_frame_tiles(gFieldObjectPic_Poochyena_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Artist[] = { + obj_frame_tiles(gFieldObjectPic_Artist_0), + obj_frame_tiles(gFieldObjectPic_Artist_1), + obj_frame_tiles(gFieldObjectPic_Artist_2), + obj_frame_tiles(gFieldObjectPic_Artist_3), + obj_frame_tiles(gFieldObjectPic_Artist_4), + obj_frame_tiles(gFieldObjectPic_Artist_5), + obj_frame_tiles(gFieldObjectPic_Artist_6), + obj_frame_tiles(gFieldObjectPic_Artist_7), + obj_frame_tiles(gFieldObjectPic_Artist_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayNormal[] = { + obj_frame_tiles(gFieldObjectPic_MayNormal_0), + obj_frame_tiles(gFieldObjectPic_MayNormal_1), + obj_frame_tiles(gFieldObjectPic_MayNormal_2), + obj_frame_tiles(gFieldObjectPic_MayNormal_3), + obj_frame_tiles(gFieldObjectPic_MayNormal_4), + obj_frame_tiles(gFieldObjectPic_MayNormal_5), + obj_frame_tiles(gFieldObjectPic_MayNormal_6), + obj_frame_tiles(gFieldObjectPic_MayNormal_7), + obj_frame_tiles(gFieldObjectPic_MayNormal_8), + obj_frame_tiles(gFieldObjectPic_MayNormal_9), + obj_frame_tiles(gFieldObjectPic_MayNormal_10), + obj_frame_tiles(gFieldObjectPic_MayNormal_11), + obj_frame_tiles(gFieldObjectPic_MayNormal_12), + obj_frame_tiles(gFieldObjectPic_MayNormal_13), + obj_frame_tiles(gFieldObjectPic_MayNormal_14), + obj_frame_tiles(gFieldObjectPic_MayNormal_15), + obj_frame_tiles(gFieldObjectPic_MayNormal_16), + obj_frame_tiles(gFieldObjectPic_MayNormal_17), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayMachBike[] = { + obj_frame_tiles(gFieldObjectPic_MayMachBike_0), + obj_frame_tiles(gFieldObjectPic_MayMachBike_1), + obj_frame_tiles(gFieldObjectPic_MayMachBike_2), + obj_frame_tiles(gFieldObjectPic_MayMachBike_3), + obj_frame_tiles(gFieldObjectPic_MayMachBike_4), + obj_frame_tiles(gFieldObjectPic_MayMachBike_5), + obj_frame_tiles(gFieldObjectPic_MayMachBike_6), + obj_frame_tiles(gFieldObjectPic_MayMachBike_7), + obj_frame_tiles(gFieldObjectPic_MayMachBike_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayAcroBike[] = { + obj_frame_tiles(gFieldObjectPic_MayAcroBike_0), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_1), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_2), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_3), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_4), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_5), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_6), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_7), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_8), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_9), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_10), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_11), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_12), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_13), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_14), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_15), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_16), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_17), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_18), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_19), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_20), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_21), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_22), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_23), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_24), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_25), + obj_frame_tiles(gFieldObjectPic_MayAcroBike_26), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MaySurfing[] = { + obj_frame_tiles(gFieldObjectPic_MaySurfing_0), + obj_frame_tiles(gFieldObjectPic_MaySurfing_1), + obj_frame_tiles(gFieldObjectPic_MaySurfing_2), + obj_frame_tiles(gFieldObjectPic_MaySurfing_0), + obj_frame_tiles(gFieldObjectPic_MaySurfing_0), + obj_frame_tiles(gFieldObjectPic_MaySurfing_1), + obj_frame_tiles(gFieldObjectPic_MaySurfing_1), + obj_frame_tiles(gFieldObjectPic_MaySurfing_2), + obj_frame_tiles(gFieldObjectPic_MaySurfing_2), + obj_frame_tiles(gFieldObjectPic_MaySurfing_3), + obj_frame_tiles(gFieldObjectPic_MaySurfing_4), + obj_frame_tiles(gFieldObjectPic_MaySurfing_5), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayUnderwater[] = { + obj_frame_tiles(gFieldObjectPic_MayUnderwater_0), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_1), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_2), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_0), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_0), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_1), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_1), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_2), + obj_frame_tiles(gFieldObjectPic_MayUnderwater_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayFieldMove[] = { + obj_frame_tiles(gFieldObjectPic_MayFieldMove_0), + obj_frame_tiles(gFieldObjectPic_MayFieldMove_1), + obj_frame_tiles(gFieldObjectPic_MayFieldMove_2), + obj_frame_tiles(gFieldObjectPic_MayFieldMove_3), + obj_frame_tiles(gFieldObjectPic_MayFieldMove_4), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Cameraman[] = { + obj_frame_tiles(gFieldObjectPic_Cameraman_0), + obj_frame_tiles(gFieldObjectPic_Cameraman_1), + obj_frame_tiles(gFieldObjectPic_Cameraman_2), + obj_frame_tiles(gFieldObjectPic_Cameraman_3), + obj_frame_tiles(gFieldObjectPic_Cameraman_4), + obj_frame_tiles(gFieldObjectPic_Cameraman_5), + obj_frame_tiles(gFieldObjectPic_Cameraman_6), + obj_frame_tiles(gFieldObjectPic_Cameraman_7), + obj_frame_tiles(gFieldObjectPic_Cameraman_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MovingBox[] = { + obj_frame_tiles(gFieldObjectPic_MovingBox), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_CableCar[] = { + obj_frame_tiles(gFieldObjectPic_CableCar), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Scientist2[] = { + obj_frame_tiles(gFieldObjectPic_Scientist2_0), + obj_frame_tiles(gFieldObjectPic_Scientist2_1), + obj_frame_tiles(gFieldObjectPic_Scientist2_2), + obj_frame_tiles(gFieldObjectPic_Scientist2_3), + obj_frame_tiles(gFieldObjectPic_Scientist2_4), + obj_frame_tiles(gFieldObjectPic_Scientist2_5), + obj_frame_tiles(gFieldObjectPic_Scientist2_6), + obj_frame_tiles(gFieldObjectPic_Scientist2_7), + obj_frame_tiles(gFieldObjectPic_Scientist2_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Man7[] = { + obj_frame_tiles(gFieldObjectPic_Man7_0), + obj_frame_tiles(gFieldObjectPic_Man7_1), + obj_frame_tiles(gFieldObjectPic_Man7_2), + obj_frame_tiles(gFieldObjectPic_Man7_3), + obj_frame_tiles(gFieldObjectPic_Man7_4), + obj_frame_tiles(gFieldObjectPic_Man7_5), + obj_frame_tiles(gFieldObjectPic_Man7_6), + obj_frame_tiles(gFieldObjectPic_Man7_7), + obj_frame_tiles(gFieldObjectPic_Man7_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_AquaMemberM[] = { + obj_frame_tiles(gFieldObjectPic_AquaMemberM_0), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_1), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_2), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_3), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_4), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_5), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_6), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_7), + obj_frame_tiles(gFieldObjectPic_AquaMemberM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_AquaMemberF[] = { + obj_frame_tiles(gFieldObjectPic_AquaMemberF_0), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_1), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_2), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_3), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_4), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_5), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_6), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_7), + obj_frame_tiles(gFieldObjectPic_AquaMemberF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MagmaMemberM[] = { + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_0), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_1), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_2), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_3), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_4), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_5), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_6), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_7), + obj_frame_tiles(gFieldObjectPic_MagmaMemberM_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MagmaMemberF[] = { + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_0), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_1), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_2), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_3), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_4), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_5), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_6), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_7), + obj_frame_tiles(gFieldObjectPic_MagmaMemberF_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Sidney[] = { + obj_frame_tiles(gFieldObjectPic_Sidney_0), + obj_frame_tiles(gFieldObjectPic_Sidney_1), + obj_frame_tiles(gFieldObjectPic_Sidney_2), + obj_frame_tiles(gFieldObjectPic_Sidney_0), + obj_frame_tiles(gFieldObjectPic_Sidney_0), + obj_frame_tiles(gFieldObjectPic_Sidney_1), + obj_frame_tiles(gFieldObjectPic_Sidney_1), + obj_frame_tiles(gFieldObjectPic_Sidney_2), + obj_frame_tiles(gFieldObjectPic_Sidney_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Phoebe[] = { + obj_frame_tiles(gFieldObjectPic_Phoebe_0), + obj_frame_tiles(gFieldObjectPic_Phoebe_1), + obj_frame_tiles(gFieldObjectPic_Phoebe_2), + obj_frame_tiles(gFieldObjectPic_Phoebe_0), + obj_frame_tiles(gFieldObjectPic_Phoebe_0), + obj_frame_tiles(gFieldObjectPic_Phoebe_1), + obj_frame_tiles(gFieldObjectPic_Phoebe_1), + obj_frame_tiles(gFieldObjectPic_Phoebe_2), + obj_frame_tiles(gFieldObjectPic_Phoebe_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Glacia[] = { + obj_frame_tiles(gFieldObjectPic_Glacia_0), + obj_frame_tiles(gFieldObjectPic_Glacia_1), + obj_frame_tiles(gFieldObjectPic_Glacia_2), + obj_frame_tiles(gFieldObjectPic_Glacia_0), + obj_frame_tiles(gFieldObjectPic_Glacia_0), + obj_frame_tiles(gFieldObjectPic_Glacia_1), + obj_frame_tiles(gFieldObjectPic_Glacia_1), + obj_frame_tiles(gFieldObjectPic_Glacia_2), + obj_frame_tiles(gFieldObjectPic_Glacia_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Drake[] = { + obj_frame_tiles(gFieldObjectPic_Drake_0), + obj_frame_tiles(gFieldObjectPic_Drake_1), + obj_frame_tiles(gFieldObjectPic_Drake_2), + obj_frame_tiles(gFieldObjectPic_Drake_0), + obj_frame_tiles(gFieldObjectPic_Drake_0), + obj_frame_tiles(gFieldObjectPic_Drake_1), + obj_frame_tiles(gFieldObjectPic_Drake_1), + obj_frame_tiles(gFieldObjectPic_Drake_2), + obj_frame_tiles(gFieldObjectPic_Drake_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Roxanne[] = { + obj_frame_tiles(gFieldObjectPic_Roxanne_0), + obj_frame_tiles(gFieldObjectPic_Roxanne_1), + obj_frame_tiles(gFieldObjectPic_Roxanne_2), + obj_frame_tiles(gFieldObjectPic_Roxanne_0), + obj_frame_tiles(gFieldObjectPic_Roxanne_0), + obj_frame_tiles(gFieldObjectPic_Roxanne_1), + obj_frame_tiles(gFieldObjectPic_Roxanne_1), + obj_frame_tiles(gFieldObjectPic_Roxanne_2), + obj_frame_tiles(gFieldObjectPic_Roxanne_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Brawly[] = { + obj_frame_tiles(gFieldObjectPic_Brawly_0), + obj_frame_tiles(gFieldObjectPic_Brawly_1), + obj_frame_tiles(gFieldObjectPic_Brawly_2), + obj_frame_tiles(gFieldObjectPic_Brawly_0), + obj_frame_tiles(gFieldObjectPic_Brawly_0), + obj_frame_tiles(gFieldObjectPic_Brawly_1), + obj_frame_tiles(gFieldObjectPic_Brawly_1), + obj_frame_tiles(gFieldObjectPic_Brawly_2), + obj_frame_tiles(gFieldObjectPic_Brawly_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Wattson[] = { + obj_frame_tiles(gFieldObjectPic_Wattson_0), + obj_frame_tiles(gFieldObjectPic_Wattson_1), + obj_frame_tiles(gFieldObjectPic_Wattson_2), + obj_frame_tiles(gFieldObjectPic_Wattson_0), + obj_frame_tiles(gFieldObjectPic_Wattson_0), + obj_frame_tiles(gFieldObjectPic_Wattson_1), + obj_frame_tiles(gFieldObjectPic_Wattson_1), + obj_frame_tiles(gFieldObjectPic_Wattson_2), + obj_frame_tiles(gFieldObjectPic_Wattson_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Flannery[] = { + obj_frame_tiles(gFieldObjectPic_Flannery_0), + obj_frame_tiles(gFieldObjectPic_Flannery_1), + obj_frame_tiles(gFieldObjectPic_Flannery_2), + obj_frame_tiles(gFieldObjectPic_Flannery_0), + obj_frame_tiles(gFieldObjectPic_Flannery_0), + obj_frame_tiles(gFieldObjectPic_Flannery_1), + obj_frame_tiles(gFieldObjectPic_Flannery_1), + obj_frame_tiles(gFieldObjectPic_Flannery_2), + obj_frame_tiles(gFieldObjectPic_Flannery_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Norman[] = { + obj_frame_tiles(gFieldObjectPic_Norman_0), + obj_frame_tiles(gFieldObjectPic_Norman_1), + obj_frame_tiles(gFieldObjectPic_Norman_2), + obj_frame_tiles(gFieldObjectPic_Norman_3), + obj_frame_tiles(gFieldObjectPic_Norman_4), + obj_frame_tiles(gFieldObjectPic_Norman_5), + obj_frame_tiles(gFieldObjectPic_Norman_6), + obj_frame_tiles(gFieldObjectPic_Norman_7), + obj_frame_tiles(gFieldObjectPic_Norman_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Winona[] = { + obj_frame_tiles(gFieldObjectPic_Winona_0), + obj_frame_tiles(gFieldObjectPic_Winona_1), + obj_frame_tiles(gFieldObjectPic_Winona_2), + obj_frame_tiles(gFieldObjectPic_Winona_0), + obj_frame_tiles(gFieldObjectPic_Winona_0), + obj_frame_tiles(gFieldObjectPic_Winona_1), + obj_frame_tiles(gFieldObjectPic_Winona_1), + obj_frame_tiles(gFieldObjectPic_Winona_2), + obj_frame_tiles(gFieldObjectPic_Winona_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Liza[] = { + obj_frame_tiles(gFieldObjectPic_Liza_0), + obj_frame_tiles(gFieldObjectPic_Liza_1), + obj_frame_tiles(gFieldObjectPic_Liza_2), + obj_frame_tiles(gFieldObjectPic_Liza_0), + obj_frame_tiles(gFieldObjectPic_Liza_0), + obj_frame_tiles(gFieldObjectPic_Liza_1), + obj_frame_tiles(gFieldObjectPic_Liza_1), + obj_frame_tiles(gFieldObjectPic_Liza_2), + obj_frame_tiles(gFieldObjectPic_Liza_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Tate[] = { + obj_frame_tiles(gFieldObjectPic_Tate_0), + obj_frame_tiles(gFieldObjectPic_Tate_1), + obj_frame_tiles(gFieldObjectPic_Tate_2), + obj_frame_tiles(gFieldObjectPic_Tate_0), + obj_frame_tiles(gFieldObjectPic_Tate_0), + obj_frame_tiles(gFieldObjectPic_Tate_1), + obj_frame_tiles(gFieldObjectPic_Tate_1), + obj_frame_tiles(gFieldObjectPic_Tate_2), + obj_frame_tiles(gFieldObjectPic_Tate_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Wallace[] = { + obj_frame_tiles(gFieldObjectPic_Wallace_0), + obj_frame_tiles(gFieldObjectPic_Wallace_1), + obj_frame_tiles(gFieldObjectPic_Wallace_2), + obj_frame_tiles(gFieldObjectPic_Wallace_3), + obj_frame_tiles(gFieldObjectPic_Wallace_4), + obj_frame_tiles(gFieldObjectPic_Wallace_5), + obj_frame_tiles(gFieldObjectPic_Wallace_6), + obj_frame_tiles(gFieldObjectPic_Wallace_7), + obj_frame_tiles(gFieldObjectPic_Wallace_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Steven[] = { + obj_frame_tiles(gFieldObjectPic_Steven_0), + obj_frame_tiles(gFieldObjectPic_Steven_1), + obj_frame_tiles(gFieldObjectPic_Steven_2), + obj_frame_tiles(gFieldObjectPic_Steven_3), + obj_frame_tiles(gFieldObjectPic_Steven_4), + obj_frame_tiles(gFieldObjectPic_Steven_5), + obj_frame_tiles(gFieldObjectPic_Steven_6), + obj_frame_tiles(gFieldObjectPic_Steven_7), + obj_frame_tiles(gFieldObjectPic_Steven_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Wally[] = { + obj_frame_tiles(gFieldObjectPic_Wally_0), + obj_frame_tiles(gFieldObjectPic_Wally_1), + obj_frame_tiles(gFieldObjectPic_Wally_2), + obj_frame_tiles(gFieldObjectPic_Wally_3), + obj_frame_tiles(gFieldObjectPic_Wally_4), + obj_frame_tiles(gFieldObjectPic_Wally_5), + obj_frame_tiles(gFieldObjectPic_Wally_6), + obj_frame_tiles(gFieldObjectPic_Wally_7), + obj_frame_tiles(gFieldObjectPic_Wally_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RubySapphireLittleBoy[] = { + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_0), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_1), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_2), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_3), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_4), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_5), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_6), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_7), + obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanFishing[] = { + obj_frame_tiles(gFieldObjectPic_BrendanFishing_0), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_1), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_2), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_3), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_4), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_5), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_6), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_7), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_8), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_9), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_10), + obj_frame_tiles(gFieldObjectPic_BrendanFishing_11), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayFishing[] = { + obj_frame_tiles(gFieldObjectPic_MayFishing_0), + obj_frame_tiles(gFieldObjectPic_MayFishing_1), + obj_frame_tiles(gFieldObjectPic_MayFishing_2), + obj_frame_tiles(gFieldObjectPic_MayFishing_3), + obj_frame_tiles(gFieldObjectPic_MayFishing_4), + obj_frame_tiles(gFieldObjectPic_MayFishing_5), + obj_frame_tiles(gFieldObjectPic_MayFishing_6), + obj_frame_tiles(gFieldObjectPic_MayFishing_7), + obj_frame_tiles(gFieldObjectPic_MayFishing_8), + obj_frame_tiles(gFieldObjectPic_MayFishing_9), + obj_frame_tiles(gFieldObjectPic_MayFishing_10), + obj_frame_tiles(gFieldObjectPic_MayFishing_11), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_HotSpringsOldWoman[] = { + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_0), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_1), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_2), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_3), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_4), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_5), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_6), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_7), + obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SSTidal[] = { + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), + obj_frame_tiles(gFieldObjectPic_SSTidal), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SubmarineShadow[] = { + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), + obj_frame_tiles(gFieldObjectPic_SubmarineShadow), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_PichuDoll[] = { + obj_frame_tiles(gFieldObjectPic_PichuDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_PikachuDoll[] = { + obj_frame_tiles(gFieldObjectPic_PikachuDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MarillDoll[] = { + obj_frame_tiles(gFieldObjectPic_MarillDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TogepiDoll[] = { + obj_frame_tiles(gFieldObjectPic_TogepiDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_CyndaquilDoll[] = { + obj_frame_tiles(gFieldObjectPic_CyndaquilDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ChikoritaDoll[] = { + obj_frame_tiles(gFieldObjectPic_ChikoritaDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TotodileDoll[] = { + obj_frame_tiles(gFieldObjectPic_TotodileDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_JigglypuffDoll[] = { + obj_frame_tiles(gFieldObjectPic_JigglypuffDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MeowthDoll[] = { + obj_frame_tiles(gFieldObjectPic_MeowthDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ClefairyDoll[] = { + obj_frame_tiles(gFieldObjectPic_ClefairyDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_DittoDoll[] = { + obj_frame_tiles(gFieldObjectPic_DittoDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SmoochumDoll[] = { + obj_frame_tiles(gFieldObjectPic_SmoochumDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TreeckoDoll[] = { + obj_frame_tiles(gFieldObjectPic_TreeckoDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TorchicDoll[] = { + obj_frame_tiles(gFieldObjectPic_TorchicDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MudkipDoll[] = { + obj_frame_tiles(gFieldObjectPic_MudkipDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_DuskullDoll[] = { + obj_frame_tiles(gFieldObjectPic_DuskullDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_WynautDoll[] = { + obj_frame_tiles(gFieldObjectPic_WynautDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BaltoyDoll[] = { + obj_frame_tiles(gFieldObjectPic_BaltoyDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_KecleonDoll[] = { + obj_frame_tiles(gFieldObjectPic_KecleonDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_AzurillDoll[] = { + obj_frame_tiles(gFieldObjectPic_AzurillDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SkittyDoll[] = { + obj_frame_tiles(gFieldObjectPic_SkittyDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SwabluDoll[] = { + obj_frame_tiles(gFieldObjectPic_SwabluDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_GulpinDoll[] = { + obj_frame_tiles(gFieldObjectPic_GulpinDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_LotadDoll[] = { + obj_frame_tiles(gFieldObjectPic_LotadDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SeedotDoll[] = { + obj_frame_tiles(gFieldObjectPic_SeedotDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_PikaCushion[] = { + obj_frame_tiles(gFieldObjectPic_PikaCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RoundCushion[] = { + obj_frame_tiles(gFieldObjectPic_RoundCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_KissCushion[] = { + obj_frame_tiles(gFieldObjectPic_KissCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ZigzagCushion[] = { + obj_frame_tiles(gFieldObjectPic_ZigzagCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_SpinCushion[] = { + obj_frame_tiles(gFieldObjectPic_SpinCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_DiamondCushion[] = { + obj_frame_tiles(gFieldObjectPic_DiamondCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BallCushion[] = { + obj_frame_tiles(gFieldObjectPic_BallCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_GrassCushion[] = { + obj_frame_tiles(gFieldObjectPic_GrassCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_FireCushion[] = { + obj_frame_tiles(gFieldObjectPic_FireCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_WaterCushion[] = { + obj_frame_tiles(gFieldObjectPic_WaterCushion), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigSnorlaxDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigSnorlaxDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigRhydonDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigRhydonDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigLaprasDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigLaprasDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigVenusaurDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigVenusaurDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigCharizardDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigCharizardDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigBlastoiseDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigBlastoiseDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigWailmerDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigWailmerDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigRegirockDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigRegirockDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigRegiceDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigRegiceDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BigRegisteelDoll[] = { + obj_frame_tiles(gFieldObjectPic_BigRegisteelDoll), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_LatiasLatios[] = { + obj_frame_tiles(gFieldObjectPic_LatiasLatios_0), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_0), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_0), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_1), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_2), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_1), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_2), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_1), + obj_frame_tiles(gFieldObjectPic_LatiasLatios_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Boy5[] = { + obj_frame_tiles(gFieldObjectPic_Boy5_0), + obj_frame_tiles(gFieldObjectPic_Boy5_1), + obj_frame_tiles(gFieldObjectPic_Boy5_2), + obj_frame_tiles(gFieldObjectPic_Boy5_0), + obj_frame_tiles(gFieldObjectPic_Boy5_0), + obj_frame_tiles(gFieldObjectPic_Boy5_1), + obj_frame_tiles(gFieldObjectPic_Boy5_1), + obj_frame_tiles(gFieldObjectPic_Boy5_2), + obj_frame_tiles(gFieldObjectPic_Boy5_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_ContestOldMan[] = { + obj_frame_tiles(gFieldObjectPic_ContestOldMan_0), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_1), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_2), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_3), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_4), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_5), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_6), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_7), + obj_frame_tiles(gFieldObjectPic_ContestOldMan_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanWatering[] = { + obj_frame_tiles(gFieldObjectPic_BrendanWatering_0), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_1), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_2), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_3), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_3), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_4), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_4), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_5), + obj_frame_tiles(gFieldObjectPic_BrendanWatering_5), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayWatering[] = { + obj_frame_tiles(gFieldObjectPic_MayWatering_0), + obj_frame_tiles(gFieldObjectPic_MayWatering_1), + obj_frame_tiles(gFieldObjectPic_MayWatering_2), + obj_frame_tiles(gFieldObjectPic_MayWatering_3), + obj_frame_tiles(gFieldObjectPic_MayWatering_3), + obj_frame_tiles(gFieldObjectPic_MayWatering_4), + obj_frame_tiles(gFieldObjectPic_MayWatering_4), + obj_frame_tiles(gFieldObjectPic_MayWatering_5), + obj_frame_tiles(gFieldObjectPic_MayWatering_5), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BrendanDecorating[] = { + obj_frame_tiles(gFieldObjectPic_BrendanDecorating), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MayDecorating[] = { + obj_frame_tiles(gFieldObjectPic_MayDecorating), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Archie[] = { + obj_frame_tiles(gFieldObjectPic_Archie_0), + obj_frame_tiles(gFieldObjectPic_Archie_1), + obj_frame_tiles(gFieldObjectPic_Archie_2), + obj_frame_tiles(gFieldObjectPic_Archie_3), + obj_frame_tiles(gFieldObjectPic_Archie_4), + obj_frame_tiles(gFieldObjectPic_Archie_5), + obj_frame_tiles(gFieldObjectPic_Archie_6), + obj_frame_tiles(gFieldObjectPic_Archie_7), + obj_frame_tiles(gFieldObjectPic_Archie_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Maxie[] = { + obj_frame_tiles(gFieldObjectPic_Maxie_0), + obj_frame_tiles(gFieldObjectPic_Maxie_1), + obj_frame_tiles(gFieldObjectPic_Maxie_2), + obj_frame_tiles(gFieldObjectPic_Maxie_3), + obj_frame_tiles(gFieldObjectPic_Maxie_4), + obj_frame_tiles(gFieldObjectPic_Maxie_5), + obj_frame_tiles(gFieldObjectPic_Maxie_6), + obj_frame_tiles(gFieldObjectPic_Maxie_7), + obj_frame_tiles(gFieldObjectPic_Maxie_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_KyogreFront[] = { + obj_frame_tiles(gFieldObjectPic_KyogreFront_0), + obj_frame_tiles(gFieldObjectPic_KyogreFront_0), + obj_frame_tiles(gFieldObjectPic_KyogreFront_0), + obj_frame_tiles(gFieldObjectPic_KyogreFront_1), + obj_frame_tiles(gFieldObjectPic_KyogreFront_1), + obj_frame_tiles(gFieldObjectPic_KyogreFront_1), + obj_frame_tiles(gFieldObjectPic_KyogreFront_1), + obj_frame_tiles(gFieldObjectPic_KyogreFront_1), + obj_frame_tiles(gFieldObjectPic_KyogreFront_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_GroudonFront[] = { + obj_frame_tiles(gFieldObjectPic_GroudonFront_0), + obj_frame_tiles(gFieldObjectPic_GroudonFront_0), + obj_frame_tiles(gFieldObjectPic_GroudonFront_0), + obj_frame_tiles(gFieldObjectPic_GroudonFront_1), + obj_frame_tiles(gFieldObjectPic_GroudonFront_1), + obj_frame_tiles(gFieldObjectPic_GroudonFront_1), + obj_frame_tiles(gFieldObjectPic_GroudonFront_1), + obj_frame_tiles(gFieldObjectPic_GroudonFront_1), + obj_frame_tiles(gFieldObjectPic_GroudonFront_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_KyogreSide[] = { + obj_frame_tiles(gFieldObjectPic_KyogreSide_0), + obj_frame_tiles(gFieldObjectPic_KyogreSide_0), + obj_frame_tiles(gFieldObjectPic_KyogreSide_0), + obj_frame_tiles(gFieldObjectPic_KyogreSide_1), + obj_frame_tiles(gFieldObjectPic_KyogreSide_1), + obj_frame_tiles(gFieldObjectPic_KyogreSide_1), + obj_frame_tiles(gFieldObjectPic_KyogreSide_1), + obj_frame_tiles(gFieldObjectPic_KyogreSide_1), + obj_frame_tiles(gFieldObjectPic_KyogreSide_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_GroudonSide[] = { + obj_frame_tiles(gFieldObjectPic_GroudonSide_0), + obj_frame_tiles(gFieldObjectPic_GroudonSide_0), + obj_frame_tiles(gFieldObjectPic_GroudonSide_0), + obj_frame_tiles(gFieldObjectPic_GroudonSide_1), + obj_frame_tiles(gFieldObjectPic_GroudonSide_1), + obj_frame_tiles(gFieldObjectPic_GroudonSide_1), + obj_frame_tiles(gFieldObjectPic_GroudonSide_1), + obj_frame_tiles(gFieldObjectPic_GroudonSide_1), + obj_frame_tiles(gFieldObjectPic_GroudonSide_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Fossil[] = { + obj_frame_tiles(gFieldObjectPic_Fossil), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Regi[] = { + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), + obj_frame_tiles(gFieldObjectPic_Regi), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Skitty[] = { + obj_frame_tiles(gFieldObjectPic_Skitty_0), + obj_frame_tiles(gFieldObjectPic_Skitty_1), + obj_frame_tiles(gFieldObjectPic_Skitty_2), + obj_frame_tiles(gFieldObjectPic_Skitty_0), + obj_frame_tiles(gFieldObjectPic_Skitty_0), + obj_frame_tiles(gFieldObjectPic_Skitty_1), + obj_frame_tiles(gFieldObjectPic_Skitty_1), + obj_frame_tiles(gFieldObjectPic_Skitty_2), + obj_frame_tiles(gFieldObjectPic_Skitty_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Kecleon[] = { + obj_frame_tiles(gFieldObjectPic_Kecleon_0), + obj_frame_tiles(gFieldObjectPic_Kecleon_1), + obj_frame_tiles(gFieldObjectPic_Kecleon_2), + obj_frame_tiles(gFieldObjectPic_Kecleon_0), + obj_frame_tiles(gFieldObjectPic_Kecleon_0), + obj_frame_tiles(gFieldObjectPic_Kecleon_1), + obj_frame_tiles(gFieldObjectPic_Kecleon_1), + obj_frame_tiles(gFieldObjectPic_Kecleon_2), + obj_frame_tiles(gFieldObjectPic_Kecleon_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Rayquaza[] = { + obj_frame_tiles(gFieldObjectPic_Rayquaza_0), + obj_frame_tiles(gFieldObjectPic_Rayquaza_1), + obj_frame_tiles(gFieldObjectPic_Rayquaza_2), + obj_frame_tiles(gFieldObjectPic_Rayquaza_3), + obj_frame_tiles(gFieldObjectPic_Rayquaza_4), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RayquazaStill[] = { + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), + obj_frame_tiles(gFieldObjectPic_RayquazaStill), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Zigzagoon[] = { + obj_frame_tiles(gFieldObjectPic_Zigzagoon_0), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_1), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_2), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_0), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_0), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_1), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_1), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_2), + obj_frame_tiles(gFieldObjectPic_Zigzagoon_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Pikachu[] = { + obj_frame_tiles(gFieldObjectPic_Pikachu_0), + obj_frame_tiles(gFieldObjectPic_Pikachu_1), + obj_frame_tiles(gFieldObjectPic_Pikachu_2), + obj_frame_tiles(gFieldObjectPic_Pikachu_0), + obj_frame_tiles(gFieldObjectPic_Pikachu_0), + obj_frame_tiles(gFieldObjectPic_Pikachu_1), + obj_frame_tiles(gFieldObjectPic_Pikachu_1), + obj_frame_tiles(gFieldObjectPic_Pikachu_2), + obj_frame_tiles(gFieldObjectPic_Pikachu_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Azumarill[] = { + obj_frame_tiles(gFieldObjectPic_Azumarill_0), + obj_frame_tiles(gFieldObjectPic_Azumarill_1), + obj_frame_tiles(gFieldObjectPic_Azumarill_2), + obj_frame_tiles(gFieldObjectPic_Azumarill_0), + obj_frame_tiles(gFieldObjectPic_Azumarill_0), + obj_frame_tiles(gFieldObjectPic_Azumarill_1), + obj_frame_tiles(gFieldObjectPic_Azumarill_1), + obj_frame_tiles(gFieldObjectPic_Azumarill_2), + obj_frame_tiles(gFieldObjectPic_Azumarill_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Wingull[] = { + obj_frame_tiles(gFieldObjectPic_Wingull_0), + obj_frame_tiles(gFieldObjectPic_Wingull_1), + obj_frame_tiles(gFieldObjectPic_Wingull_2), + obj_frame_tiles(gFieldObjectPic_Wingull_3), + obj_frame_tiles(gFieldObjectPic_Wingull_3), + obj_frame_tiles(gFieldObjectPic_Wingull_4), + obj_frame_tiles(gFieldObjectPic_Wingull_4), + obj_frame_tiles(gFieldObjectPic_Wingull_5), + obj_frame_tiles(gFieldObjectPic_Wingull_5), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_TuberMSwimming[] = { + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_0), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_1), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_2), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_3), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_4), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_5), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_6), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_7), + obj_frame_tiles(gFieldObjectPic_TuberMSwimming_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Azurill[] = { + obj_frame_tiles(gFieldObjectPic_Azurill_0), + obj_frame_tiles(gFieldObjectPic_Azurill_1), + obj_frame_tiles(gFieldObjectPic_Azurill_2), + obj_frame_tiles(gFieldObjectPic_Azurill_0), + obj_frame_tiles(gFieldObjectPic_Azurill_0), + obj_frame_tiles(gFieldObjectPic_Azurill_1), + obj_frame_tiles(gFieldObjectPic_Azurill_1), + obj_frame_tiles(gFieldObjectPic_Azurill_2), + obj_frame_tiles(gFieldObjectPic_Azurill_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Mom[] = { + obj_frame_tiles(gFieldObjectPic_Mom_0), + obj_frame_tiles(gFieldObjectPic_Mom_1), + obj_frame_tiles(gFieldObjectPic_Mom_2), + obj_frame_tiles(gFieldObjectPic_Mom_3), + obj_frame_tiles(gFieldObjectPic_Mom_4), + obj_frame_tiles(gFieldObjectPic_Mom_5), + obj_frame_tiles(gFieldObjectPic_Mom_6), + obj_frame_tiles(gFieldObjectPic_Mom_7), + obj_frame_tiles(gFieldObjectPic_Mom_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Scott[] = { + obj_frame_tiles(gFieldObjectPic_Scott_0), + obj_frame_tiles(gFieldObjectPic_Scott_1), + obj_frame_tiles(gFieldObjectPic_Scott_2), + obj_frame_tiles(gFieldObjectPic_Scott_3), + obj_frame_tiles(gFieldObjectPic_Scott_4), + obj_frame_tiles(gFieldObjectPic_Scott_5), + obj_frame_tiles(gFieldObjectPic_Scott_6), + obj_frame_tiles(gFieldObjectPic_Scott_7), + obj_frame_tiles(gFieldObjectPic_Scott_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Juan[] = { + obj_frame_tiles(gFieldObjectPic_Juan_0), + obj_frame_tiles(gFieldObjectPic_Juan_1), + obj_frame_tiles(gFieldObjectPic_Juan_2), + obj_frame_tiles(gFieldObjectPic_Juan_3), + obj_frame_tiles(gFieldObjectPic_Juan_4), + obj_frame_tiles(gFieldObjectPic_Juan_5), + obj_frame_tiles(gFieldObjectPic_Juan_6), + obj_frame_tiles(gFieldObjectPic_Juan_7), + obj_frame_tiles(gFieldObjectPic_Juan_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_MysteryEventDeliveryman[] = { + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_0), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_1), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_2), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_0), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_0), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_1), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_1), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_2), + obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Statue[] = { + obj_frame_tiles(gFieldObjectPic_Statue), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Dusclops[] = { + obj_frame_tiles(gFieldObjectPic_Dusclops_0), + obj_frame_tiles(gFieldObjectPic_Dusclops_1), + obj_frame_tiles(gFieldObjectPic_Dusclops_2), + obj_frame_tiles(gFieldObjectPic_Dusclops_3), + obj_frame_tiles(gFieldObjectPic_Dusclops_4), + obj_frame_tiles(gFieldObjectPic_Dusclops_5), + obj_frame_tiles(gFieldObjectPic_Dusclops_6), + obj_frame_tiles(gFieldObjectPic_Dusclops_7), + obj_frame_tiles(gFieldObjectPic_Dusclops_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Kirlia[] = { + obj_frame_tiles(gFieldObjectPic_Kirlia_0), + obj_frame_tiles(gFieldObjectPic_Kirlia_1), + obj_frame_tiles(gFieldObjectPic_Kirlia_2), + obj_frame_tiles(gFieldObjectPic_Kirlia_3), + obj_frame_tiles(gFieldObjectPic_Kirlia_4), + obj_frame_tiles(gFieldObjectPic_Kirlia_5), + obj_frame_tiles(gFieldObjectPic_Kirlia_6), + obj_frame_tiles(gFieldObjectPic_Kirlia_7), + obj_frame_tiles(gFieldObjectPic_Kirlia_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_UnionRoomAttendant[] = { + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_0), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_1), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_2), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_0), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_0), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_1), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_1), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_2), + obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Sudowoodo[] = { + obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_1), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_1), + obj_frame_tiles(gFieldObjectPic_Sudowoodo_2), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Mew[] = { + obj_frame_tiles(gFieldObjectPic_Mew_0), + obj_frame_tiles(gFieldObjectPic_Mew_1), + obj_frame_tiles(gFieldObjectPic_Mew_2), + obj_frame_tiles(gFieldObjectPic_Mew_3), + obj_frame_tiles(gFieldObjectPic_Mew_4), + obj_frame_tiles(gFieldObjectPic_Mew_5), + obj_frame_tiles(gFieldObjectPic_Mew_6), + obj_frame_tiles(gFieldObjectPic_Mew_7), + obj_frame_tiles(gFieldObjectPic_Mew_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Red[] = { + obj_frame_tiles(gFieldObjectPic_Red_0), + obj_frame_tiles(gFieldObjectPic_Red_1), + obj_frame_tiles(gFieldObjectPic_Red_2), + obj_frame_tiles(gFieldObjectPic_Red_3), + obj_frame_tiles(gFieldObjectPic_Red_4), + obj_frame_tiles(gFieldObjectPic_Red_5), + obj_frame_tiles(gFieldObjectPic_Red_6), + obj_frame_tiles(gFieldObjectPic_Red_7), + obj_frame_tiles(gFieldObjectPic_Red_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Leaf[] = { + obj_frame_tiles(gFieldObjectPic_Leaf_0), + obj_frame_tiles(gFieldObjectPic_Leaf_1), + obj_frame_tiles(gFieldObjectPic_Leaf_2), + obj_frame_tiles(gFieldObjectPic_Leaf_3), + obj_frame_tiles(gFieldObjectPic_Leaf_4), + obj_frame_tiles(gFieldObjectPic_Leaf_5), + obj_frame_tiles(gFieldObjectPic_Leaf_6), + obj_frame_tiles(gFieldObjectPic_Leaf_7), + obj_frame_tiles(gFieldObjectPic_Leaf_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Deoxys[] = { + obj_frame_tiles(gFieldObjectPic_Deoxys_0), + obj_frame_tiles(gFieldObjectPic_Deoxys_0), + obj_frame_tiles(gFieldObjectPic_Deoxys_0), + obj_frame_tiles(gFieldObjectPic_Deoxys_0), + obj_frame_tiles(gFieldObjectPic_Deoxys_1), + obj_frame_tiles(gFieldObjectPic_Deoxys_0), + obj_frame_tiles(gFieldObjectPic_Deoxys_1), + obj_frame_tiles(gFieldObjectPic_Deoxys_0), + obj_frame_tiles(gFieldObjectPic_Deoxys_0), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_BirthIslandStone[] = { + obj_frame_tiles(gFieldObjectPic_BirthIslandStone), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Anabel[] = { + obj_frame_tiles(gFieldObjectPic_Anabel_0), + obj_frame_tiles(gFieldObjectPic_Anabel_1), + obj_frame_tiles(gFieldObjectPic_Anabel_2), + obj_frame_tiles(gFieldObjectPic_Anabel_3), + obj_frame_tiles(gFieldObjectPic_Anabel_4), + obj_frame_tiles(gFieldObjectPic_Anabel_5), + obj_frame_tiles(gFieldObjectPic_Anabel_6), + obj_frame_tiles(gFieldObjectPic_Anabel_7), + obj_frame_tiles(gFieldObjectPic_Anabel_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Tucker[] = { + obj_frame_tiles(gFieldObjectPic_Tucker_0), + obj_frame_tiles(gFieldObjectPic_Tucker_1), + obj_frame_tiles(gFieldObjectPic_Tucker_2), + obj_frame_tiles(gFieldObjectPic_Tucker_3), + obj_frame_tiles(gFieldObjectPic_Tucker_4), + obj_frame_tiles(gFieldObjectPic_Tucker_5), + obj_frame_tiles(gFieldObjectPic_Tucker_6), + obj_frame_tiles(gFieldObjectPic_Tucker_7), + obj_frame_tiles(gFieldObjectPic_Tucker_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Spenser[] = { + obj_frame_tiles(gFieldObjectPic_Spenser_0), + obj_frame_tiles(gFieldObjectPic_Spenser_1), + obj_frame_tiles(gFieldObjectPic_Spenser_2), + obj_frame_tiles(gFieldObjectPic_Spenser_3), + obj_frame_tiles(gFieldObjectPic_Spenser_4), + obj_frame_tiles(gFieldObjectPic_Spenser_5), + obj_frame_tiles(gFieldObjectPic_Spenser_6), + obj_frame_tiles(gFieldObjectPic_Spenser_7), + obj_frame_tiles(gFieldObjectPic_Spenser_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Greta[] = { + obj_frame_tiles(gFieldObjectPic_Greta_0), + obj_frame_tiles(gFieldObjectPic_Greta_1), + obj_frame_tiles(gFieldObjectPic_Greta_2), + obj_frame_tiles(gFieldObjectPic_Greta_3), + obj_frame_tiles(gFieldObjectPic_Greta_4), + obj_frame_tiles(gFieldObjectPic_Greta_5), + obj_frame_tiles(gFieldObjectPic_Greta_6), + obj_frame_tiles(gFieldObjectPic_Greta_7), + obj_frame_tiles(gFieldObjectPic_Greta_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Noland[] = { + obj_frame_tiles(gFieldObjectPic_Noland_0), + obj_frame_tiles(gFieldObjectPic_Noland_1), + obj_frame_tiles(gFieldObjectPic_Noland_2), + obj_frame_tiles(gFieldObjectPic_Noland_3), + obj_frame_tiles(gFieldObjectPic_Noland_4), + obj_frame_tiles(gFieldObjectPic_Noland_5), + obj_frame_tiles(gFieldObjectPic_Noland_6), + obj_frame_tiles(gFieldObjectPic_Noland_7), + obj_frame_tiles(gFieldObjectPic_Noland_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Lucy[] = { + obj_frame_tiles(gFieldObjectPic_Lucy_0), + obj_frame_tiles(gFieldObjectPic_Lucy_1), + obj_frame_tiles(gFieldObjectPic_Lucy_2), + obj_frame_tiles(gFieldObjectPic_Lucy_3), + obj_frame_tiles(gFieldObjectPic_Lucy_4), + obj_frame_tiles(gFieldObjectPic_Lucy_5), + obj_frame_tiles(gFieldObjectPic_Lucy_6), + obj_frame_tiles(gFieldObjectPic_Lucy_7), + obj_frame_tiles(gFieldObjectPic_Lucy_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Brandon[] = { + obj_frame_tiles(gFieldObjectPic_Brandon_0), + obj_frame_tiles(gFieldObjectPic_Brandon_1), + obj_frame_tiles(gFieldObjectPic_Brandon_2), + obj_frame_tiles(gFieldObjectPic_Brandon_3), + obj_frame_tiles(gFieldObjectPic_Brandon_4), + obj_frame_tiles(gFieldObjectPic_Brandon_5), + obj_frame_tiles(gFieldObjectPic_Brandon_6), + obj_frame_tiles(gFieldObjectPic_Brandon_7), + obj_frame_tiles(gFieldObjectPic_Brandon_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_Lugia[] = { + obj_frame_tiles(gFieldObjectPic_Lugia_0), + obj_frame_tiles(gFieldObjectPic_Lugia_0), + obj_frame_tiles(gFieldObjectPic_Lugia_0), + obj_frame_tiles(gFieldObjectPic_Lugia_0), + obj_frame_tiles(gFieldObjectPic_Lugia_1), + obj_frame_tiles(gFieldObjectPic_Lugia_0), + obj_frame_tiles(gFieldObjectPic_Lugia_1), + obj_frame_tiles(gFieldObjectPic_Lugia_0), + obj_frame_tiles(gFieldObjectPic_Lugia_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_HoOh[] = { + obj_frame_tiles(gFieldObjectPic_HoOh_0), + obj_frame_tiles(gFieldObjectPic_HoOh_0), + obj_frame_tiles(gFieldObjectPic_HoOh_0), + obj_frame_tiles(gFieldObjectPic_HoOh_0), + obj_frame_tiles(gFieldObjectPic_HoOh_1), + obj_frame_tiles(gFieldObjectPic_HoOh_0), + obj_frame_tiles(gFieldObjectPic_HoOh_1), + obj_frame_tiles(gFieldObjectPic_HoOh_0), + obj_frame_tiles(gFieldObjectPic_HoOh_1), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RubySapphireBrendan[] = { + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_0), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_1), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_2), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_3), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_4), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_5), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_6), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_7), + obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_8), +}; + +const struct SpriteFrameImage gFieldObjectPicTable_RubySapphireMay[] = { + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_0), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_1), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_2), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_3), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_4), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_5), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_6), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_7), + obj_frame_tiles(gFieldObjectPic_RubySapphireMay_8), +}; + +#endif //GUARD_EVENT_OBJECT_PIC_TABLES_H diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h new file mode 100755 index 000000000..2ed9023fa --- /dev/null +++ b/src/data/field_event_obj/event_object_subsprites.h @@ -0,0 +1,342 @@ +#ifndef GUARD_EVENT_OBJECT_SUBSPRITES_H +#define GUARD_EVENT_OBJECT_SUBSPRITES_H + +const struct Subsprite gFieldObjectSpriteOamTable_16x16_0[] = { + { -8, -8, 0, 1, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x16_1[] = { + { -8, -8, 0, 1, 0, 1} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x16_2[] = { + { -8, -8, 1, 0, 0, 2}, + { -8, 0, 1, 0, 2, 3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x16_3[] = { + { -8, -8, 0, 1, 0, 2}, + { -8, -8, 0, 1, 0, 3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x16_4[] = { + { -8, -8, 0, 1, 0, 1}, + { -8, -8, 0, 1, 0, 3} +}; + +const struct SubspriteTable gFieldObjectSpriteOamTables_16x16[] = { + {0, NULL}, + {1, gFieldObjectSpriteOamTable_16x16_0}, + {1, gFieldObjectSpriteOamTable_16x16_1}, + {2, gFieldObjectSpriteOamTable_16x16_2}, + {2, gFieldObjectSpriteOamTable_16x16_3}, + {2, gFieldObjectSpriteOamTable_16x16_4} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x32_0[] = { + { -8, -16, 2, 2, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x32_1[] = { + { -8, -16, 2, 2, 0, 1} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x32_2[] = { + { -8, -16, 0, 1, 0, 2}, + { -8, 0, 1, 0, 4, 2}, + { -8, 8, 1, 0, 6, 3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x32_3[] = { + { -8, -16, 0, 1, 0, 2}, + { -8, 0, 0, 1, 4, 3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_16x32_4[] = { + { -8, -16, 0, 1, 0, 1}, + { -8, 0, 0, 1, 4, 3} +}; + +const struct SubspriteTable gFieldObjectSpriteOamTables_16x32[] = { + {0, NULL}, + {1, gFieldObjectSpriteOamTable_16x32_0}, + {1, gFieldObjectSpriteOamTable_16x32_1}, + {3, gFieldObjectSpriteOamTable_16x32_2}, + {2, gFieldObjectSpriteOamTable_16x32_3}, + {2, gFieldObjectSpriteOamTable_16x32_4} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_32x32_0[] = { + {-16, -16, 0, 2, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_32x32_1[] = { + {-16, -16, 0, 2, 0, 1} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_32x32_2[] = { + {-16, -16, 1, 2, 0, 2}, + {-16, 0, 1, 1, 8, 2}, + {-16, 8, 1, 1, 12, 3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_32x32_3[] = { + {-16, -16, 1, 2, 0, 2}, + {-16, 0, 1, 2, 8, 3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_32x32_4[] = { + {-16, -16, 1, 2, 0, 1}, + {-16, 0, 1, 2, 8, 3} +}; + +const struct SubspriteTable gFieldObjectSpriteOamTables_32x32[] = { + {0, NULL}, + {1, gFieldObjectSpriteOamTable_32x32_0}, + {1, gFieldObjectSpriteOamTable_32x32_1}, + {3, gFieldObjectSpriteOamTable_32x32_2}, + {2, gFieldObjectSpriteOamTable_32x32_3}, + {2, gFieldObjectSpriteOamTable_32x32_4} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTables_Truck[] = { + {12, gFieldObjectSpriteOamTable_Truck_0}, + {12, gFieldObjectSpriteOamTable_Truck_0}, + {12, gFieldObjectSpriteOamTable_Truck_0}, + {12, gFieldObjectSpriteOamTable_Truck_0}, + {12, gFieldObjectSpriteOamTable_Truck_0}, + {12, gFieldObjectSpriteOamTable_Truck_0} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_Unused_0[] = { + {-32, -16, 1, 3, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_Unused_1[] = { + {-32, -16, 1, 3, 0, 1} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_Unused_2[] = { + {-32, -16, 1, 3, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_Unused_3[] = { + {-32, -16, 1, 3, 0, 2} +}; + +const struct SubspriteTable gFieldObjectSpriteOamTables_Unused[] = { + {0, NULL}, + {1, gFieldObjectSpriteOamTable_Unused_0}, + {1, gFieldObjectSpriteOamTable_Unused_1}, + {1, gFieldObjectSpriteOamTable_Unused_2}, + {1, gFieldObjectSpriteOamTable_Unused_3}, + {1, gFieldObjectSpriteOamTable_Unused_3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_64x64_0[] = { + {-32, -32, 0, 3, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_64x64_1[] = { + {-32, -32, 0, 3, 0, 1} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_64x64_2[] = { + {-32, -32, 0, 3, 0, 2} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_64x64_3[] = { + {-32, -32, 0, 3, 0, 2} +}; + +const struct SubspriteTable gFieldObjectSpriteOamTables_64x64[] = { + {0, NULL}, + {1, gFieldObjectSpriteOamTable_64x64_0}, + {1, gFieldObjectSpriteOamTable_64x64_1}, + {1, gFieldObjectSpriteOamTable_64x64_2}, + {1, gFieldObjectSpriteOamTable_64x64_3}, + {1, gFieldObjectSpriteOamTable_64x64_3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTables_SSTidal[] = { + {15, gFieldObjectSpriteOamTable_SSTidal_0}, + {15, gFieldObjectSpriteOamTable_SSTidal_0}, + {15, gFieldObjectSpriteOamTable_SSTidal_1}, + {15, gFieldObjectSpriteOamTable_SSTidal_2}, + {15, gFieldObjectSpriteOamTable_SSTidal_3}, + {15, gFieldObjectSpriteOamTable_SSTidal_3} +}; + +const struct Subsprite gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTable_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 gFieldObjectSpriteOamTables_SubmarineShadow[] = { + {16, gFieldObjectSpriteOamTable_SubmarineShadow_0}, + {16, gFieldObjectSpriteOamTable_SubmarineShadow_0}, + {16, gFieldObjectSpriteOamTable_SubmarineShadow_1}, + {16, gFieldObjectSpriteOamTable_SubmarineShadow_2}, + {16, gFieldObjectSpriteOamTable_SubmarineShadow_3}, + {16, gFieldObjectSpriteOamTable_SubmarineShadow_3} +}; + +#endif //GUARD_EVENT_OBJECT_SUBSPRITES_H diff --git a/src/data/field_event_obj/field_effect_object_template_pointers.h b/src/data/field_event_obj/field_effect_object_template_pointers.h new file mode 100755 index 000000000..3b08a5ff1 --- /dev/null +++ b/src/data/field_event_obj/field_effect_object_template_pointers.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 diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h new file mode 100755 index 000000000..30a2297bd --- /dev/null +++ b/src/data/field_event_obj/field_effect_objects.h @@ -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, &gFieldObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, oamc_shadow}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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, &gFieldObjectBaseOam_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*)gFieldObjectPic_Rayquaza_0, .size = (sizeof gFieldObjectPic_Rayquaza_0) / 4} +}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; + +const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gFieldObjectPalette2, 0x1011}; + +#endif //GUARD_FIELD_EFFECT_OBJECTS_H diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h new file mode 100755 index 000000000..86dc61345 --- /dev/null +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -0,0 +1,1499 @@ +#ifndef GUARD_MOVEMENT_ACTION_FUNC_TABLES_H +#define GUARD_MOVEMENT_ACTION_FUNC_TABLES_H + +u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); +u8 sub_8093950(struct MapObject *, struct Sprite *); +u8 sub_80964BC(struct MapObject *, struct Sprite *); +u8 sub_8093960(struct MapObject *, struct Sprite *); +u8 sub_8093970(struct MapObject *, struct Sprite *); +u8 sub_8093980(struct MapObject *, struct Sprite *); +u8 sub_8093BC4(struct MapObject *, struct Sprite *); +u8 sub_8093BC4_2(struct MapObject *, struct Sprite *); +u8 sub_8093C04(struct MapObject *, struct Sprite *); +u8 sub_8093C04_2(struct MapObject *, struct Sprite *); +u8 sub_8093C44(struct MapObject *, struct Sprite *); +u8 sub_8093C44_2(struct MapObject *, struct Sprite *); +u8 sub_8093C84(struct MapObject *, struct Sprite *); +u8 sub_8093C84_2(struct MapObject *, struct Sprite *); +u8 sub_8093CC4(struct MapObject *, struct Sprite *); +u8 sub_8093CC4_2(struct MapObject *, struct Sprite *); +u8 sub_8093D04(struct MapObject *, struct Sprite *); +u8 sub_8093D04_2(struct MapObject *, struct Sprite *); +u8 sub_8093D44(struct MapObject *, struct Sprite *); +u8 sub_8093D44_2(struct MapObject *, struct Sprite *); +u8 sub_8093D84(struct MapObject *, struct Sprite *); +u8 sub_8093D84_2(struct MapObject *, struct Sprite *); +u8 sub_8093DC4(struct MapObject *, struct Sprite *); +u8 sub_8093DC4_2(struct MapObject *, struct Sprite *); +u8 sub_8093E04(struct MapObject *, struct Sprite *); +u8 sub_8093E04_2(struct MapObject *, struct Sprite *); +u8 sub_8093E44(struct MapObject *, struct Sprite *); +u8 sub_8093E44_2(struct MapObject *, struct Sprite *); +u8 sub_8093E84(struct MapObject *, struct Sprite *); +u8 sub_8093E84_2(struct MapObject *, struct Sprite *); +u8 sub_8093EC4(struct MapObject *, struct Sprite *); +u8 sub_8093EC4_2(struct MapObject *, struct Sprite *); +u8 sub_8093F04(struct MapObject *, struct Sprite *); +u8 sub_8093F04_2(struct MapObject *, struct Sprite *); +u8 sub_8093F44(struct MapObject *, struct Sprite *); +u8 sub_8093F44_2(struct MapObject *, struct Sprite *); +u8 sub_8093F84(struct MapObject *, struct Sprite *); +u8 sub_8093F84_2(struct MapObject *, struct Sprite *); +u8 sub_8094230(struct MapObject *, struct Sprite *); +u8 sub_8094230_2(struct MapObject *, struct Sprite *); +u8 sub_8094288(struct MapObject *, struct Sprite *); +u8 sub_8094288_2(struct MapObject *, struct Sprite *); +u8 sub_80942E0(struct MapObject *, struct Sprite *); +u8 sub_80942E0_2(struct MapObject *, struct Sprite *); +u8 sub_8094338(struct MapObject *, struct Sprite *); +u8 sub_8094338_2(struct MapObject *, struct Sprite *); +u8 sub_80943B4(struct MapObject *, struct Sprite *); +u8 sub_8094398(struct MapObject *, struct Sprite *); +u8 sub_80964B8(struct MapObject *, struct Sprite *); +u8 sub_80943D4(struct MapObject *, struct Sprite *); +u8 sub_80943F4(struct MapObject *, struct Sprite *); +u8 sub_8094414(struct MapObject *, struct Sprite *); +u8 sub_8094434(struct MapObject *, struct Sprite *); +u8 sub_8094454(struct MapObject *, struct Sprite *); +u8 sub_8094454_2(struct MapObject *, struct Sprite *); +u8 sub_8094494(struct MapObject *, struct Sprite *); +u8 sub_8094494_2(struct MapObject *, struct Sprite *); +u8 sub_80944D4(struct MapObject *, struct Sprite *); +u8 sub_80944D4_2(struct MapObject *, struct Sprite *); +u8 sub_8094514(struct MapObject *, struct Sprite *); +u8 sub_8094514_2(struct MapObject *, struct Sprite *); +u8 sub_8094600(struct MapObject *, struct Sprite *); +u8 sub_80945C4(struct MapObject *, struct Sprite *); +u8 sub_8094638(struct MapObject *, struct Sprite *); +u8 sub_8094670(struct MapObject *, struct Sprite *); +u8 sub_80946A8(struct MapObject *, struct Sprite *); +u8 sub_80946E0(struct MapObject *, struct Sprite *); +u8 sub_809459C(struct MapObject *, struct Sprite *); +u8 sub_8094718(struct MapObject *, struct Sprite *); +u8 sub_8094750(struct MapObject *, struct Sprite *); +u8 sub_8094788(struct MapObject *, struct Sprite *); +u8 sub_80947C0(struct MapObject *, struct Sprite *); +u8 sub_80947F8(struct MapObject *, struct Sprite *); +u8 sub_8094830(struct MapObject *, struct Sprite *); +u8 sub_8094868(struct MapObject *, struct Sprite *); +u8 sub_80948A0(struct MapObject *, struct Sprite *); +u8 sub_80948D8(struct MapObject *, struct Sprite *); +u8 sub_8094910(struct MapObject *, struct Sprite *); +u8 sub_8094948(struct MapObject *, struct Sprite *); +u8 sub_8094980(struct MapObject *, struct Sprite *); +u8 sub_8094980_2(struct MapObject *, struct Sprite *); +u8 sub_80949C0(struct MapObject *, struct Sprite *); +u8 sub_80949C0_2(struct MapObject *, struct Sprite *); +u8 sub_8094A00(struct MapObject *, struct Sprite *); +u8 sub_8094A00_2(struct MapObject *, struct Sprite *); +u8 sub_8094A40(struct MapObject *, struct Sprite *); +u8 sub_8094A40_2(struct MapObject *, struct Sprite *); +u8 sub_8094A80(struct MapObject *, struct Sprite *); +u8 sub_8094A80_2(struct MapObject *, struct Sprite *); +u8 sub_8094AC0(struct MapObject *, struct Sprite *); +u8 sub_8094AC0_2(struct MapObject *, struct Sprite *); +u8 sub_8094B00(struct MapObject *, struct Sprite *); +u8 sub_8094B00_2(struct MapObject *, struct Sprite *); +u8 sub_8094B40(struct MapObject *, struct Sprite *); +u8 sub_8094B40_2(struct MapObject *, struct Sprite *); +u8 sub_8094B80(struct MapObject *, struct Sprite *); +u8 sub_8094B80_2(struct MapObject *, struct Sprite *); +u8 sub_8094BC0(struct MapObject *, struct Sprite *); +u8 sub_8094BC0_2(struct MapObject *, struct Sprite *); +u8 sub_8094C00(struct MapObject *, struct Sprite *); +u8 sub_8094C00_2(struct MapObject *, struct Sprite *); +u8 sub_8094C40(struct MapObject *, struct Sprite *); +u8 sub_8094C40_2(struct MapObject *, struct Sprite *); +u8 sub_8094C80(struct MapObject *, struct Sprite *); +u8 sub_8094C80_2(struct MapObject *, struct Sprite *); +u8 sub_8094CC0(struct MapObject *, struct Sprite *); +u8 sub_8094CC0_2(struct MapObject *, struct Sprite *); +u8 sub_8094D00(struct MapObject *, struct Sprite *); +u8 sub_8094D00_2(struct MapObject *, struct Sprite *); +u8 sub_8094D40(struct MapObject *, struct Sprite *); +u8 sub_8094D40_2(struct MapObject *, struct Sprite *); +u8 sub_8094DAC(struct MapObject *, struct Sprite *); +u8 sub_8094DC4(struct MapObject *, struct Sprite *); +u8 sub_8094E18(struct MapObject *, struct Sprite *); +u8 sub_8094E18_2(struct MapObject *, struct Sprite *); +u8 sub_8094E60(struct MapObject *, struct Sprite *); +u8 sub_8094E60_2(struct MapObject *, struct Sprite *); +u8 sub_8094EB8(struct MapObject *, struct Sprite *); +u8 sub_8094EB8_2(struct MapObject *, struct Sprite *); +u8 sub_8094710(struct MapObject *, struct Sprite *); +u8 sub_8094710_2(struct MapObject *, struct Sprite *); +u8 sub_8094F38(struct MapObject *, struct Sprite *); +u8 sub_8094F94(struct MapObject *, struct Sprite *); +u8 sub_8094FF8(struct MapObject *, struct Sprite *); +u8 sub_8095008(struct MapObject *, struct Sprite *); +u8 sub_8095018(struct MapObject *, struct Sprite *); +u8 sub_8095018_2(struct MapObject *, struct Sprite *); +u8 sub_8095070(struct MapObject *, struct Sprite *); +u8 sub_8095070_2(struct MapObject *, struct Sprite *); +u8 sub_80950C8(struct MapObject *, struct Sprite *); +u8 sub_80950C8_2(struct MapObject *, struct Sprite *); +u8 sub_8095120(struct MapObject *, struct Sprite *); +u8 sub_8095120_2(struct MapObject *, struct Sprite *); +u8 sub_8095178(struct MapObject *, struct Sprite *); +u8 sub_8095178_2(struct MapObject *, struct Sprite *); +u8 sub_80951D0(struct MapObject *, struct Sprite *); +u8 sub_80951D0_2(struct MapObject *, struct Sprite *); +u8 sub_8095228(struct MapObject *, struct Sprite *); +u8 sub_8095228_2(struct MapObject *, struct Sprite *); +u8 sub_8095280(struct MapObject *, struct Sprite *); +u8 sub_8095280_2(struct MapObject *, struct Sprite *); +u8 sub_80952D8(struct MapObject *, struct Sprite *); +u8 sub_80952D8_2(struct MapObject *, struct Sprite *); +u8 sub_8095330(struct MapObject *, struct Sprite *); +u8 sub_8095330_2(struct MapObject *, struct Sprite *); +u8 sub_8095388(struct MapObject *, struct Sprite *); +u8 sub_8095388_2(struct MapObject *, struct Sprite *); +u8 sub_80953E0(struct MapObject *, struct Sprite *); +u8 sub_80953E0_2(struct MapObject *, struct Sprite *); +u8 sub_8095438(struct MapObject *, struct Sprite *); +u8 sub_8095450(struct MapObject *, struct Sprite *); +u8 sub_8095460(struct MapObject *, struct Sprite *); +u8 sub_8095470(struct MapObject *, struct Sprite *); +u8 sub_8095480(struct MapObject *, struct Sprite *); +u8 sub_8095490(struct MapObject *, struct Sprite *); +u8 sub_80954BC(struct MapObject *, struct Sprite *); +u8 sub_80954CC(struct MapObject *, struct Sprite *); +u8 do_exclamation_mark_bubble_1(struct MapObject *, struct Sprite *); +u8 do_exclamation_mark_bubble_2(struct MapObject *, struct Sprite *); +u8 do_heart_bubble(struct MapObject *, struct Sprite *); +u8 sub_8095548(struct MapObject *, struct Sprite *); +u8 sub_809558C(struct MapObject *, struct Sprite *); +u8 sub_80955AC(struct MapObject *, struct Sprite *); +u8 sub_80955C8(struct MapObject *, struct Sprite *); +u8 sub_80955EC(struct MapObject *, struct Sprite *); +u8 sub_8095628(struct MapObject *, struct Sprite *); +u8 sub_8095644(struct MapObject *, struct Sprite *); +u8 sub_8095668(struct MapObject *, struct Sprite *); +u8 sub_80956A4(struct MapObject *, struct Sprite *); +u8 sub_80956B4(struct MapObject *, struct Sprite *); +u8 sub_80956C4(struct MapObject *, struct Sprite *); +u8 sub_80956F4(struct MapObject *, struct Sprite *); +u8 sub_8095724(struct MapObject *, struct Sprite *); +u8 sub_8095730(struct MapObject *, struct Sprite *); +u8 sub_8095740(struct MapObject *, struct Sprite *); +u8 sub_8095740_2(struct MapObject *, struct Sprite *); +u8 sub_80957A0(struct MapObject *, struct Sprite *); +u8 sub_80957A0_2(struct MapObject *, struct Sprite *); +u8 sub_8095800(struct MapObject *, struct Sprite *); +u8 sub_8095800_2(struct MapObject *, struct Sprite *); +u8 sub_8095860(struct MapObject *, struct Sprite *); +u8 sub_8095860_2(struct MapObject *, struct Sprite *); +u8 sub_8095900(struct MapObject *, struct Sprite *); +u8 sub_8095910(struct MapObject *, struct Sprite *); +u8 sub_8095920(struct MapObject *, struct Sprite *); +u8 sub_8095930(struct MapObject *, struct Sprite *); +u8 sub_8095940(struct MapObject *, struct Sprite *); +u8 sub_8095964(struct MapObject *, struct Sprite *); +u8 sub_8095988(struct MapObject *, struct Sprite *); +u8 sub_80959AC(struct MapObject *, struct Sprite *); +u8 sub_80959D0(struct MapObject *, struct Sprite *); +u8 sub_80959F4(struct MapObject *, struct Sprite *); +u8 sub_8095A18(struct MapObject *, struct Sprite *); +u8 sub_8095A3C(struct MapObject *, struct Sprite *); +u8 sub_8095A60(struct MapObject *, struct Sprite *); +u8 sub_8095A84(struct MapObject *, struct Sprite *); +u8 sub_8095AA8(struct MapObject *, struct Sprite *); +u8 sub_8095ACC(struct MapObject *, struct Sprite *); +u8 sub_8095B44(struct MapObject *, struct Sprite *); +u8 sub_8095B64(struct MapObject *, struct Sprite *); +u8 sub_8095BC8(struct MapObject *, struct Sprite *); +u8 sub_8095BC8_2(struct MapObject *, struct Sprite *); +u8 sub_8095C20(struct MapObject *, struct Sprite *); +u8 sub_8095C20_2(struct MapObject *, struct Sprite *); +u8 sub_8095C78(struct MapObject *, struct Sprite *); +u8 sub_8095C78_2(struct MapObject *, struct Sprite *); +u8 sub_8095CD0(struct MapObject *, struct Sprite *); +u8 sub_8095CD0_2(struct MapObject *, struct Sprite *); +u8 sub_8095D28(struct MapObject *, struct Sprite *); +u8 sub_8095D28_2(struct MapObject *, struct Sprite *); +u8 sub_8095D80(struct MapObject *, struct Sprite *); +u8 sub_8095D80_2(struct MapObject *, struct Sprite *); +u8 sub_8095DD8(struct MapObject *, struct Sprite *); +u8 sub_8095DD8_2(struct MapObject *, struct Sprite *); +u8 sub_8095E30(struct MapObject *, struct Sprite *); +u8 sub_8095E30_2(struct MapObject *, struct Sprite *); +u8 sub_8095E88(struct MapObject *, struct Sprite *); +u8 sub_8095E88_2(struct MapObject *, struct Sprite *); +u8 sub_8095EE0(struct MapObject *, struct Sprite *); +u8 sub_8095EE0_2(struct MapObject *, struct Sprite *); +u8 sub_8095F38(struct MapObject *, struct Sprite *); +u8 sub_8095F38_2(struct MapObject *, struct Sprite *); +u8 sub_8095F90(struct MapObject *, struct Sprite *); +u8 sub_8095F90_2(struct MapObject *, struct Sprite *); +u8 sub_8095FE8(struct MapObject *, struct Sprite *); +u8 sub_8096020(struct MapObject *, struct Sprite *); +u8 sub_8096058(struct MapObject *, struct Sprite *); +u8 sub_8096090(struct MapObject *, struct Sprite *); +u8 sub_8096100(struct MapObject *, struct Sprite *); +u8 sub_8096100_2(struct MapObject *, struct Sprite *); +u8 sub_8096140(struct MapObject *, struct Sprite *); +u8 sub_8096140_2(struct MapObject *, struct Sprite *); +u8 sub_8096180(struct MapObject *, struct Sprite *); +u8 sub_8096180_2(struct MapObject *, struct Sprite *); +u8 sub_80961C0(struct MapObject *, struct Sprite *); +u8 sub_80961C0_2(struct MapObject *, struct Sprite *); +u8 sub_8096230(struct MapObject *, struct Sprite *); +u8 sub_8096230_2(struct MapObject *, struct Sprite *); +u8 sub_8096270(struct MapObject *, struct Sprite *); +u8 sub_8096270_2(struct MapObject *, struct Sprite *); +u8 sub_80962B0(struct MapObject *, struct Sprite *); +u8 sub_80962B0_2(struct MapObject *, struct Sprite *); +u8 sub_80962F0(struct MapObject *, struct Sprite *); +u8 sub_80962F0_2(struct MapObject *, struct Sprite *); +u8 sub_8096368(struct MapObject *, struct Sprite *); +u8 sub_8096368_2(struct MapObject *, struct Sprite *); +u8 sub_80963A8(struct MapObject *, struct Sprite *); +u8 sub_80963A8_2(struct MapObject *, struct Sprite *); +u8 sub_80963E8(struct MapObject *, struct Sprite *); +u8 sub_80963E8_2(struct MapObject *, struct Sprite *); +u8 sub_8096428(struct MapObject *, struct Sprite *); +u8 sub_8096428_2(struct MapObject *, struct Sprite *); +u8 sub_8096468(struct MapObject *, struct Sprite *); +u8 sub_809647C(struct MapObject *, struct Sprite *); +u8 sub_8096494(struct MapObject *, struct Sprite *); + + +u8 (*const gUnknown_0850DEC8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DED0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DED8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DEE0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF2C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF38[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF44[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF50[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF8C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF98[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFA4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFB0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFC8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFD4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFE0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFEC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DFF8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E004[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E010[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E01C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E028[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E034[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E040[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E04C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E058[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E064[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E070[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E07C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E088[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E094[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0A0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0AC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0B8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0C4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0D0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0DC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0E8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E0F4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E100[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E10C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E118[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E124[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E130[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E13C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E148[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E154[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E160[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E16C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E178[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E184[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E190[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E19C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1A8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1B4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1C0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1CC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1D8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1E4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1F0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E1FC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E208[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E214[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E220[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E228[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E230[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E238[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E240[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E24C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E258[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E264[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E270[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E27C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E288[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E294[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2A0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2AC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2B8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2C4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2D0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2D8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2E4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2EC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2F4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E2FC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E304[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E30C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E314[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E31C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E324[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E32C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E338[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E348[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E358[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E360[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E368[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E370[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E378[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E380[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E388[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E394[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3B8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3C0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3C8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3D0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3D8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3E4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3F0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3FC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E408[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E414[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E420[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E42C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E474[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E480[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E48C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E498[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4A4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4B0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4BC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4C8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4D4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4E0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4EC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E4F8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E504[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E510[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E51C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E528[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E534[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E540[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E54C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E558[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E564[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E570[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E57C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E588[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E594[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E5A0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E5AC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E5B8[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF5C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF68[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF74[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF80[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DEFC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF08[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF14[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850DF20[])(struct MapObject *, struct Sprite *); +extern u8 (*const gUnknown_0850E854[])(struct MapObject *, struct Sprite *); +extern u8 (*const gUnknown_0850E85C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3A0[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E3AC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E5C4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E5CC[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E5D4[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E468[])(struct MapObject *, struct Sprite *); +extern u8 (*const gUnknown_0850E864[])(struct MapObject *, struct Sprite *); +extern u8 (*const gUnknown_0850E870[])(struct MapObject *, struct Sprite *); + +u8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *) = { + gUnknown_0850DEC8, + gUnknown_0850DED0, + gUnknown_0850DED8, + gUnknown_0850DEE0, + gUnknown_0850DF2C, + gUnknown_0850DF38, + gUnknown_0850DF44, + gUnknown_0850DF50, + gUnknown_0850DF8C, + gUnknown_0850DF98, + gUnknown_0850DFA4, + gUnknown_0850DFB0, + gUnknown_0850DFC8, + gUnknown_0850DFD4, + gUnknown_0850DFE0, + gUnknown_0850DFEC, + gUnknown_0850DFF8, + gUnknown_0850E004, + gUnknown_0850E010, + gUnknown_0850E01C, + gUnknown_0850E028, + gUnknown_0850E034, + gUnknown_0850E040, + gUnknown_0850E04C, + gUnknown_0850E058, + gUnknown_0850E064, + gUnknown_0850E070, + gUnknown_0850E07C, + gUnknown_0850E088, + gUnknown_0850E094, + gUnknown_0850E0A0, + gUnknown_0850E0AC, + gUnknown_0850E0B8, + gUnknown_0850E0C4, + gUnknown_0850E0D0, + gUnknown_0850E0DC, + gUnknown_0850E0E8, + gUnknown_0850E0F4, + gUnknown_0850E100, + gUnknown_0850E10C, + gUnknown_0850E118, + gUnknown_0850E124, + gUnknown_0850E130, + gUnknown_0850E13C, + gUnknown_0850E148, + gUnknown_0850E154, + gUnknown_0850E160, + gUnknown_0850E16C, + gUnknown_0850E178, + gUnknown_0850E184, + gUnknown_0850E190, + gUnknown_0850E19C, + gUnknown_0850E1A8, + gUnknown_0850E1B4, + gUnknown_0850E1C0, + gUnknown_0850E1CC, + gUnknown_0850E1D8, + gUnknown_0850E1E4, + gUnknown_0850E1F0, + gUnknown_0850E1FC, + gUnknown_0850E208, + gUnknown_0850E214, + gUnknown_0850E220, + gUnknown_0850E228, + gUnknown_0850E230, + gUnknown_0850E238, + gUnknown_0850E240, + gUnknown_0850E24C, + gUnknown_0850E258, + gUnknown_0850E264, + gUnknown_0850E270, + gUnknown_0850E27C, + gUnknown_0850E288, + gUnknown_0850E294, + gUnknown_0850E2A0, + gUnknown_0850E2AC, + gUnknown_0850E2B8, + gUnknown_0850E2C4, + gUnknown_0850E2D0, + gUnknown_0850E2D8, + gUnknown_0850E2E4, + gUnknown_0850E2EC, + gUnknown_0850E2F4, + gUnknown_0850E2FC, + gUnknown_0850E304, + gUnknown_0850E30C, + gUnknown_0850E314, + gUnknown_0850E31C, + gUnknown_0850E324, + gUnknown_0850E32C, + gUnknown_0850E338, + gUnknown_0850E348, + gUnknown_0850E358, + gUnknown_0850E360, + gUnknown_0850E368, + gUnknown_0850E370, + gUnknown_0850E378, + gUnknown_0850E380, + gUnknown_0850E388, + gUnknown_0850E394, + gUnknown_0850E3B8, + gUnknown_0850E3C0, + gUnknown_0850E3C8, + gUnknown_0850E3D0, + gUnknown_0850E3D8, + gUnknown_0850E3E4, + gUnknown_0850E3F0, + gUnknown_0850E3FC, + gUnknown_0850E408, + gUnknown_0850E414, + gUnknown_0850E420, + gUnknown_0850E42C, + gUnknown_0850E474, + gUnknown_0850E480, + gUnknown_0850E48C, + gUnknown_0850E498, + gUnknown_0850E4A4, + gUnknown_0850E4B0, + gUnknown_0850E4BC, + gUnknown_0850E4C8, + gUnknown_0850E4D4, + gUnknown_0850E4E0, + gUnknown_0850E4EC, + gUnknown_0850E4F8, + gUnknown_0850E504, + gUnknown_0850E510, + gUnknown_0850E51C, + gUnknown_0850E528, + gUnknown_0850E534, + gUnknown_0850E540, + gUnknown_0850E54C, + gUnknown_0850E558, + gUnknown_0850E564, + gUnknown_0850E570, + gUnknown_0850E57C, + gUnknown_0850E588, + gUnknown_0850E594, + gUnknown_0850E5A0, + gUnknown_0850E5AC, + gUnknown_0850E5B8, + gUnknown_0850DF5C, + gUnknown_0850DF68, + gUnknown_0850DF74, + gUnknown_0850DF80, + gUnknown_0850DEFC, + gUnknown_0850DF08, + gUnknown_0850DF14, + gUnknown_0850DF20, + gUnknown_0850E854, + gUnknown_0850E85C, + gUnknown_0850E3A0, + gUnknown_0850E3AC, + gUnknown_0850E5C4, + gUnknown_0850E5CC, + gUnknown_0850E5D4, + gUnknown_0850E468, + gUnknown_0850E864, + gUnknown_0850E870, +}; + +u8 (*const gUnknown_0850DEC8[])(struct MapObject *, struct Sprite *) = { + sub_8093950, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DED0[])(struct MapObject *, struct Sprite *) = { + sub_8093960, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DED8[])(struct MapObject *, struct Sprite *) = { + sub_8093970, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DEE0[])(struct MapObject *, struct Sprite *) = { + sub_8093980, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DEE8[])(u8) = { + get_go_image_anim_num, + get_go_fast_image_anim_num, + get_go_fast_image_anim_num, + get_go_faster_image_anim_num, + get_go_fastest_image_anim_num, +}; + +u8 (*const gUnknown_0850DEFC[])(struct MapObject *, struct Sprite *) = { + sub_8093BC4, + sub_8093BC4_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF08[])(struct MapObject *, struct Sprite *) = { + sub_8093C04, + sub_8093C04_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF14[])(struct MapObject *, struct Sprite *) = { + sub_8093C44, + sub_8093C44_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF20[])(struct MapObject *, struct Sprite *) = { + sub_8093C84, + sub_8093C84_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF2C[])(struct MapObject *, struct Sprite *) = { + sub_8093CC4, + sub_8093CC4_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF38[])(struct MapObject *, struct Sprite *) = { + sub_8093D04, + sub_8093D04_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF44[])(struct MapObject *, struct Sprite *) = { + sub_8093D44, + sub_8093D44_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF50[])(struct MapObject *, struct Sprite *) = { + sub_8093D84, + sub_8093D84_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF5C[])(struct MapObject *, struct Sprite *) = { + sub_8093DC4, + sub_8093DC4_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF68[])(struct MapObject *, struct Sprite *) = { + sub_8093E04, + sub_8093E04_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF74[])(struct MapObject *, struct Sprite *) = { + sub_8093E44, + sub_8093E44_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF80[])(struct MapObject *, struct Sprite *) = { + sub_8093E84, + sub_8093E84_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF8C[])(struct MapObject *, struct Sprite *) = { + sub_8093EC4, + sub_8093EC4_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DF98[])(struct MapObject *, struct Sprite *) = { + sub_8093F04, + sub_8093F04_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DFA4[])(struct MapObject *, struct Sprite *) = { + sub_8093F44, + sub_8093F44_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DFB0[])(struct MapObject *, struct Sprite *) = { + sub_8093F84, + sub_8093F84_2, + sub_80964BC, +}; + +const s16 gUnknown_0850DFBC[] = {0, 1, 1}; +const s16 gUnknown_0850DFC2[] = {0, 0, 1}; + +u8 (*const gUnknown_0850DFC8[])(struct MapObject *, struct Sprite *) = { + sub_8094230, + sub_8094230_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DFD4[])(struct MapObject *, struct Sprite *) = { + sub_8094288, + sub_8094288_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DFE0[])(struct MapObject *, struct Sprite *) = { + sub_80942E0, + sub_80942E0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DFEC[])(struct MapObject *, struct Sprite *) = { + sub_8094338, + sub_8094338_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850DFF8[])(struct MapObject *, struct Sprite *) = { + sub_80943B4, + sub_8094398, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E004[])(struct MapObject *, struct Sprite *) = { + sub_80943D4, + sub_8094398, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E010[])(struct MapObject *, struct Sprite *) = { + sub_80943F4, + sub_8094398, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E01C[])(struct MapObject *, struct Sprite *) = { + sub_8094414, + sub_8094398, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E028[])(struct MapObject *, struct Sprite *) = { + sub_8094434, + sub_8094398, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E034[])(struct MapObject *, struct Sprite *) = { + sub_8094454, + sub_8094454_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E040[])(struct MapObject *, struct Sprite *) = { + sub_8094494, + sub_8094494_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E04C[])(struct MapObject *, struct Sprite *) = { + sub_80944D4, + sub_80944D4_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E058[])(struct MapObject *, struct Sprite *) = { + sub_8094514, + sub_8094514_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E064[])(struct MapObject *, struct Sprite *) = { + sub_8094600, + sub_80945C4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E070[])(struct MapObject *, struct Sprite *) = { + sub_8094638, + sub_80945C4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E07C[])(struct MapObject *, struct Sprite *) = { + sub_8094670, + sub_80945C4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E088[])(struct MapObject *, struct Sprite *) = { + sub_80946A8, + sub_80945C4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E094[])(struct MapObject *, struct Sprite *) = { + sub_80946E0, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0A0[])(struct MapObject *, struct Sprite *) = { + sub_8094718, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0AC[])(struct MapObject *, struct Sprite *) = { + sub_8094750, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0B8[])(struct MapObject *, struct Sprite *) = { + sub_8094788, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0C4[])(struct MapObject *, struct Sprite *) = { + sub_80947C0, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0D0[])(struct MapObject *, struct Sprite *) = { + sub_80947F8, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0DC[])(struct MapObject *, struct Sprite *) = { + sub_8094830, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0E8[])(struct MapObject *, struct Sprite *) = { + sub_8094868, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E0F4[])(struct MapObject *, struct Sprite *) = { + sub_80948A0, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E100[])(struct MapObject *, struct Sprite *) = { + sub_80948D8, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E10C[])(struct MapObject *, struct Sprite *) = { + sub_8094910, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E118[])(struct MapObject *, struct Sprite *) = { + sub_8094948, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E124[])(struct MapObject *, struct Sprite *) = { + sub_8094980, + sub_8094980_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E130[])(struct MapObject *, struct Sprite *) = { + sub_80949C0, + sub_80949C0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E13C[])(struct MapObject *, struct Sprite *) = { + sub_8094A00, + sub_8094A00_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E148[])(struct MapObject *, struct Sprite *) = { + sub_8094A40, + sub_8094A40_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E154[])(struct MapObject *, struct Sprite *) = { + sub_8094A80, + sub_8094A80_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E160[])(struct MapObject *, struct Sprite *) = { + sub_8094AC0, + sub_8094AC0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E16C[])(struct MapObject *, struct Sprite *) = { + sub_8094B00, + sub_8094B00_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E178[])(struct MapObject *, struct Sprite *) = { + sub_8094B40, + sub_8094B40_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E184[])(struct MapObject *, struct Sprite *) = { + sub_8094B80, + sub_8094B80_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E190[])(struct MapObject *, struct Sprite *) = { + sub_8094BC0, + sub_8094BC0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E19C[])(struct MapObject *, struct Sprite *) = { + sub_8094C00, + sub_8094C00_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1A8[])(struct MapObject *, struct Sprite *) = { + sub_8094C40, + sub_8094C40_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1B4[])(struct MapObject *, struct Sprite *) = { + sub_8094C80, + sub_8094C80_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1C0[])(struct MapObject *, struct Sprite *) = { + sub_8094CC0, + sub_8094CC0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1CC[])(struct MapObject *, struct Sprite *) = { + sub_8094D00, + sub_8094D00_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1D8[])(struct MapObject *, struct Sprite *) = { + sub_8094D40, + sub_8094D40_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1E4[])(struct MapObject *, struct Sprite *) = { + sub_8094DAC, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1F0[])(struct MapObject *, struct Sprite *) = { + sub_8094E18, + sub_8094E18_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E1FC[])(struct MapObject *, struct Sprite *) = { + sub_8094E60, + sub_8094E60_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E208[])(struct MapObject *, struct Sprite *) = { + sub_8094EB8, + sub_8094EB8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E214[])(struct MapObject *, struct Sprite *) = { + sub_8094710, + sub_8094710_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E220[])(struct MapObject *, struct Sprite *) = { + sub_8094F38, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E228[])(struct MapObject *, struct Sprite *) = { + sub_8094F94, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E230[])(struct MapObject *, struct Sprite *) = { + sub_8094FF8, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E238[])(struct MapObject *, struct Sprite *) = { + sub_8095008, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E240[])(struct MapObject *, struct Sprite *) = { + sub_8095018, + sub_8095018_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E24C[])(struct MapObject *, struct Sprite *) = { + sub_8095070, + sub_8095070_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E258[])(struct MapObject *, struct Sprite *) = { + sub_80950C8, + sub_80950C8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E264[])(struct MapObject *, struct Sprite *) = { + sub_8095120, + sub_8095120_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E270[])(struct MapObject *, struct Sprite *) = { + sub_8095178, + sub_8095178_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E27C[])(struct MapObject *, struct Sprite *) = { + sub_80951D0, + sub_80951D0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E288[])(struct MapObject *, struct Sprite *) = { + sub_8095228, + sub_8095228_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E294[])(struct MapObject *, struct Sprite *) = { + sub_8095280, + sub_8095280_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2A0[])(struct MapObject *, struct Sprite *) = { + sub_80952D8, + sub_80952D8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2AC[])(struct MapObject *, struct Sprite *) = { + sub_8095330, + sub_8095330_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2B8[])(struct MapObject *, struct Sprite *) = { + sub_8095388, + sub_8095388_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2C4[])(struct MapObject *, struct Sprite *) = { + sub_80953E0, + sub_80953E0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2D0[])(struct MapObject *, struct Sprite *) = { + sub_8095438, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2D8[])(struct MapObject *, struct Sprite *) = { + sub_8095450, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E2E4[])(struct MapObject *, struct Sprite *) = { + sub_8095460, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E2EC[])(struct MapObject *, struct Sprite *) = { + sub_8095470, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E2F4[])(struct MapObject *, struct Sprite *) = { + sub_8095480, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E2FC[])(struct MapObject *, struct Sprite *) = { + sub_8095490, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E304[])(struct MapObject *, struct Sprite *) = { + sub_80954BC, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E30C[])(struct MapObject *, struct Sprite *) = { + sub_80954CC, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E314[])(struct MapObject *, struct Sprite *) = { + do_exclamation_mark_bubble_1, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E31C[])(struct MapObject *, struct Sprite *) = { + do_exclamation_mark_bubble_2, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E324[])(struct MapObject *, struct Sprite *) = { + do_heart_bubble, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E32C[])(struct MapObject *, struct Sprite *) = { + sub_8095548, + sub_809558C, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E338[])(struct MapObject *, struct Sprite *) = { + sub_80955AC, + sub_80955C8, + sub_80955EC, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E348[])(struct MapObject *, struct Sprite *) = { + sub_8095628, + sub_8095644, + sub_8095668, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E358[])(struct MapObject *, struct Sprite *) = { + sub_80956A4, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E360[])(struct MapObject *, struct Sprite *) = { + sub_80956B4, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E368[])(struct MapObject *, struct Sprite *) = { + sub_80956C4, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E370[])(struct MapObject *, struct Sprite *) = { + sub_80956F4, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E378[])(struct MapObject *, struct Sprite *) = { + sub_8095724, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E380[])(struct MapObject *, struct Sprite *) = { + sub_8095730, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E388[])(struct MapObject *, struct Sprite *) = { + sub_8095740, + sub_8095740_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E394[])(struct MapObject *, struct Sprite *) = { + sub_80957A0, + sub_80957A0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3A0[])(struct MapObject *, struct Sprite *) = { + sub_8095800, + sub_8095800_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3AC[])(struct MapObject *, struct Sprite *) = { + sub_8095860, + sub_8095860_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3B8[])(struct MapObject *, struct Sprite *) = { + sub_8095900, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3C0[])(struct MapObject *, struct Sprite *) = { + sub_8095910, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3C8[])(struct MapObject *, struct Sprite *) = { + sub_8095920, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3D0[])(struct MapObject *, struct Sprite *) = { + sub_8095930, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3D8[])(struct MapObject *, struct Sprite *) = { + sub_8095940, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3E4[])(struct MapObject *, struct Sprite *) = { + sub_8095964, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3F0[])(struct MapObject *, struct Sprite *) = { + sub_8095988, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E3FC[])(struct MapObject *, struct Sprite *) = { + sub_80959AC, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E408[])(struct MapObject *, struct Sprite *) = { + sub_80959D0, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E414[])(struct MapObject *, struct Sprite *) = { + sub_80959F4, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E420[])(struct MapObject *, struct Sprite *) = { + sub_8095A18, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E42C[])(struct MapObject *, struct Sprite *) = { + sub_8095A3C, + sub_8094DC4, + sub_80964BC, + sub_8095A60, + sub_8094DC4, + sub_80964BC, + sub_8095A84, + sub_8094DC4, + sub_80964BC, + sub_8095AA8, + sub_8094DC4, + sub_80964BC, + sub_8095ACC, + sub_8094DC4, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E468[])(struct MapObject *, struct Sprite *) = { + sub_8095B44, + sub_8095B64, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E474[])(struct MapObject *, struct Sprite *) = { + sub_8095BC8, + sub_8095BC8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E480[])(struct MapObject *, struct Sprite *) = { + sub_8095C20, + sub_8095C20_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E48C[])(struct MapObject *, struct Sprite *) = { + sub_8095C78, + sub_8095C78_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E498[])(struct MapObject *, struct Sprite *) = { + sub_8095CD0, + sub_8095CD0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4A4[])(struct MapObject *, struct Sprite *) = { + sub_8095D28, + sub_8095D28_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4B0[])(struct MapObject *, struct Sprite *) = { + sub_8095D80, + sub_8095D80_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4BC[])(struct MapObject *, struct Sprite *) = { + sub_8095DD8, + sub_8095DD8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4C8[])(struct MapObject *, struct Sprite *) = { + sub_8095E30, + sub_8095E30_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4D4[])(struct MapObject *, struct Sprite *) = { + sub_8095E88, + sub_8095E88_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4E0[])(struct MapObject *, struct Sprite *) = { + sub_8095EE0, + sub_8095EE0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4EC[])(struct MapObject *, struct Sprite *) = { + sub_8095F38, + sub_8095F38_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E4F8[])(struct MapObject *, struct Sprite *) = { + sub_8095F90, + sub_8095F90_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E504[])(struct MapObject *, struct Sprite *) = { + sub_8095FE8, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E510[])(struct MapObject *, struct Sprite *) = { + sub_8096020, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E51C[])(struct MapObject *, struct Sprite *) = { + sub_8096058, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E528[])(struct MapObject *, struct Sprite *) = { + sub_8096090, + sub_809459C, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E534[])(struct MapObject *, struct Sprite *) = { + sub_8096100, + sub_8096100_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E540[])(struct MapObject *, struct Sprite *) = { + sub_8096140, + sub_8096140_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E54C[])(struct MapObject *, struct Sprite *) = { + sub_8096180, + sub_8096180_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E558[])(struct MapObject *, struct Sprite *) = { + sub_80961C0, + sub_80961C0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E564[])(struct MapObject *, struct Sprite *) = { + sub_8096230, + sub_8096230_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E570[])(struct MapObject *, struct Sprite *) = { + sub_8096270, + sub_8096270_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E57C[])(struct MapObject *, struct Sprite *) = { + sub_80962B0, + sub_80962B0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E588[])(struct MapObject *, struct Sprite *) = { + sub_80962F0, + sub_80962F0_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E594[])(struct MapObject *, struct Sprite *) = { + sub_8096368, + sub_8096368_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E5A0[])(struct MapObject *, struct Sprite *) = { + sub_80963A8, + sub_80963A8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E5AC[])(struct MapObject *, struct Sprite *) = { + sub_80963E8, + sub_80963E8_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E5B8[])(struct MapObject *, struct Sprite *) = { + sub_8096428, + sub_8096428_2, + sub_80964BC, +}; + +u8 (*const gUnknown_0850E5C4[])(struct MapObject *, struct Sprite *) = { + sub_8096468, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E5CC[])(struct MapObject *, struct Sprite *) = { + sub_809647C, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E5D4[])(struct MapObject *, struct Sprite *) = { + sub_8096494, + sub_80964B8, +}; + +#endif //GUARD_MOVEMENT_ACTION_FUNC_TABLES_H diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h new file mode 100755 index 000000000..3334c4b5e --- /dev/null +++ b/src/data/field_event_obj/movement_type_func_tables.h @@ -0,0 +1,443 @@ +#ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H +#define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H + +u8 (*const gUnknown_0850D6F4[])(struct MapObject *, struct Sprite *) = { + sub_808F44C, + sub_808F460, + sub_808F48C, + sub_808F4C8, + sub_808F4E8, + sub_808F534, + sub_808F564, +}; + +const u8 gUnknown_0850D710[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_0850D714[])(s16, s16, s16, s16) = { + GetRegularRunningPastFacingDirection, + GetNorthSouthRunningPastFacingDirection, + GetEastWestRunningPastFacingDirection, + GetNorthEastRunningPastFacingDirection, + GetNorthWestRunningPastFacingDirection, + GetSouthEastRunningPastFacingDirection, + GetSouthWestRunningPastFacingDirection, + GetNonEastRunningPastFacingDirection, + GetNonWestRunningPastFacingDirection, + GetNonSouthRunningPastFacingDirection, + GetNonNorthRunningPastFacingDirection, +}; + +u8 (*const gUnknown_0850D740[])(struct MapObject *, struct Sprite *) = { + sub_808F988, + sub_808F99C, + sub_808F9C8, + sub_808FA0C, + sub_808FA3C, +}; + +u8 (*const gUnknown_0850D754[])(struct MapObject *, struct Sprite *) = { + sub_808FAC8, + sub_808FADC, + sub_808FB08, + sub_808FB44, + sub_808FB64, + sub_808FBB0, + sub_808FBE0, +}; + +const u8 gUnknown_0850D770[] = {DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_0850D774[])(struct MapObject *, struct Sprite *) = { + sub_808FC4C, + sub_808FC60, + sub_808FC8C, + sub_808FCC8, + sub_808FCE8, + sub_808FD34, + sub_808FD64, +}; + +const u8 gUnknown_0850D790[] = {DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_0850D794[])(struct MapObject *, struct Sprite *) = { + sub_808FDD0, + sub_808FDFC, + sub_808FE1C, +}; + +u8 (*const gUnknown_0850D7A0[])(struct MapObject *, struct Sprite *) = { + do_berry_tree_growth_sparkle_1, + sub_808FF48, + do_berry_tree_growth_sparkle_2, + sub_808FFB4, + sub_8090004, +}; + +u8 (*const gUnknown_0850D7B4[])(struct MapObject *, struct Sprite *) = { + sub_8090094, + sub_80900A8, + sub_80900D4, + sub_8090118, + sub_8090148, +}; + +u8 (*const gUnknown_0850D7C8[])(struct MapObject *, struct Sprite *) = { + sub_80901D4, + sub_80901E8, + sub_8090214, + sub_8090258, + sub_8090288, +}; + +u8 (*const gUnknown_0850D7DC[])(struct MapObject *, struct Sprite *) = { + sub_8090314, + sub_8090328, + sub_8090354, + sub_8090398, + sub_80903C8, +}; + +const u8 gUnknown_0850D7F0[] = {DIR_NORTH, DIR_WEST}; + +u8 (*const gUnknown_0850D7F4[])(struct MapObject *, struct Sprite *) = { + sub_8090454, + sub_8090468, + sub_8090494, + sub_80904D8, + sub_8090508, +}; + +const u8 gUnknown_0850D808[] = {DIR_NORTH, DIR_EAST}; + +u8 (*const gUnknown_0850D80C[])(struct MapObject *, struct Sprite *) = { + sub_8090594, + sub_80905A8, + sub_80905D4, + sub_8090618, + sub_8090648, +}; + +const u8 gUnknown_0850D820[] = {DIR_SOUTH, DIR_WEST}; + +u8 (*const gUnknown_0850D824[])(struct MapObject *, struct Sprite *) = { + sub_80906D4, + sub_80906E8, + sub_8090714, + sub_8090758, + sub_8090788, +}; + +const u8 gUnknown_0850D838[] = {DIR_SOUTH, DIR_EAST}; + +u8 (*const gUnknown_0850D83C[])(struct MapObject *, struct Sprite *) = { + sub_8090814, + sub_8090828, + sub_8090854, + sub_8090898, + sub_80908C8, +}; + +const u8 gUnknown_0850D850[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gUnknown_0850D854[])(struct MapObject *, struct Sprite *) = { + sub_8090954, + sub_8090968, + sub_8090994, + sub_80909D8, + sub_8090A08, +}; + +const u8 gUnknown_0850D868[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gUnknown_0850D86C[])(struct MapObject *, struct Sprite *) = { + sub_8090A94, + sub_8090AA8, + sub_8090AD4, + sub_8090B18, + sub_8090B48, +}; + +const u8 gUnknown_0850D880[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gUnknown_0850D884[])(struct MapObject *, struct Sprite *) = { + sub_8090BD4, + sub_8090BE8, + sub_8090C14, + sub_8090C58, + sub_8090C88, +}; + +const u8 gUnknown_0850D898[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; + +u8 (*const gUnknown_0850D89C[])(struct MapObject *, struct Sprite *) = { + sub_8090D14, + sub_8090D40, + sub_8090D64, + sub_8090D90, +}; + +const u8 gUnknown_0850D8AC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_0850D8B4[])(struct MapObject *, struct Sprite *) = { + sub_8090E18, + sub_8090E44, + sub_8090E68, + sub_8090E94, +}; + +const u8 gUnknown_0850D8C4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gUnknown_0850D8CC[])(struct MapObject *, struct Sprite *) = { + sub_8090F1C, + sub_8090F30, + sub_8090F68, + sub_8091020, +}; + +u8 (*const gUnknown_0850D8DC[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_809117C, + sub_8091110, +}; + +const u8 gUnknown_0850D8E8[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; + +u8 (*const gUnknown_0850D8EC[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091208, + sub_8091110, +}; + +const u8 gUnknown_0850D8F8[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_0850D8FC[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091294, + sub_8091110, +}; + +const u8 gUnknown_0850D908[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; + +u8 (*const gUnknown_0850D90C[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091320, + sub_8091110, +}; + +const u8 gUnknown_0850D918[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; + +u8 (*const gUnknown_0850D91C[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_80913AC, + sub_8091110, +}; + +const u8 gUnknown_0850D928[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; + +u8 (*const gUnknown_0850D92C[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091438, + sub_8091110, +}; + +const u8 gUnknown_0850D938[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; + +u8 (*const gUnknown_0850D93C[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_80914C4, + sub_8091110, +}; + +u8 (*const gUnknown_0850D948[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091550, + sub_8091110, +}; + +const u8 gUnknown_0850D954[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; + +u8 (*const gUnknown_0850D958[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_80915DC, + sub_8091110, +}; + +const u8 gUnknown_0850D964[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; + +u8 (*const gUnknown_0850D968[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091668, + sub_8091110, +}; + +const u8 gUnknown_0850D974[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; + +u8 (*const gUnknown_0850D978[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_80916F4, + sub_8091110, +}; + +const u8 gUnknown_0850D984[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gUnknown_0850D988[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091780, + sub_8091110, +}; + +const u8 gUnknown_0850D994[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; + +u8 (*const gUnknown_0850D998[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_809180C, + sub_8091110, +}; + +const u8 gUnknown_0850D9A4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; + +u8 (*const gUnknown_0850D9A8[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091898, + sub_8091110, +}; + +const u8 gUnknown_0850D9B4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; + +u8 (*const gUnknown_0850D9B8[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091924, + sub_8091110, +}; + +const u8 gUnknown_0850D9C4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; + +u8 (*const gUnknown_0850D9C8[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_80919B0, + sub_8091110, +}; + +const u8 gUnknown_0850D9D4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; + +u8 (*const gUnknown_0850D9D8[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091A3C, + sub_8091110, +}; + +const u8 gUnknown_0850D9E4[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; + +u8 (*const gUnknown_0850D9E8[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091AC8, + sub_8091110, +}; + +const u8 gUnknown_0850D9F4[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; + +u8 (*const gUnknown_0850D9F8[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091B54, + sub_8091110, +}; + +const u8 gUnknown_0850DA04[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; + +u8 (*const gUnknown_0850DA08[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091BE0, + sub_8091110, +}; + +const u8 gUnknown_0850DA14[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; + +u8 (*const gUnknown_0850DA18[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091C6C, + sub_8091110, +}; + +const u8 gUnknown_0850DA24[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; + +u8 (*const gUnknown_0850DA28[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091CF8, + sub_8091110, +}; + +const u8 gUnknown_0850DA34[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; + +u8 (*const gUnknown_0850DA38[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091D84, + sub_8091110, +}; + +const u8 gUnknown_0850DA44[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; + +u8 (*const gUnknown_0850DA48[])(struct MapObject *, struct Sprite *) = { + sub_8091048, + sub_8091E10, + sub_8091110, +}; + +const u8 gUnknown_0850DA54[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; + +u8 (*const gUnknown_0850DA58[])(struct MapObject *, struct Sprite *) = { + mss_npc_reset_oampriv3_1_unk2_unk3, + sub_8091EC0, + sub_8091F20, +}; + +bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { + sub_8091F48, + sub_8091F4C, + sub_8091F94, + sub_80920A4, + sub_809215C, + sub_8092214, + cph_IM_DIFFERENT, + sub_8092314, + oac_hopping, + sub_8091F48, + sub_8091F48, +}; + +u8 (*const gUnknown_0850DA90[])(struct MapObject *, struct Sprite *) = { + mss_npc_reset_oampriv3_1_unk2_unk3, + mss_08062EA4, + sub_8091F20, +}; + +u8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *) = { + sub_80926AC, +}; + +u8 (*const gUnknown_0850DAA0[])(struct MapObject *, struct Sprite *) = { + sub_8092718, + sub_80926B8, +}; + +u8 (*const gUnknown_0850DAA8[])(struct MapObject *, struct Sprite *) = { + sub_8092788, + sub_80926B8, +}; + +u8 (*const gUnknown_0850DAB0[])(struct MapObject *, struct Sprite *) = { + sub_80927F8, + sub_80926B8, +}; + +u8 (*const gUnknown_0850DAB8[])(struct MapObject *, struct Sprite *) = { + sub_8092868, + sub_80926B8, +}; + +u8 (*const gUnknown_0850DAC0[])(struct MapObject *, struct Sprite *) = { + sub_80928D8, + sub_809290C, + sub_809292C, +}; + +#endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index a935f20d6..9943dd578 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -13,7 +13,6 @@ #include "event_data.h" #include "rom_818CFC8.h" #include "rom_81BE66C.h" -#include "event_object_movement_helpers.h" #include "mauville_old_man.h" #include "metatile_behavior.h" #include "field_effect.h" @@ -24,6 +23,7 @@ #include "event_object_movement.h" #include "pokenav.h" #include "util.h" +#include "constants/map_objects.h" #define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 @@ -70,6 +70,7 @@ bool8 sub(struct MapObject *mapObject, struct Sprite *sprite)\ extern u8 gUnknown_020375B4; extern u16 gUnknown_020375B6; +extern u8 *gUnknown_020375B8; // Static ROM declarations @@ -93,9 +94,10 @@ static u8 sub_808E8F4(const struct SpritePalette *); static u8 FindFieldObjectPaletteIndexByTag(u16); static void sub_808EAB0(u16, u8); static bool8 FieldObjectDoesZCoordMatch(struct MapObject *, u8); -//static void CameraObject_0(struct Sprite *); -/*static*/ void CameraObject_1(struct Sprite *); -//static void CameraObject_2(struct Sprite *); +static void ObjectCB_CameraObject(struct Sprite *); +static void CameraObject_0(struct Sprite *); +static void CameraObject_1(struct Sprite *); +static void CameraObject_2(struct Sprite *); /*static*/ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); void npc_reset(struct MapObject *, struct Sprite *); void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); @@ -129,52 +131,11 @@ static void npc_update_obj_anim_flag(struct MapObject *, struct Sprite *); // ROM data -extern void (*const gUnknown_08505438[NUM_FIELD_MAP_OBJECT_TEMPLATES])(struct Sprite *); -extern const u8 gRangedMovementTypes[NUM_FIELD_MAP_OBJECT_TEMPLATES]; -extern const u8 gInitialMovementTypeFacingDirections[NUM_FIELD_MAP_OBJECT_TEMPLATES]; -extern const struct MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[7]; -extern const struct MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[0xEF]; -extern u8 (*const gUnknown_0850D714[11])(s16, s16, s16, s16); - struct PairedPalettes { u16 tag; const u16 *data; }; -extern const u8 gUnknown_084975C4[0x10]; -extern const struct SpriteTemplate gUnknown_084975D4; -extern void (*const gUnknown_084975EC[3])(struct Sprite *); -extern const struct SpritePalette gUnknown_0850BBC8[39]; -extern const struct PairedPalettes gUnknown_0850BD00[4]; -extern const struct PairedPalettes gUnknown_0850BD78[14]; -extern const u16 *const gUnknown_0850BE38[2]; -extern const s16 gUnknown_0850D6DC[4]; // {0x20, 0x40, 0x60, 0x80} -extern const s16 gUnknown_0850D6EC[4]; -extern const u8 gUnknown_0850D710[4]; // {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST} -extern const u8 gUnknown_0850D770[2]; // {DIR_SOUTH, DIR_NORTH} -extern const u8 gUnknown_0850D790[2]; // {DIR_WEST, DIR_EAST} -extern const u8 gUnknown_0850D7F0[2]; // {DIR_NORTH, DIR_WEST} -extern const u8 gUnknown_0850D808[2]; // {DIR_NORTH, DIR_EAST} -extern const u8 gUnknown_0850D820[2]; // {DIR_SOUTH, DIR_WEST} -extern const u8 gUnknown_0850D838[2]; // {DIR_SOUTH, DIR_EAST} -extern const u8 gUnknown_0850D850[4]; -extern const u8 gUnknown_0850D868[4]; -extern const u8 gUnknown_0850D880[4]; -extern const u8 gUnknown_0850D898[4]; -extern const u8 gUnknown_0850D8AC[5]; -extern const u8 gUnknown_0850D8C4[5]; -extern const u8 gUnknown_0850D8E8[4]; -extern bool8 (*const gUnknown_0850DA64[11])(struct MapObject *, struct Sprite *, u8, bool8(u8)); -extern bool8 (*const gUnknown_0850DB5C[4])(u8); -extern bool8 (*const gUnknown_0850DB6C[4])(u8); -extern const struct Coords16 gUnknown_0850DB7C[4]; -extern const u8 gUnknown_0850DC2F[4][4]; -extern const u8 gUnknown_0850DC3F[4][4]; -extern const u8 gUnknown_0850DBA0[5]; -extern bool8 (*const *const gUnknown_0850DC50[166])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850DEE8[5])(u8); -extern const s16 gUnknown_0850DFBC[3]; -extern const s16 gUnknown_0850DFC2[3]; typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); @@ -189,35 +150,998 @@ extern s16 gUnknown_0850E84A[]; extern u8 gUnknown_0850E850[]; static void FieldObjectUpdateMetatileBehaviors(struct MapObject*); -/*static*/ void GetAllGroundEffectFlags_OnBeginStep(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_SandHeap(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_ShortGrass(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_HotSprings(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_Tracks(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_Puddle(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_Ripple(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_Seaweed(struct MapObject*, u32*); -/*static*/ void GetGroundEffectFlags_JumpLanding(struct MapObject*, u32*); -/*static*/ u8 FieldObjectCheckForReflectiveSurface(struct MapObject*); +static void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); +static void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject*, u32*); +static void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject*, u32*); +static void GetGroundEffectFlags_SandHeap(struct MapObject*, u32*); +static void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject*, u32*); +static void GetGroundEffectFlags_ShortGrass(struct MapObject*, u32*); +static void GetGroundEffectFlags_HotSprings(struct MapObject*, u32*); +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject*, u32*); +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject*, u32*); +static void GetGroundEffectFlags_Tracks(struct MapObject*, u32*); +static void GetGroundEffectFlags_Puddle(struct MapObject*, u32*); +static void GetGroundEffectFlags_Ripple(struct MapObject*, u32*); +static void GetGroundEffectFlags_Seaweed(struct MapObject*, u32*); +static void GetGroundEffectFlags_JumpLanding(struct MapObject*, u32*); +static u8 FieldObjectCheckForReflectiveSurface(struct MapObject*); static u8 GetReflectionTypeByMetatileBehavior(u32); static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); static void FieldObjectUpdateSubpriority(struct MapObject*, struct Sprite*); static void DoTracksGroundEffect_None(struct MapObject*, struct Sprite*, u8); static void DoTracksGroundEffect_Footprints(struct MapObject*, struct Sprite*, u8); static void DoTracksGroundEffect_BikeTireTracks(struct MapObject*, struct Sprite*, u8); -/*static*/ void DoRippleFieldEffect(struct MapObject*, struct Sprite*); +static void DoRippleFieldEffect(struct MapObject*, struct Sprite*); static void DoGroundEffects_OnSpawn(struct MapObject*, struct Sprite*); static void DoGroundEffects_OnBeginStep(struct MapObject*, struct Sprite*); static void DoGroundEffects_OnFinishStep(struct MapObject*, struct Sprite*); static void sub_8097D68(struct Sprite*); static void sub_8097FE4(u8); +const u8 gUnknown_084975C4[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; + +const struct SpriteTemplate gCameraSpriteTemplate = {0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject}; + +void (*const gCameraObjectFuncs[])(struct Sprite *) = { + CameraObject_0, + CameraObject_1, + CameraObject_2, +}; + +#include "data/field_event_obj/event_object_graphics.h" + +// movement type callbacks +void (*const gUnknown_08505438[])(struct Sprite *) = +{ + FieldObjectCB_NoMovement1, + FieldObjectCB_LookRandomDirections, + FieldObjectCB_GoRandomDirections, + FieldObjectCB_RandomlyGoNorthOrSouth, + FieldObjectCB_RandomlyGoNorthOrSouth, + FieldObjectCB_RandomlyGoEastOrWest, + FieldObjectCB_RandomlyGoEastOrWest, + FieldObjectCB_FaceFixedDirection, + FieldObjectCB_FaceFixedDirection, + FieldObjectCB_FaceFixedDirection, + FieldObjectCB_FaceFixedDirection, + FieldObjectCB_NoMovement2, + FieldObjectCB_BerryTree, + FieldObjectCB_RandomlyLookNorthOrSouth, + FieldObjectCB_RandomlyLookEastOrWest, + FieldObjectCB_RandomlyLookNorthOrWest, + FieldObjectCB_RandomlyLookNorthOrEast, + FieldObjectCB_RandomlyLookSouthOrWest, + FieldObjectCB_RandomlyLookSouthOrEast, + FieldObjectCB_RandomlyLookNorthOrSouthOrWest, + FieldObjectCB_RandomlyLookNorthOrSouthOrEast, + FieldObjectCB_RandomlyLookNorthOrEastOrWest, + FieldObjectCB_RandomlyLookSouthOrEastOrWest, + FieldObjectCB_LookAroundCounterclockwise, + FieldObjectCB_LookAroundClockwise, + FieldObjectCB_AlternatelyGoInOppositeDirections, + FieldObjectCB_AlternatelyGoInOppositeDirections, + FieldObjectCB_AlternatelyGoInOppositeDirections, + FieldObjectCB_AlternatelyGoInOppositeDirections, + FieldObjectCB_GoInDirectionSequence1, + FieldObjectCB_GoInDirectionSequence2, + FieldObjectCB_GoInDirectionSequence3, + FieldObjectCB_GoInDirectionSequence4, + FieldObjectCB_GoInDirectionSequence5, + FieldObjectCB_GoInDirectionSequence6, + FieldObjectCB_GoInDirectionSequence7, + FieldObjectCB_GoInDirectionSequence8, + FieldObjectCB_GoInDirectionSequence9, + FieldObjectCB_GoInDirectionSequence10, + FieldObjectCB_GoInDirectionSequence11, + FieldObjectCB_GoInDirectionSequence12, + FieldObjectCB_GoInDirectionSequence13, + FieldObjectCB_GoInDirectionSequence14, + FieldObjectCB_GoInDirectionSequence15, + FieldObjectCB_GoInDirectionSequence16, + FieldObjectCB_GoInDirectionSequence17, + FieldObjectCB_GoInDirectionSequence18, + FieldObjectCB_GoInDirectionSequence19, + FieldObjectCB_GoInDirectionSequence20, + FieldObjectCB_GoInDirectionSequence21, + FieldObjectCB_GoInDirectionSequence22, + FieldObjectCB_GoInDirectionSequence23, + FieldObjectCB_GoInDirectionSequence24, + FieldObjectCB_CopyPlayer1, + FieldObjectCB_CopyPlayer1, + FieldObjectCB_CopyPlayer1, + FieldObjectCB_CopyPlayer1, + FieldObjectCB_TreeDisguise, + FieldObjectCB_MountainDisguise, + FieldObjectCB_CopyPlayer2, + FieldObjectCB_CopyPlayer2, + FieldObjectCB_CopyPlayer2, + FieldObjectCB_CopyPlayer2, + FieldObjectCB_Hidden1, + FieldObjectCB_WalkInPlace1, + FieldObjectCB_WalkInPlace1, + FieldObjectCB_WalkInPlace1, + FieldObjectCB_WalkInPlace1, + FieldObjectCB_WalkInPlace2, + FieldObjectCB_WalkInPlace2, + FieldObjectCB_WalkInPlace2, + FieldObjectCB_WalkInPlace2, + FieldObjectCB_WalkInPlace3, + FieldObjectCB_WalkInPlace3, + FieldObjectCB_WalkInPlace3, + FieldObjectCB_WalkInPlace3, + FieldObjectCB_Hidden2, + FieldObjectCB_WalkInPlace4, + FieldObjectCB_WalkInPlace4, + FieldObjectCB_WalkInPlace4, + FieldObjectCB_WalkInPlace4, +}; + +const u8 gRangedMovementTypes[] = { + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, +}; + +const u8 gInitialMovementTypeFacingDirections[] = { + DIR_SOUTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_WEST, + DIR_NORTH, + DIR_NORTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_NORTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_SOUTH, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_NORTH, + DIR_EAST, + DIR_SOUTH, + DIR_WEST, + DIR_NORTH, + DIR_WEST, + DIR_SOUTH, + DIR_EAST, + DIR_WEST, + DIR_NORTH, + DIR_EAST, + DIR_SOUTH, + DIR_EAST, + DIR_NORTH, + DIR_WEST, + DIR_SOUTH, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTH, + DIR_SOUTH, + DIR_NORTH, + DIR_SOUTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTH, + DIR_SOUTH, + DIR_NORTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTH, + DIR_NORTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTH, + DIR_NORTH, + DIR_WEST, + DIR_EAST, + DIR_SOUTH, + DIR_SOUTH, + DIR_NORTH, + DIR_WEST, + DIR_EAST, +}; + +#include "data/field_event_obj/event_object_graphics_info_pointers.h" +#include "data/field_event_obj/field_effect_object_template_pointers.h" +#include "data/field_event_obj/event_object_pic_tables.h" +#include "data/field_event_obj/event_object_anims.h" +#include "data/field_event_obj/base_oam.h" +#include "data/field_event_obj/event_object_subsprites.h" +#include "data/field_event_obj/event_object_graphics_info.h" + +const struct SpritePalette gUnknown_0850BBC8[] = { + {gFieldObjectPalette0, 0x1103}, + {gFieldObjectPalette1, 0x1104}, + {gFieldObjectPalette2, 0x1105}, + {gFieldObjectPalette3, 0x1106}, + {gFieldObjectPalette4, 0x1107}, + {gFieldObjectPalette5, 0x1108}, + {gFieldObjectPalette6, 0x1109}, + {gFieldObjectPalette7, 0x110A}, + {gFieldObjectPalette8, 0x1100}, + {gFieldObjectPalette9, 0x1101}, + {gFieldObjectPalette10, 0x1102}, + {gFieldObjectPalette11, 0x1115}, + {gFieldObjectPalette12, 0x110B}, + {gFieldObjectPalette13, 0x110C}, + {gFieldObjectPalette14, 0x110D}, + {gFieldObjectPalette15, 0x110E}, + {gFieldObjectPalette16, 0x110F}, + {gFieldObjectPalette17, 0x1110}, + {gFieldObjectPalette18, 0x1111}, + {gFieldObjectPalette19, 0x1112}, + {gFieldObjectPalette20, 0x1113}, + {gFieldObjectPalette21, 0x1114}, + {gFieldObjectPalette22, 0x1116}, + {gFieldObjectPalette23, 0x1117}, + {gFieldObjectPalette24, 0x1118}, + {gFieldObjectPalette25, 0x1119}, + {gFieldObjectPalette26, 0x111B}, + {gFieldObjectPalette27, 0x111C}, + {gFieldObjectPalette28, 0x111D}, + {gFieldObjectPalette29, 0x111E}, + {gFieldObjectPalette30, 0x111F}, + {gFieldObjectPalette31, 0x1120}, + {gFieldObjectPalette32, 0x1121}, + {gFieldObjectPalette33, 0x1122}, + {gFieldObjectPalette34, 0x1123}, + {NULL, 0x0000}, +}; + +const u16 Unknown_0850BCE8[] = { + 0x1101, + 0x1101, + 0x1101, + 0x1101, +}; + +const u16 Unknown_0850BCF0[] = { + 0x1111, + 0x1111, + 0x1111, + 0x1111, +}; + +const u16 Unknown_0850BCF8[] = { + 0x1115, + 0x1115, + 0x1115, + 0x1115, +}; + +const struct PairedPalettes gUnknown_0850BD00[] = { + {0x1100, Unknown_0850BCE8}, + {0x1110, Unknown_0850BCF0}, + {0x1115, Unknown_0850BCF8}, + {0x11FF, NULL}, +}; + +const u16 Unknown_0850BD20[] = { + 0x110C, + 0x110C, + 0x110C, + 0x110C, +}; + +const u16 Unknown_0850BD28[] = { + 0x110D, + 0x110D, + 0x110D, + 0x110D, +}; + +const u16 Unknown_0850BD30[] = { + 0x110E, + 0x110E, + 0x110E, + 0x110E, +}; + +const u16 Unknown_0850BD38[] = { + 0x1112, + 0x1112, + 0x1112, + 0x1112, +}; + +const u16 Unknown_0850BD40[] = { + 0x1113, + 0x1113, + 0x1113, + 0x1113, +}; + +const u16 Unknown_0850BD48[] = { + 0x1114, + 0x1114, + 0x1114, + 0x1114, +}; + +const u16 Unknown_0850BD50[] = { + 0x111B, + 0x111B, + 0x111B, + 0x111B, +}; + +const u16 Unknown_0850BD58[] = { + 0x1117, + 0x1117, + 0x1117, + 0x1117, +}; + +const u16 Unknown_0850BD60[] = { + 0x1119, + 0x1119, + 0x1119, + 0x1119, +}; + +const u16 Unknown_0850BD68[] = { + 0x1109, + 0x1109, + 0x1109, + 0x1109, +}; + +const u16 Unknown_0850BD70[] = { + 0x111D, + 0x111D, + 0x111D, + 0x111D, +}; + +const struct PairedPalettes gUnknown_0850BD78[] = { + {4352, Unknown_0850BCE8}, + {4368, Unknown_0850BCF0}, + {4363, Unknown_0850BD20}, + {4365, Unknown_0850BD28}, + {4366, Unknown_0850BD30}, + {4370, Unknown_0850BD38}, + {4371, Unknown_0850BD40}, + {4372, Unknown_0850BD48}, + {4374, Unknown_0850BD58}, + {4376, Unknown_0850BD60}, + {4357, Unknown_0850BD68}, + {4379, Unknown_0850BD50}, + {4381, Unknown_0850BD70}, + {4607, NULL}, +}; + +const u16 gUnknown_0850BDE8[] = { + 0x1100, + 0x1101, + 0x1103, + 0x1104, + 0x1105, + 0x1106, + 0x1107, + 0x1108, + 0x1109, + 0x110A, +}; + +const u16 gUnknown_0850BDFC[] = { + 0x1100, + 0x1101, + 0x1103, + 0x1104, + 0x1105, + 0x1106, + 0x1107, + 0x1108, + 0x1109, + 0x110A, +}; + +const u16 gUnknown_0850BE10[] = { + 0x1100, + 0x1101, + 0x1103, + 0x1104, + 0x1105, + 0x1106, + 0x1107, + 0x1108, + 0x1109, + 0x110A, +}; + +const u16 gUnknown_0850BE24[] = { + 0x1100, + 0x1101, + 0x1103, + 0x1104, + 0x1105, + 0x1106, + 0x1107, + 0x1108, + 0x1109, + 0x110A, +}; + + +const u16 *const gUnknown_0850BE38[] = { + gUnknown_0850BDE8, + gUnknown_0850BDFC, + gUnknown_0850BE10, + gUnknown_0850BE24, +}; + +#include "data/field_event_obj/berry_tree_graphics_tables.h" +#include "data/field_event_obj/field_effect_objects.h" + +const s16 gMovementDelaysMedium[] = {32, 64, 96, 128}; +const s16 gMovementDelaysLong[] = {32, 64, 128, 192}; +const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; + +#include "data/field_event_obj/movement_type_func_tables.h" + +const u8 gUnknown_0850DACC[] = { + 0x00, + 0x00, + 0x01, + 0x02, + 0x03, + 0x00, + 0x00, + 0x01, + 0x01, +}; + +const u8 gUnknown_0850DAD5[] = { + 0x04, + 0x04, + 0x05, + 0x06, + 0x07, + 0x04, + 0x04, + 0x05, + 0x05, +}; + +const u8 gUnknown_0850DADE[] = { + 0x08, + 0x08, + 0x09, + 0x0a, + 0x0b, + 0x08, + 0x08, + 0x09, + 0x09, +}; + +const u8 gUnknown_0850DAE7[] = { + 0x0c, + 0x0c, + 0x0d, + 0x0e, + 0x0f, + 0x0c, + 0x0c, + 0x0d, + 0x0d, +}; + +const u8 gUnknown_0850DAF0[] = { + 0x10, + 0x10, + 0x11, + 0x12, + 0x13, + 0x10, + 0x10, + 0x11, + 0x11, +}; + +const u8 gUnknown_0850DAF9[] = { + 0x14, + 0x14, + 0x15, + 0x16, + 0x17, + 0x14, + 0x14, + 0x15, + 0x15, +}; + +const u8 gUnknown_0850DB02[] = { + 0x14, + 0x14, + 0x15, + 0x16, + 0x17, + 0x14, + 0x14, + 0x15, + 0x15, +}; + +const u8 gUnknown_0850DB0B[] = { + 0x18, + 0x18, + 0x19, + 0x1a, + 0x1b, + 0x18, + 0x18, + 0x19, + 0x19, +}; + +const u8 gUnknown_0850DB14[] = { + 0x1c, + 0x1c, + 0x1d, + 0x1e, + 0x1f, + 0x1c, + 0x1c, + 0x1d, + 0x1d, +}; + +const u8 gUnknown_0850DB1D[] = { + 0x20, + 0x20, + 0x21, + 0x22, + 0x23, + 0x20, + 0x20, + 0x21, + 0x21, +}; + +const u8 gUnknown_0850DB26[] = { + 0x24, + 0x24, + 0x25, + 0x26, + 0x27, + 0x24, + 0x24, + 0x25, + 0x25, +}; + +const u8 gUnknown_0850DB2F[] = { + 0x00, + 0x00, + 0x01, + 0x02, + 0x03, + 0x00, + 0x00, + 0x01, + 0x01, +}; + +const u8 gUnknown_0850DB38[] = { + 0x04, + 0x04, + 0x05, + 0x06, + 0x07, + 0x04, + 0x04, + 0x05, + 0x05, +}; + +const u8 gUnknown_0850DB41[] = { + 0x08, + 0x08, + 0x09, + 0x0a, + 0x0b, + 0x08, + 0x08, + 0x09, + 0x09, +}; + +const u8 gUnknown_0850DB4A[] = { + 0x14, + 0x14, + 0x15, + 0x16, + 0x17, + 0x14, + 0x14, + 0x15, + 0x15, +}; + +const u8 gUnknown_0850DB53[] = { + 0x08, + 0x08, + 0x07, + 0x09, + 0x0a, + 0x08, + 0x08, + 0x07, + 0x07, +}; + +bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = { + MetatileBehavior_IsSouthBlocked, + MetatileBehavior_IsNorthBlocked, + MetatileBehavior_IsWestBlocked, + MetatileBehavior_IsEastBlocked +}; + +bool8 (*const gDirectionBlockedMetatileFuncs[])(u8) = { + MetatileBehavior_IsNorthBlocked, + MetatileBehavior_IsSouthBlocked, + MetatileBehavior_IsEastBlocked, + MetatileBehavior_IsWestBlocked +}; + +const struct Coords16 gDirectionToVectors[] = { + { 0, 0}, + { 0, 1}, + { 0, -1}, + {-1, 0}, + { 1, 0}, + {-1, 1}, + { 1, 1}, + {-1, -1}, + { 1, -1} +}; + +const u8 gUnknown_0850DBA0[] = { + 0x00, + 0x00, + 0x01, + 0x02, + 0x03, +}; + +const u8 gUnknown_0850DBA5[] = { + 0x04, + 0x04, + 0x05, + 0x06, + 0x07, +}; + +const u8 gUnknown_0850DBAA[] = { + 0x08, + 0x08, + 0x09, + 0x0a, + 0x0b, +}; + +const u8 gUnknown_0850DBAF[] = { + 0x15, + 0x15, + 0x16, + 0x17, + 0x18, +}; + +const u8 gUnknown_0850DBB4[] = { + 0x29, + 0x29, + 0x2a, + 0x2b, + 0x2c, +}; + +const u8 gUnknown_0850DBB9[] = { + 0x2d, + 0x2d, + 0x2e, + 0x2f, + 0x30, +}; + +const u8 gUnknown_0850DBBE[] = { + 0x31, + 0x31, + 0x32, + 0x33, + 0x34, +}; + +const u8 gUnknown_0850DBC3[] = { + 0x35, + 0x35, + 0x36, + 0x37, + 0x38, +}; + +const u8 gUnknown_0850DBC8[] = { + 0x0c, + 0x0c, + 0x0d, + 0x0e, + 0x0f, +}; + +const u8 gUnknown_0850DBCD[] = { + 0x46, + 0x46, + 0x47, + 0x48, + 0x49, +}; + +const u8 gUnknown_0850DBD2[] = { + 0x4b, + 0x4b, + 0x4a, + 0x4d, + 0x4c, +}; + +const u8 gUnknown_0850DBD7[] = { + 0x42, + 0x42, + 0x43, + 0x44, + 0x45, +}; + +const u8 gUnknown_0850DBDC[] = { + 0x3a, + 0x3a, + 0x3b, + 0x3c, + 0x3d, +}; + +const u8 gUnknown_0850DBE1[] = { + 0x19, + 0x19, + 0x1a, + 0x1b, + 0x1c, +}; + +const u8 gUnknown_0850DBE6[] = { + 0x1d, + 0x1d, + 0x1e, + 0x1f, + 0x20, +}; + +const u8 gUnknown_0850DBEB[] = { + 0x21, + 0x21, + 0x22, + 0x23, + 0x24, +}; + +const u8 gUnknown_0850DBF0[] = { + 0x25, + 0x25, + 0x26, + 0x27, + 0x28, +}; + +const u8 gUnknown_0850DBF5[] = { + 0x64, + 0x64, + 0x65, + 0x66, + 0x67, +}; + +const u8 gUnknown_0850DBFA[] = { + 0x68, + 0x68, + 0x69, + 0x6a, + 0x6b, +}; + +const u8 gUnknown_0850DBFF[] = { + 0x6c, + 0x6c, + 0x6d, + 0x6e, + 0x6f, +}; + +const u8 gUnknown_0850DC04[] = { + 0x70, + 0x70, + 0x71, + 0x72, + 0x73, +}; + +const u8 gUnknown_0850DC09[] = { + 0x74, + 0x74, + 0x75, + 0x76, + 0x77, +}; + +const u8 gUnknown_0850DC0E[] = { + 0x78, + 0x78, + 0x79, + 0x7a, + 0x7b, +}; + +const u8 gUnknown_0850DC13[] = { + 0x7c, + 0x7c, + 0x7d, + 0x7e, + 0x7f, +}; + +const u8 gUnknown_0850DC18[] = { + 0x80, + 0x80, + 0x81, + 0x82, + 0x83, +}; + +const u8 gUnknown_0850DC1D[] = { + 0x84, + 0x84, + 0x85, + 0x86, + 0x87, +}; + +const u8 gUnknown_0850DC22[] = { + 0x88, + 0x88, + 0x89, + 0x8a, + 0x8b, +}; + +const u8 gOppositeDirections[] = { + DIR_NORTH, + DIR_SOUTH, + DIR_EAST, + DIR_WEST, + DIR_NORTHEAST, + DIR_NORTHWEST, + DIR_SOUTHEAST, + DIR_SOUTHWEST, +}; + +const u8 gUnknown_0850DC2F[][4] = { + {2, 1, 4, 3}, + {1, 2, 3, 4}, + {3, 4, 2, 1}, + {4, 3, 1, 2} +}; + +const u8 gUnknown_0850DC3F[][4] = { + {2, 1, 4, 3}, + {1, 2, 3, 4}, + {4, 3, 1, 2}, + {3, 4, 2, 1} +}; + +#include "data/field_event_obj/movement_action_func_tables.h" // Code @@ -1505,21 +2429,21 @@ u8 AddCameraObject(u8 linkedSpriteId) { u8 spriteId; - spriteId = CreateSprite(&gUnknown_084975D4, 0, 0, 4); + spriteId = CreateSprite(&gCameraSpriteTemplate, 0, 0, 4); gSprites[spriteId].invisible = TRUE; gSprites[spriteId].data[0] = linkedSpriteId; return spriteId; } -void ObjectCB_CameraObject(struct Sprite *sprite) +static void ObjectCB_CameraObject(struct Sprite *sprite) { - void (*callbacks[ARRAY_COUNT(gUnknown_084975EC)])(struct Sprite *); + void (*callbacks[ARRAY_COUNT(gCameraObjectFuncs)])(struct Sprite *); - memcpy(callbacks, gUnknown_084975EC, sizeof gUnknown_084975EC); + memcpy(callbacks, gCameraObjectFuncs, sizeof gCameraObjectFuncs); callbacks[sprite->data[1]](sprite); } -/*static*/ void CameraObject_0(struct Sprite *sprite) +static void CameraObject_0(struct Sprite *sprite) { sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; @@ -1528,7 +2452,7 @@ void ObjectCB_CameraObject(struct Sprite *sprite) CameraObject_1(sprite); } -/*static*/ void CameraObject_1(struct Sprite *sprite) +static void CameraObject_1(struct Sprite *sprite) { s16 x; s16 y; @@ -1541,7 +2465,7 @@ void ObjectCB_CameraObject(struct Sprite *sprite) sprite->pos1.y = y; } -/*static*/ void CameraObject_2(struct Sprite *sprite) +static void CameraObject_2(struct Sprite *sprite) { sprite->pos1.x = gSprites[sprite->data[0]].pos1.x; sprite->pos1.y = gSprites[sprite->data[0]].pos1.y; @@ -1879,7 +2803,7 @@ bool8 sub_808F48C(struct MapObject *mapObject, struct Sprite *sprite) { return FALSE; } - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); sprite->data[1] = 3; return TRUE; } @@ -2199,7 +3123,7 @@ bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2254,7 +3178,7 @@ bool8 sub_808FB08(struct MapObject *mapObject, struct Sprite *sprite) { return FALSE; } - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); sprite->data[1] = 3; return TRUE; } @@ -2325,7 +3249,7 @@ bool8 sub_808FC8C(struct MapObject *mapObject, struct Sprite *sprite) { return FALSE; } - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); sprite->data[1] = 3; return TRUE; } @@ -2527,7 +3451,7 @@ bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2580,7 +3504,7 @@ bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6DC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2633,7 +3557,7 @@ bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2686,7 +3610,7 @@ bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2739,7 +3663,7 @@ bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2792,7 +3716,7 @@ bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2845,7 +3769,7 @@ bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2898,7 +3822,7 @@ bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -2951,7 +3875,7 @@ bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -3004,7 +3928,7 @@ bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite) { if (FieldObjectExecRegularAnim(mapObject, sprite)) { - SetFieldObjectStepTimer(sprite, gUnknown_0850D6EC[Random() & 0x03]); + SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); mapObject->singleMovementActive = FALSE; sprite->data[1] = 3; } @@ -3609,7 +4533,6 @@ void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) } #define dirn2anim(name, table)\ -extern const u8 table[4];\ u8 name(u8 direction)\ {\ return table[direction];\ @@ -3631,15 +4554,6 @@ dirn2anim(sub_8092A1C, gUnknown_0850DB38) dirn2anim(sub_8092A2C, gUnknown_0850DB41) dirn2anim(get_run_image_anim_num, gUnknown_0850DB4A) -// file boundary? - -struct UnkStruct_085094AC { - const union AnimCmd *const *anims; - u8 animPos[4]; -}; - -extern const struct UnkStruct_085094AC gUnknown_085094AC[]; - static const struct UnkStruct_085094AC *sub_8092A4C(const union AnimCmd *const *anims) { const struct UnkStruct_085094AC *retval; @@ -3822,7 +4736,7 @@ static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { - if (gUnknown_0850DB5C[direction - 1](mapObject->currentMetatileBehavior) || gUnknown_0850DB6C[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](mapObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return TRUE; } @@ -3874,14 +4788,14 @@ void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) void MoveCoords(u8 direction, s16 *x, s16 *y) { - *x += gUnknown_0850DB7C[direction].x; - *y += gUnknown_0850DB7C[direction].y; + *x += gDirectionToVectors[direction].x; + *y += gDirectionToVectors[direction].y; } void sub_8092F60(u8 direction, s16 *x, s16 *y) { - *x += gUnknown_0850DB7C[direction].x << 4; - *y += gUnknown_0850DB7C[direction].y << 4; + *x += gDirectionToVectors[direction].x << 4; + *y += gDirectionToVectors[direction].y << 4; } void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy) @@ -3895,7 +4809,7 @@ void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy) direction = dirn; dx_2 = dx; dy_2 = dy; - cur_x = gUnknown_0850DB7C[direction].x; + cur_x = gDirectionToVectors[direction].x; if (cur_x > 0) { *x += dx_2; @@ -3904,7 +4818,7 @@ void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy) { *x -= dx_2; } - cur_y = gUnknown_0850DB7C[direction].y; + cur_y = gDirectionToVectors[direction].y; if (cur_y > 0) { *y += dy_2; @@ -4096,7 +5010,6 @@ void FieldObjectStep(struct MapObject *mapObject, struct Sprite *sprite, bool8 ( } #define dirn2anim_2(name, table) \ -extern const u8 table[5]; \ u8 name(u32 direction) \ { \ u8 dirn2; \ @@ -4144,14 +5057,12 @@ dirn2anim_2(sub_809377C, gUnknown_0850DC18); dirn2anim_2(sub_80937A8, gUnknown_0850DC1D); dirn2anim_2(d2s_08064034, gUnknown_0850DC22); -extern const u8 gUnknown_0850DC27[8]; - u8 GetOppositeDirection(u8 direction) { - u8 directions[sizeof gUnknown_0850DC27]; + u8 directions[sizeof gOppositeDirections]; - memcpy(directions, gUnknown_0850DC27, sizeof gUnknown_0850DC27); - if (direction < 1 || direction > (sizeof gUnknown_0850DC27)) + memcpy(directions, gOppositeDirections, sizeof gOppositeDirections); + if (direction < 1 || direction > (sizeof gOppositeDirections)) { return direction; } @@ -5174,7 +6085,7 @@ static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite GetGroundEffectFlags_HotSprings(eventObj, flags); } -/*static*/ void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *eventObj, u32 *flags) +static void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *eventObj, u32 *flags) { FieldObjectUpdateMetatileBehaviors(eventObj); GetGroundEffectFlags_Reflection(eventObj, flags); @@ -5207,7 +6118,7 @@ static void FieldObjectUpdateMetatileBehaviors(struct MapObject *eventObj) eventObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->currentCoords.x, eventObj->currentCoords.y); } -void GetGroundEffectFlags_Reflection(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Reflection(struct MapObject *eventObj, u32 *flags) { u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; u8 type = FieldObjectCheckForReflectiveSurface(eventObj); @@ -5227,31 +6138,31 @@ void GetGroundEffectFlags_Reflection(struct MapObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; } -void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; } -void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; } -void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; } -void GetGroundEffectFlags_Tracks(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Tracks(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) { @@ -5264,7 +6175,7 @@ void GetGroundEffectFlags_Tracks(struct MapObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_SandHeap(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_SandHeap(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsDeepSand(eventObj->currentMetatileBehavior) && MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) @@ -5282,7 +6193,7 @@ void GetGroundEffectFlags_SandHeap(struct MapObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *eventObj, u32 *flags) { if ((MetatileBehavior_IsShallowFlowingWater(eventObj->currentMetatileBehavior) && MetatileBehavior_IsShallowFlowingWater(eventObj->previousMetatileBehavior)) @@ -5302,7 +6213,7 @@ void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *eventObj, u32 *f } } -void GetGroundEffectFlags_Puddle(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Puddle(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsPuddle(eventObj->currentMetatileBehavior) && MetatileBehavior_IsPuddle(eventObj->previousMetatileBehavior)) @@ -5311,13 +6222,13 @@ void GetGroundEffectFlags_Puddle(struct MapObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_Ripple(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Ripple(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_HasRipples(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_RIPPLES; } -void GetGroundEffectFlags_ShortGrass(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShortGrass(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsShortGrass(eventObj->currentMetatileBehavior) && MetatileBehavior_IsShortGrass(eventObj->previousMetatileBehavior)) @@ -5335,7 +6246,7 @@ void GetGroundEffectFlags_ShortGrass(struct MapObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_HotSprings(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_HotSprings(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsHotSprings(eventObj->currentMetatileBehavior) && MetatileBehavior_IsHotSprings(eventObj->previousMetatileBehavior)) @@ -5353,13 +6264,13 @@ void GetGroundEffectFlags_HotSprings(struct MapObject *eventObj, u32 *flags) } } -void GetGroundEffectFlags_Seaweed(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Seaweed(struct MapObject *eventObj, u32 *flags) { if (MetatileBehavior_IsSeaweed(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_SEAWEED; } -void GetGroundEffectFlags_JumpLanding(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_JumpLanding(struct MapObject *eventObj, u32 *flags) { typedef bool8 (*MetatileFunc)(u8); @@ -5396,7 +6307,7 @@ void GetGroundEffectFlags_JumpLanding(struct MapObject *eventObj, u32 *flags) } } -u8 FieldObjectCheckForReflectiveSurface(struct MapObject *eventObj) +static u8 FieldObjectCheckForReflectiveSurface(struct MapObject *eventObj) { const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); @@ -5963,32 +6874,32 @@ void UnfreezeMapObjects(void) void little_step(struct Sprite *sprite, u8 dir) { - sprite->pos1.x += gUnknown_0850DB7C[dir].x; - sprite->pos1.y += gUnknown_0850DB7C[dir].y; + sprite->pos1.x += gDirectionToVectors[dir].x; + sprite->pos1.y += gDirectionToVectors[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; + sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 2 * (u16) gDirectionToVectors[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; + sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x + (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y + (u16) gDirectionToVectors[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; + sprite->pos1.x += 4 * (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 4 * (u16) gDirectionToVectors[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; + sprite->pos1.x += 8 * (u16) gDirectionToVectors[dir].x; + sprite->pos1.y += 8 * (u16) gDirectionToVectors[dir].y; } void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) @@ -6405,7 +7316,7 @@ void DoShadowFieldEffect(struct MapObject *mapObject) } } -void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) +static void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) { const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); gFieldEffectArguments[0] = sprite->pos1.x; diff --git a/src/field_effect.c b/src/field_effect.c index b80f0b5eb..71bce8f41 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -7,7 +7,6 @@ #include "field_camera.h" #include "field_effect_helpers.h" #include "event_object_movement.h" -#include "event_object_movement_helpers.h" #include "field_player_avatar.h" #include "field_screen.h" #include "field_weather.h" diff --git a/src/item_menu.c b/src/item_menu.c index 75465e298..132f39c34 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -9,7 +9,7 @@ #include "constants/songs.h" #include "decompress.h" #include "event_data.h" -#include "event_object_movement_helpers.h" +#include "event_object_movement.h" #include "field_player_avatar.h" #include "field_specials.h" #include "graphics.h" diff --git a/src/item_use.c b/src/item_use.c index 4318a930b..82d96606a 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -17,7 +17,6 @@ #include "field_screen.h" #include "field_weather.h" #include "item.h" -#include "event_object_movement_helpers.h" #include "mail.h" #include "metatile_behavior.h" #include "overworld.h" diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c index d57cc5b86..6647f629b 100644 --- a/src/map_obj_lock.c +++ b/src/map_obj_lock.c @@ -1,7 +1,6 @@ #include "global.h" #include "event_data.h" #include "event_object_movement.h" -#include "event_object_movement_helpers.h" #include "field_player_avatar.h" #include "map_obj_lock.h" #include "script_movement.h" diff --git a/src/overworld.c b/src/overworld.c index 045ebb4fd..85bdbc5ea 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -11,7 +11,6 @@ #include "field_effect.h" #include "field_fadetransition.h" #include "event_object_movement.h" -#include "event_object_movement_helpers.h" #include "field_message_box.h" #include "field_player_avatar.h" #include "field_screen_effect.h" diff --git a/src/scrcmd.c b/src/scrcmd.c index 68bcd4936..e36b60718 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -14,7 +14,6 @@ #include "field_effect.h" #include "field_fadetransition.h" #include "event_object_movement.h" -#include "event_object_movement_helpers.h" #include "field_message_box.h" #include "field_player_avatar.h" #include "field_screen_effect.h" diff --git a/src/script_movement.c b/src/script_movement.c index 4d1e77d4a..02ab55223 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -1,7 +1,6 @@ #include "global.h" #include "script_movement.h" #include "event_object_movement.h" -#include "event_object_movement_helpers.h" #include "task.h" #include "util.h" diff --git a/src/start_menu.c b/src/start_menu.c index 355d0fa22..9ab8a69ba 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -15,7 +15,7 @@ #include "battle_frontier_2.h" #include "rom_818CFC8.h" #include "field_specials.h" -#include "event_object_movement_helpers.h" +#include "event_object_movement.h" #include "script.h" #include "main.h" #include "sound.h" diff --git a/src/trainer_see.c b/src/trainer_see.c index 16520c27a..db8cff8a1 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -6,7 +6,6 @@ #include "field_effect.h" #include "event_object_movement.h" #include "field_player_avatar.h" -#include "event_object_movement_helpers.h" #include "pokenav.h" #include "task.h" #include "util.h" -- cgit v1.2.3 From ed245b677addbb7f5c748193301507de7fed6ec4 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 18:17:31 -0500 Subject: Add remaining rodata to event_object_movement.c --- .../field_event_obj/movement_action_func_tables.h | 17 +- src/event_object_movement.c | 295 +++++++++++++-------- 2 files changed, 197 insertions(+), 115 deletions(-) (limited to 'src') diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h index 86dc61345..d5b7b8911 100755 --- a/src/data/field_event_obj/movement_action_func_tables.h +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -256,7 +256,14 @@ u8 sub_8096428_2(struct MapObject *, struct Sprite *); u8 sub_8096468(struct MapObject *, struct Sprite *); u8 sub_809647C(struct MapObject *, struct Sprite *); u8 sub_8096494(struct MapObject *, struct Sprite *); - +u8 sub_8097E50(struct MapObject *, struct Sprite *); +u8 sub_80964B8(struct MapObject *, struct Sprite *); +u8 sub_8097EF0(struct MapObject *, struct Sprite *); +u8 sub_80980C0(struct MapObject *, struct Sprite *); +u8 sub_80980D0(struct MapObject *, struct Sprite *); +u8 sub_8098124(struct MapObject *, struct Sprite *); +u8 sub_80980F4(struct MapObject *, struct Sprite *); +u8 sub_8098108(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850DEC8[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850DED0[])(struct MapObject *, struct Sprite *); @@ -406,16 +413,16 @@ u8 (*const gUnknown_0850DEFC[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850DF08[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850DF14[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850DF20[])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850E854[])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850E85C[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E854[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E85C[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850E3A0[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850E3AC[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850E5C4[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850E5CC[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850E5D4[])(struct MapObject *, struct Sprite *); u8 (*const gUnknown_0850E468[])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850E864[])(struct MapObject *, struct Sprite *); -extern u8 (*const gUnknown_0850E870[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E864[])(struct MapObject *, struct Sprite *); +u8 (*const gUnknown_0850E870[])(struct MapObject *, struct Sprite *); u8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *) = { gUnknown_0850DEC8, diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 9943dd578..84900e48e 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1,72 +1,29 @@ -// Includes - #include "global.h" -#include "malloc.h" -#include "sprite.h" -#include "overworld.h" -#include "random.h" -#include "event_scripts.h" +#include "event_object_movement.h" #include "berry.h" -#include "palette.h" +#include "decoration.h" +#include "event_data.h" +#include "event_scripts.h" +#include "field_camera.h" +#include "field_effect.h" +#include "field_effect_helpers.h" #include "field_player_avatar.h" #include "fieldmap.h" -#include "event_data.h" -#include "rom_818CFC8.h" -#include "rom_81BE66C.h" +#include "malloc.h" #include "mauville_old_man.h" #include "metatile_behavior.h" -#include "field_effect.h" -#include "field_effect_helpers.h" -#include "field_camera.h" -#include "trainer_see.h" -#include "decoration.h" -#include "event_object_movement.h" +#include "overworld.h" +#include "palette.h" #include "pokenav.h" +#include "random.h" +#include "rom_818CFC8.h" +#include "rom_81BE66C.h" +#include "sprite.h" +#include "trainer_see.h" #include "util.h" #include "constants/map_objects.h" -#define NUM_FIELD_MAP_OBJECT_TEMPLATES 0x51 - -#define null_object_step(name, retval) \ -bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ -void FieldObjectCB_##name(struct Sprite *sprite)\ -{\ - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ -}\ -bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - return (retval);\ -} - -#define field_object_step(name, table) \ -extern bool8 (*const (table)[])(struct MapObject *, struct Sprite *);\ -bool8 FieldObjectCB2_##name(struct MapObject *, struct Sprite *);\ -void FieldObjectCB_##name(struct Sprite *sprite)\ -{\ - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, FieldObjectCB2_##name);\ -}\ -bool8 FieldObjectCB2_##name(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - return (table)[sprite->data[1]](mapObject, sprite);\ -} - -#define field_object_path(idx, table, sub, path, catch, coord)\ -field_object_step(GoInDirectionSequence##idx, table)\ -extern const u8 path[4];\ -bool8 sub(struct MapObject *mapObject, struct Sprite *sprite)\ -{\ - u8 route[sizeof(path)];\ - memcpy(route, path, sizeof(path));\ - if (mapObject->directionSequenceIndex == (catch) && mapObject->initialCoords.coord == mapObject->currentCoords.coord)\ - {\ - mapObject->directionSequenceIndex = (catch) + 1;\ - }\ - return MoveFieldObjectInNextDirectionInSequence(mapObject, sprite, route);\ -}\ - -// Static struct declarations - -// Static RAM declarations +// this file was known as evobjmv.c in Game Freak's original source extern u8 gUnknown_020375B4; extern u16 gUnknown_020375B6; @@ -80,16 +37,16 @@ static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8); static bool8 GetAvailableFieldObjectSlot(u16, u8, u8, u8 *); static void FieldObjectHandleDynamicGraphicsId(struct MapObject *); static void RemoveFieldObjectInternal (struct MapObject *); -/*static*/ u16 GetFieldObjectFlagIdByFieldObjectId(u8); -void sub_8096518(struct MapObject *, struct Sprite *); +static u16 GetFieldObjectFlagIdByFieldObjectId(u8); +static void sub_8096518(struct MapObject *, struct Sprite *); static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); -/*static*/ void GetFieldObjectMovingCameraOffset(s16 *, s16 *); -/*static*/ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8); +static void GetFieldObjectMovingCameraOffset(s16 *, s16 *); +static struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8); static void sub_808E894(u16); static void RemoveFieldObjectIfOutsideView(struct MapObject *); static void sub_808E1B8(u8, s16, s16); static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); -/*static*/ void sub_808E38C(struct MapObject *); +static void sub_808E38C(struct MapObject *); static u8 sub_808E8F4(const struct SpritePalette *); static u8 FindFieldObjectPaletteIndexByTag(u16); static void sub_808EAB0(u16, u8); @@ -98,14 +55,10 @@ static void ObjectCB_CameraObject(struct Sprite *); static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); static void CameraObject_2(struct Sprite *); -/*static*/ struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); -void npc_reset(struct MapObject *, struct Sprite *); -void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); - -u8 GetFaceDirectionAnimId(u32); -u8 GetGoSpeed0AnimId(u32); -u8 GetGoSpeed1AnimId(u32); -u8 GetGoSpeed3AnimId(u32); +static struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); +static void npc_reset(struct MapObject *, struct Sprite *); +static void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); + u8 sub_8093438(u32); u8 sub_80934BC(u32); u8 sub_8093514(u32); @@ -128,27 +81,6 @@ bool8 sub_809558C(struct MapObject *, struct Sprite *); bool8 sub_8095B64(struct MapObject *, struct Sprite *); static void sub_8096530(struct MapObject *, struct Sprite *); static void npc_update_obj_anim_flag(struct MapObject *, struct Sprite *); - -// ROM data - -struct PairedPalettes { - u16 tag; - const u16 *data; -}; - - -typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); - -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[]; - static void FieldObjectUpdateMetatileBehaviors(struct MapObject*); static void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); static void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject*, u32*); @@ -1982,7 +1914,7 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) } } -/*static*/ void sub_808E38C(struct MapObject *mapObject) +static void sub_808E38C(struct MapObject *mapObject) { mapObject->singleMovementActive = FALSE; mapObject->triggerGroundEffectsOnMove = TRUE; @@ -2591,7 +2523,7 @@ static u16 GetFieldObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGrou return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; } -u16 GetFieldObjectFlagIdByFieldObjectId(u8 mapObjectId) +static u16 GetFieldObjectFlagIdByFieldObjectId(u8 mapObjectId) { return GetFieldObjectFlagIdByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); } @@ -2628,7 +2560,7 @@ u8 FieldObjectGetBerryTreeId(u8 mapObjectId) return gMapObjects[mapObjectId].trainerRange_berryTreeId; } -struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { struct MapObjectTemplate *templates; const struct MapHeader *mapHeader; @@ -2648,7 +2580,7 @@ struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 m return FindFieldObjectTemplateInArrayByLocalId(localId, templates, count); } -struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) +static struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) { u8 i; @@ -4523,7 +4455,7 @@ bool8 sub_809292C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) +static void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) { mapObject->singleMovementActive = FALSE; mapObject->heldMovementActive = FALSE; @@ -4871,7 +4803,7 @@ void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy) *y += dy; } -void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) +static void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) { *x = 0; *y = 0; @@ -5109,7 +5041,7 @@ bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *spr return FALSE; } -void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) +static void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) { mapObject->movementActionId = animId; sprite->data[2] = 0; @@ -5995,7 +5927,7 @@ bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80964B8(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_80964B8(struct MapObject *mapObject, struct Sprite *sprite) { return TRUE; } @@ -6024,7 +5956,7 @@ void sub_80964E8(struct MapObject *mapObject, struct Sprite *sprite) } } -void sub_8096518(struct MapObject *mapObject, struct Sprite *sprite) +static void sub_8096518(struct MapObject *mapObject, struct Sprite *sprite) { sub_8096530(mapObject, sprite); npc_update_obj_anim_flag(mapObject, sprite); @@ -6909,6 +6841,71 @@ void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) sprite->data[5] = 0; } +typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); + +static const SpriteStepFunc gUnknown_0850E6C4[] = { + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, + little_step, +}; + +static const SpriteStepFunc gUnknown_0850E704[] = { + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, + double_little_steps, +}; + +static const SpriteStepFunc gUnknown_0850E724[] = { + double_little_steps, + triple_little_steps, + triple_little_steps, + double_little_steps, + triple_little_steps, + triple_little_steps, +}; + +static const SpriteStepFunc gUnknown_0850E73C[] = { + quad_little_steps, + quad_little_steps, + quad_little_steps, + quad_little_steps, +}; + +static const SpriteStepFunc gUnknown_0850E74C[] = { + oct_little_steps, + oct_little_steps, +}; + +static const SpriteStepFunc *const gUnknown_0850E754[] = { + gUnknown_0850E6C4, + gUnknown_0850E704, + gUnknown_0850E724, + gUnknown_0850E73C, + gUnknown_0850E74C, +}; + +static const s16 gUnknown_0850E768[] = { + 16, 8, 6, 4, 2 +}; + bool8 obj_npc_ministep(struct Sprite *sprite) { if (sprite->data[5] >= gUnknown_0850E768[sprite->data[4]]) @@ -6947,7 +6944,29 @@ bool8 sub_80976EC(struct Sprite *sprite) return FALSE; } -// new helper added here in the middle. Perhaps Game Freak kept these organized in alphebetical order or some other heirarchy? +const s8 gUnknown_0850E772[] = { + 1, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 1, 2, 2, 1, 2, + 2, 1, 2, 2, 1, 2, 1, 1, + 2, 1, 1, 2, 1, 1, 2, 1, + 1, 2, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 0, 1, 1, 0, + 1, 0, 1, 0, 1, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, +}; + +const s8 gUnknown_0850E7BA[] = { + 0, 0, 1, 0, 0, 1, 0, 0, + 1, 0, 1, 1, 0, 1, 1, 0, + 1, 1, 0, 1, 1, 0, 1, 1, + 0, 0, 1, 0, 0, 1, 0, 0, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -1, 0, 0, -1, 0, 0, + -1, 0, -1, -1, 0, -1, -1, 0, + -1, -1, -1, -1, -1, -1, -1, -2, +}; s16 sub_8097728(s16 a1) { @@ -7002,6 +7021,24 @@ bool8 sub_8097758(struct Sprite *sprite) return result; } +static const s8 gUnknown_0850E802[] = { + -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 +}; + +static const s8 gUnknown_0850E812[] = { + 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 +}; + +static const s8 gUnknown_0850E822[] = { + -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 +}; + +static const s8 *const gUnknown_0850E834[] = { + gUnknown_0850E802, + gUnknown_0850E812, + gUnknown_0850E822 +}; + s16 sub_8097820(s16 a1, u8 a2) { return gUnknown_0850E834[a2][a1]; @@ -7015,6 +7052,14 @@ void sub_809783C(struct Sprite *sprite, u8 a2, u8 a3, u8 a4) sprite->data[6] = 0; } +static const s16 gUnknown_0850E840[] = { + 16, 16, 32, +}; + +static const u8 gUnknown_0850E846[] = { + 0, 0, 1, +}; + u8 sub_809785C(struct Sprite *sprite) { s16 v5[3]; @@ -7044,6 +7089,14 @@ u8 sub_809785C(struct Sprite *sprite) return v2; } +static const s16 gUnknown_0850E84A[] = { + 32, 32, 64, +}; + +static const u8 gUnknown_0850E850[] = { + 1, 1, 2, +}; + u8 sub_80978E4(struct Sprite *sprite) { s16 v5[3]; @@ -7326,7 +7379,29 @@ static void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *spri FieldEffectStart(FLDEFF_RIPPLE); } -bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) +u8 (*const gUnknown_0850E854[])(struct MapObject *, struct Sprite *) = { + sub_8097E50, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E85C[])(struct MapObject *, struct Sprite *) = { + sub_8097EF0, + sub_80964B8, +}; + +u8 (*const gUnknown_0850E864[])(struct MapObject *, struct Sprite *) = { + sub_80980C0, + sub_80980D0, + sub_8098124, +}; + +u8 (*const gUnknown_0850E870[])(struct MapObject *, struct Sprite *) = { + sub_80980F4, + sub_8098108, + sub_8098124, +}; + +u8 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) { u32 one; bool32 ableToStore = FALSE; @@ -7373,7 +7448,7 @@ bool32 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) return TRUE; } -bool32 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) { bool32 ableToStore; u8 id; @@ -7463,14 +7538,14 @@ void sub_8098074(u8 var1, u8 var2) } } -bool32 sub_80980C0(struct MapObject *mapObject, struct Sprite *sprite) +u8 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) +u8 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite) { sprite->pos2.y -= 8; @@ -7479,14 +7554,14 @@ bool32 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool32 sub_80980F4(struct MapObject *mapObject, struct Sprite *sprite) +u8 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) +u8 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite) { sprite->pos2.y += 8; @@ -7496,7 +7571,7 @@ bool32 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite) } // 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) +u8 sub_8098124(struct MapObject *mapObject, struct Sprite *sprite) { return TRUE; } -- cgit v1.2.3 From aa9a45c16fbaee2fffc94e4741e0a1f203b244bc Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 11 Jun 2018 19:11:48 -0500 Subject: Rebrand 'map object' and 'field object' to 'event object' --- src/battle_setup.c | 60 +- src/battle_transition.c | 6 +- src/berry.c | 52 +- src/bike.c | 124 +- src/data/field_event_obj/base_oam.h | 16 +- .../field_event_obj/berry_tree_graphics_tables.h | 784 ++-- src/data/field_event_obj/event_object_anims.h | 796 ++-- src/data/field_event_obj/event_object_graphics.h | 3266 ++++++++-------- .../field_event_obj/event_object_graphics_info.h | 490 +-- .../event_object_graphics_info_pointers.h | 988 ++--- src/data/field_event_obj/event_object_pic_tables.h | 4124 ++++++++++---------- src/data/field_event_obj/event_object_subsprites.h | 166 +- src/data/field_event_obj/field_effect_objects.h | 76 +- .../field_event_obj/movement_action_func_tables.h | 1156 +++--- .../field_event_obj/movement_type_func_tables.h | 104 +- src/decoration.c | 50 +- src/event_data.c | 2 +- src/event_obj_lock.c | 186 + src/event_object_movement.c | 2944 +++++++------- src/field_camera.c | 4 +- src/field_effect.c | 404 +- src/field_special_scene.c | 8 +- src/fldeff_groundshake.c | 18 +- src/item_menu.c | 2 +- src/item_use.c | 14 +- src/load_save.c | 16 +- src/map_obj_lock.c | 186 - src/mauville_old_man.c | 10 +- src/naming_screen.c | 6 +- src/overworld.c | 316 +- src/rom6.c | 24 +- src/scrcmd.c | 44 +- src/script_movement.c | 44 +- src/secret_base.c | 18 +- src/start_menu.c | 2 +- src/trainer_see.c | 222 +- src/tv.c | 4 +- 37 files changed, 8365 insertions(+), 8367 deletions(-) create mode 100644 src/event_obj_lock.c delete mode 100644 src/map_obj_lock.c (limited to 'src') diff --git a/src/battle_setup.c b/src/battle_setup.c index bc7931025..2875aaff2 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -62,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); @@ -101,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; @@ -155,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}, @@ -168,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}, @@ -181,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}, @@ -194,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}, @@ -207,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}, @@ -220,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}, @@ -233,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}, @@ -387,7 +387,7 @@ void BattleSetup_StartBattlePikeWildBattle(void) static void DoStandardWildBattle(void) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); sub_808BCF4(); gMain.savedCallback = CB2_EndWildBattle; gBattleTypeFlags = 0; @@ -406,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; @@ -420,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; @@ -430,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; @@ -1011,7 +1011,7 @@ static void InitTrainerBattleVariables(void) sTrainerBDefeatSpeech = NULL; sTrainerBBattleScriptRetAddr = NULL; } - sTrainerMapObjectLocalId = 0; + sTrainerEventObjectLocalId = 0; sTrainerVictorySpeech = NULL; sTrainerCannotBattleSpeech = NULL; sTrainerBattleEndScript = NULL; @@ -1074,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); } } @@ -1171,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); } @@ -1201,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->facingDirection)); + npc_set_running_behaviour_etc(eventObject, npc_running_behaviour_by_direction(eventObject->facingDirection)); } u8 GetTrainerBattleMode(void) @@ -1214,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()); } @@ -1361,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(); } @@ -1370,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(); } diff --git a/src/battle_transition.c b/src/battle_transition.c index 8b9b50140..41729eec9 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -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 = { diff --git a/src/berry.c b/src/berry.c index 3b5df1cc8..7b83743a7 100644 --- a/src/berry.c +++ b/src/berry.c @@ -8,10 +8,10 @@ #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 const u8* GetEventObjectScriptPointerForComparison(void); extern bool8 sub_8092E9C(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,7 +1160,7 @@ void FieldObjectInteractionGetBerryTreeData(void) u8 group; u8 num; - id = FieldObjectGetBerryTreeId(gSelectedMapObject); + id = EventObjectGetBerryTreeId(gSelectedEventObject); berry = GetBerryTypeByBerryTreeId(id); ResetBerryTreeSparkleFlag(id); unk = gSpecialVar_LastTalked; @@ -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].movementType == 12) + if (gEventObjects[i].active && gEventObjects[i].movementType == 12) { - cam_left = gMapObjects[i].currentCoords.x; - cam_top = gMapObjects[i].currentCoords.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); } } } diff --git a/src/bike.c b/src/bike.c index 92f4b8a60..d44bb1043 100644 --- a/src/bike.c +++ b/src/bike.c @@ -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); @@ -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->currentMetatileBehavior)) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior)) { PlayerTurnInPlace(direction); Bike_SetBikeStill(); } else { - MachBikeTransition_FaceDirection(playerMapObj->facingDirection); + 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->currentMetatileBehavior) == 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->movementDirection); + MachBikeTransition_TrySlowDown(playerEventObj->movementDirection); else - MachBikeTransition_FaceDirection(playerMapObj->movementDirection); + MachBikeTransition_FaceDirection(playerEventObj->movementDirection); } else { @@ -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]; + 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->currentMetatileBehavior)) + 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]; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!(heldKeys & B_BUTTON)) { // B button was released Bike_SetBikeStill(); - if (MetatileBehavior_IsBumpySlope(playerMapObj->currentMetatileBehavior)) + 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]; + 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->currentMetatileBehavior)) + 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->facingDirectionLocked = 0; - FieldObjectSetDirection(playerMapObj, playerMapObj->facingDirection); + playerEventObj->facingDirectionLocked = 0; + EventObjectSetDirection(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->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + 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->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_FaceDirection(playerMapObj->movementDirection); + 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->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + 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->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + 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->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + 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->currentMetatileBehavior) == 0) - direction = playerMapObj->movementDirection; + 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->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - AcroBikeTransition_WheelieHoppingStanding(playerMapObj->movementDirection); + 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,9 +669,9 @@ static void AcroBikeTransition_SideJump(u8 direction) return; } } - playerMapObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; PlaySE(SE_JITE_PYOKO); - playerMapObj->facingDirectionLocked = 1; + playerEventObj->facingDirectionLocked = 1; PlayerSetAnimId(sub_8093514(direction), 2); } @@ -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->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - PlayerIdleWheelie(playerMapObj->movementDirection); + 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->currentMetatileBehavior)) + 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->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - PlayerStartWheelie(playerMapObj->movementDirection); + 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->currentMetatileBehavior)) + 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->currentMetatileBehavior) == 0) + if (CanBikeFaceDirOnMetatile(direction, playerEventObj->currentMetatileBehavior) == 0) { - PlayerEndWheelie(playerMapObj->movementDirection); + 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->currentCoords.x; - y = playerMapObj->currentCoords.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].currentMetatileBehavior) != FALSE) + if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE) != FALSE && MetatileBehavior_IsBumpySlope(gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior) != FALSE) return FALSE; else return TRUE; diff --git a/src/data/field_event_obj/base_oam.h b/src/data/field_event_obj/base_oam.h index 4558081e7..1aa6987c3 100755 --- a/src/data/field_event_obj/base_oam.h +++ b/src/data/field_event_obj/base_oam.h @@ -1,49 +1,49 @@ #ifndef GUARD_BASE_OAM_H #define GUARD_BASE_OAM_H -const struct OamData gFieldObjectBaseOam_8x8 = { +const struct OamData gEventObjectBaseOam_8x8 = { .shape = 0, .size = 0, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_16x8 = { +const struct OamData gEventObjectBaseOam_16x8 = { .shape = 1, .size = 0, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_16x16 = { +const struct OamData gEventObjectBaseOam_16x16 = { .shape = 0, .size = 1, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_32x8 = { +const struct OamData gEventObjectBaseOam_32x8 = { .shape = 1, .size = 1, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_64x32 = { +const struct OamData gEventObjectBaseOam_64x32 = { .shape = 1, .size = 3, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_16x32 = { +const struct OamData gEventObjectBaseOam_16x32 = { .shape = 2, .size = 2, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_32x32 = { +const struct OamData gEventObjectBaseOam_32x32 = { .shape = 0, .size = 2, .priority = 2 }; -const struct OamData gFieldObjectBaseOam_64x64 = { +const struct OamData gEventObjectBaseOam_64x64 = { .shape = 0, .size = 3, .priority = 2 diff --git a/src/data/field_event_obj/berry_tree_graphics_tables.h b/src/data/field_event_obj/berry_tree_graphics_tables.h index 9e899788a..31d515a82 100755 --- a/src/data/field_event_obj/berry_tree_graphics_tables.h +++ b/src/data/field_event_obj/berry_tree_graphics_tables.h @@ -1,474 +1,474 @@ #ifndef GUARD_BERRY_TREE_GRAPHICS_TABLES_H #define GUARD_BERRY_TREE_GRAPHICS_TABLES_H -const struct SpriteFrameImage gFieldObjectPicTable_PechaBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_PechaBerryTree_0), - obj_frame_tiles(gFieldObjectPic_PechaBerryTree_1), - obj_frame_tiles(gFieldObjectPic_PechaBerryTree_2), - obj_frame_tiles(gFieldObjectPic_PechaBerryTree_3), - obj_frame_tiles(gFieldObjectPic_PechaBerryTree_4), - obj_frame_tiles(gFieldObjectPic_PechaBerryTree_5), +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 gFieldObjectPicTable_KelpsyBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_0), - obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_1), - obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_2), - obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_3), - obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_4), - obj_frame_tiles(gFieldObjectPic_KelpsyBerryTree_5), +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 gFieldObjectPicTable_WepearBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_WepearBerryTree_0), - obj_frame_tiles(gFieldObjectPic_WepearBerryTree_1), - obj_frame_tiles(gFieldObjectPic_WepearBerryTree_2), - obj_frame_tiles(gFieldObjectPic_WepearBerryTree_3), - obj_frame_tiles(gFieldObjectPic_WepearBerryTree_4), - obj_frame_tiles(gFieldObjectPic_WepearBerryTree_5), +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 gFieldObjectPicTable_IapapaBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_0), - obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_1), - obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_2), - obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_3), - obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_4), - obj_frame_tiles(gFieldObjectPic_IapapaBerryTree_5), +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 gFieldObjectPicTable_CheriBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_CheriBerryTree_0), - obj_frame_tiles(gFieldObjectPic_CheriBerryTree_1), - obj_frame_tiles(gFieldObjectPic_CheriBerryTree_2), - obj_frame_tiles(gFieldObjectPic_CheriBerryTree_3), - obj_frame_tiles(gFieldObjectPic_CheriBerryTree_4), - obj_frame_tiles(gFieldObjectPic_CheriBerryTree_5), +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 gFieldObjectPicTable_FigyBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_FigyBerryTree_0), - obj_frame_tiles(gFieldObjectPic_FigyBerryTree_1), - obj_frame_tiles(gFieldObjectPic_FigyBerryTree_2), - obj_frame_tiles(gFieldObjectPic_FigyBerryTree_3), - obj_frame_tiles(gFieldObjectPic_FigyBerryTree_4), - obj_frame_tiles(gFieldObjectPic_FigyBerryTree_5), +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 gFieldObjectPicTable_MagoBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_MagoBerryTree_0), - obj_frame_tiles(gFieldObjectPic_MagoBerryTree_1), - obj_frame_tiles(gFieldObjectPic_MagoBerryTree_2), - obj_frame_tiles(gFieldObjectPic_MagoBerryTree_3), - obj_frame_tiles(gFieldObjectPic_MagoBerryTree_4), - obj_frame_tiles(gFieldObjectPic_MagoBerryTree_5), +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 gFieldObjectPicTable_LumBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_LumBerryTree_0), - obj_frame_tiles(gFieldObjectPic_LumBerryTree_1), - obj_frame_tiles(gFieldObjectPic_LumBerryTree_2), - obj_frame_tiles(gFieldObjectPic_LumBerryTree_3), - obj_frame_tiles(gFieldObjectPic_LumBerryTree_4), - obj_frame_tiles(gFieldObjectPic_LumBerryTree_5), +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 gFieldObjectPicTable_RazzBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_RazzBerryTree_0), - obj_frame_tiles(gFieldObjectPic_RazzBerryTree_1), - obj_frame_tiles(gFieldObjectPic_RazzBerryTree_2), - obj_frame_tiles(gFieldObjectPic_RazzBerryTree_3), - obj_frame_tiles(gFieldObjectPic_RazzBerryTree_4), - obj_frame_tiles(gFieldObjectPic_RazzBerryTree_5), +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 gFieldObjectPicTable_GrepaBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_0), - obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_1), - obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_2), - obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_3), - obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_4), - obj_frame_tiles(gFieldObjectPic_GrepaBerryTree_5), +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 gFieldObjectPicTable_RabutaBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_0), - obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_1), - obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_2), - obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_3), - obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_4), - obj_frame_tiles(gFieldObjectPic_RabutaBerryTree_5), +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 gFieldObjectPicTable_NomelBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_NomelBerryTree_0), - obj_frame_tiles(gFieldObjectPic_NomelBerryTree_1), - obj_frame_tiles(gFieldObjectPic_NomelBerryTree_2), - obj_frame_tiles(gFieldObjectPic_NomelBerryTree_3), - obj_frame_tiles(gFieldObjectPic_NomelBerryTree_4), - obj_frame_tiles(gFieldObjectPic_NomelBerryTree_5), +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 gFieldObjectPicTable_LeppaBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_0), - obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_1), - obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_2), - obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_3), - obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_4), - obj_frame_tiles(gFieldObjectPic_LeppaBerryTree_5), +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 gFieldObjectPicTable_LiechiBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_0), - obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_1), - obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_2), - obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_3), - obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_4), - obj_frame_tiles(gFieldObjectPic_LiechiBerryTree_5), +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 gFieldObjectPicTable_HondewBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_HondewBerryTree_0), - obj_frame_tiles(gFieldObjectPic_HondewBerryTree_1), - obj_frame_tiles(gFieldObjectPic_HondewBerryTree_2), - obj_frame_tiles(gFieldObjectPic_HondewBerryTree_3), - obj_frame_tiles(gFieldObjectPic_HondewBerryTree_4), - obj_frame_tiles(gFieldObjectPic_HondewBerryTree_5), +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 gFieldObjectPicTable_AguavBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_AguavBerryTree_0), - obj_frame_tiles(gFieldObjectPic_AguavBerryTree_1), - obj_frame_tiles(gFieldObjectPic_AguavBerryTree_2), - obj_frame_tiles(gFieldObjectPic_AguavBerryTree_3), - obj_frame_tiles(gFieldObjectPic_AguavBerryTree_4), - obj_frame_tiles(gFieldObjectPic_AguavBerryTree_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 gFieldObjectPicTable_WikiBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_WikiBerryTree_0), - obj_frame_tiles(gFieldObjectPic_WikiBerryTree_1), - obj_frame_tiles(gFieldObjectPic_WikiBerryTree_2), - obj_frame_tiles(gFieldObjectPic_WikiBerryTree_3), - obj_frame_tiles(gFieldObjectPic_WikiBerryTree_4), - obj_frame_tiles(gFieldObjectPic_WikiBerryTree_5), +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 gFieldObjectPicTable_PomegBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_PomegBerryTree_0), - obj_frame_tiles(gFieldObjectPic_PomegBerryTree_1), - obj_frame_tiles(gFieldObjectPic_PomegBerryTree_2), - obj_frame_tiles(gFieldObjectPic_PomegBerryTree_3), - obj_frame_tiles(gFieldObjectPic_PomegBerryTree_4), - obj_frame_tiles(gFieldObjectPic_PomegBerryTree_5), +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 gFieldObjectPicTable_RawstBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_RawstBerryTree_0), - obj_frame_tiles(gFieldObjectPic_RawstBerryTree_1), - obj_frame_tiles(gFieldObjectPic_RawstBerryTree_2), - obj_frame_tiles(gFieldObjectPic_RawstBerryTree_3), - obj_frame_tiles(gFieldObjectPic_RawstBerryTree_4), - obj_frame_tiles(gFieldObjectPic_RawstBerryTree_5), +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 gFieldObjectPicTable_SpelonBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_0), - obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_1), - obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_2), - obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_3), - obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_4), - obj_frame_tiles(gFieldObjectPic_SpelonBerryTree_5), +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 gFieldObjectPicTable_ChestoBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_0), - obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_1), - obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_2), - obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_3), - obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_4), - obj_frame_tiles(gFieldObjectPic_ChestoBerryTree_5), +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 gFieldObjectPicTable_OranBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_OranBerryTree_0), - obj_frame_tiles(gFieldObjectPic_OranBerryTree_1), - obj_frame_tiles(gFieldObjectPic_OranBerryTree_2), - obj_frame_tiles(gFieldObjectPic_OranBerryTree_3), - obj_frame_tiles(gFieldObjectPic_OranBerryTree_4), - obj_frame_tiles(gFieldObjectPic_OranBerryTree_5), +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 gFieldObjectPicTable_PersimBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_PersimBerryTree_0), - obj_frame_tiles(gFieldObjectPic_PersimBerryTree_1), - obj_frame_tiles(gFieldObjectPic_PersimBerryTree_2), - obj_frame_tiles(gFieldObjectPic_PersimBerryTree_3), - obj_frame_tiles(gFieldObjectPic_PersimBerryTree_4), - obj_frame_tiles(gFieldObjectPic_PersimBerryTree_5), +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 gFieldObjectPicTable_SitrusBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_0), - obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_1), - obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_2), - obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_3), - obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_4), - obj_frame_tiles(gFieldObjectPic_SitrusBerryTree_5), +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 gFieldObjectPicTable_AspearBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_AspearBerryTree_0), - obj_frame_tiles(gFieldObjectPic_AspearBerryTree_1), - obj_frame_tiles(gFieldObjectPic_AspearBerryTree_2), - obj_frame_tiles(gFieldObjectPic_AspearBerryTree_3), - obj_frame_tiles(gFieldObjectPic_AspearBerryTree_4), - obj_frame_tiles(gFieldObjectPic_AspearBerryTree_5), +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 gFieldObjectPicTable_PamtreBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_0), - obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_1), - obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_2), - obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_3), - obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_4), - obj_frame_tiles(gFieldObjectPic_PamtreBerryTree_5), +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 gFieldObjectPicTable_CornnBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_CornnBerryTree_0), - obj_frame_tiles(gFieldObjectPic_CornnBerryTree_1), - obj_frame_tiles(gFieldObjectPic_CornnBerryTree_2), - obj_frame_tiles(gFieldObjectPic_CornnBerryTree_3), - obj_frame_tiles(gFieldObjectPic_CornnBerryTree_4), - obj_frame_tiles(gFieldObjectPic_CornnBerryTree_5), +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 gFieldObjectPicTable_LansatBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_LansatBerryTree_0), - obj_frame_tiles(gFieldObjectPic_LansatBerryTree_1), - obj_frame_tiles(gFieldObjectPic_LansatBerryTree_2), - obj_frame_tiles(gFieldObjectPic_LansatBerryTree_3), - obj_frame_tiles(gFieldObjectPic_LansatBerryTree_4), - obj_frame_tiles(gFieldObjectPic_LansatBerryTree_5), +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 gFieldObjectPicTable_DurinBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_DurinBerryTree_0), - obj_frame_tiles(gFieldObjectPic_DurinBerryTree_1), - obj_frame_tiles(gFieldObjectPic_DurinBerryTree_2), - obj_frame_tiles(gFieldObjectPic_DurinBerryTree_3), - obj_frame_tiles(gFieldObjectPic_DurinBerryTree_4), - obj_frame_tiles(gFieldObjectPic_DurinBerryTree_5), +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 gFieldObjectPicTable_TamatoBerryTree[] = { - obj_frame_tiles(gFieldObjectPic_BerryTreeDirtPile), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_0), - obj_frame_tiles(gFieldObjectPic_BerryTreeSprout_1), - obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_0), - obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_1), - obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_2), - obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_3), - obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_4), - obj_frame_tiles(gFieldObjectPic_TamatoBerryTree_5), +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 gDeadBerryTreeFieldObjectGraphicsIdTable[] = {MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES}; +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 gBerryTreeFieldObjectGraphicsIdTable[] = {MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES, MAP_OBJ_GFX_BERRY_TREE_LATE_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[] = { - gFieldObjectPicTable_CheriBerryTree, - gFieldObjectPicTable_ChestoBerryTree, - gFieldObjectPicTable_PechaBerryTree, - gFieldObjectPicTable_RawstBerryTree, - gFieldObjectPicTable_AspearBerryTree, - gFieldObjectPicTable_LeppaBerryTree, - gFieldObjectPicTable_OranBerryTree, - gFieldObjectPicTable_PersimBerryTree, - gFieldObjectPicTable_LumBerryTree, - gFieldObjectPicTable_SitrusBerryTree, - gFieldObjectPicTable_FigyBerryTree, - gFieldObjectPicTable_WikiBerryTree, - gFieldObjectPicTable_MagoBerryTree, - gFieldObjectPicTable_AguavBerryTree, - gFieldObjectPicTable_IapapaBerryTree, - gFieldObjectPicTable_RazzBerryTree, - gFieldObjectPicTable_RazzBerryTree, - gFieldObjectPicTable_MagoBerryTree, - gFieldObjectPicTable_WepearBerryTree, - gFieldObjectPicTable_IapapaBerryTree, - gFieldObjectPicTable_PomegBerryTree, - gFieldObjectPicTable_KelpsyBerryTree, - gFieldObjectPicTable_WepearBerryTree, - gFieldObjectPicTable_HondewBerryTree, - gFieldObjectPicTable_GrepaBerryTree, - gFieldObjectPicTable_TamatoBerryTree, - gFieldObjectPicTable_CornnBerryTree, - gFieldObjectPicTable_PomegBerryTree, - gFieldObjectPicTable_RabutaBerryTree, - gFieldObjectPicTable_NomelBerryTree, - gFieldObjectPicTable_SpelonBerryTree, - gFieldObjectPicTable_PamtreBerryTree, - gFieldObjectPicTable_RabutaBerryTree, - gFieldObjectPicTable_DurinBerryTree, - gFieldObjectPicTable_HondewBerryTree, - gFieldObjectPicTable_LiechiBerryTree, - gFieldObjectPicTable_HondewBerryTree, - gFieldObjectPicTable_AguavBerryTree, - gFieldObjectPicTable_PomegBerryTree, - gFieldObjectPicTable_GrepaBerryTree, - gFieldObjectPicTable_LansatBerryTree, - gFieldObjectPicTable_CornnBerryTree, - gFieldObjectPicTable_DurinBerryTree, + 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[] = { @@ -517,53 +517,53 @@ const u8 *const gBerryTreePaletteSlotTablePointers[] = { gBerryTreePaletteSlotTable_Durin, }; -const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[] = { - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, - gBerryTreeFieldObjectGraphicsIdTable, +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, }; diff --git a/src/data/field_event_obj/event_object_anims.h b/src/data/field_event_obj/event_object_anims.h index 3857bf815..9b897651d 100755 --- a/src/data/field_event_obj/event_object_anims.h +++ b/src/data/field_event_obj/event_object_anims.h @@ -1,7 +1,7 @@ #ifndef GUARD_EVENT_OBJECT_ANIMS_H #define GUARD_EVENT_OBJECT_ANIMS_H -const union AnimCmd gFieldObjectImageAnim_StayStill[] = +const union AnimCmd gEventObjectImageAnim_StayStill[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(0, 8), @@ -10,31 +10,31 @@ const union AnimCmd gFieldObjectImageAnim_StayStill[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceSouth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceSouth[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceNorth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceNorth[] = { ANIMCMD_FRAME(1, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceWest[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceWest[] = { ANIMCMD_FRAME(2, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpFaceEast[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpFaceEast[] = { ANIMCMD_FRAME(2, 16, .hFlip = TRUE), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoSouth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoSouth[] = { ANIMCMD_FRAME(3, 8), ANIMCMD_FRAME(0, 8), @@ -43,7 +43,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoNorth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoNorth[] = { ANIMCMD_FRAME(4, 8), ANIMCMD_FRAME(1, 8), @@ -52,7 +52,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoWest[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoWest[] = { ANIMCMD_FRAME(5, 8), ANIMCMD_FRAME(2, 8), @@ -61,7 +61,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoEast[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoEast[] = { ANIMCMD_FRAME(5, 8, .hFlip = TRUE), ANIMCMD_FRAME(2, 8, .hFlip = TRUE), @@ -70,7 +70,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastSouth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastSouth[] = { ANIMCMD_FRAME(3, 4), ANIMCMD_FRAME(0, 4), @@ -79,7 +79,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastNorth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastNorth[] = { ANIMCMD_FRAME(4, 4), ANIMCMD_FRAME(1, 4), @@ -88,7 +88,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastWest[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastWest[] = { ANIMCMD_FRAME(5, 4), ANIMCMD_FRAME(2, 4), @@ -97,7 +97,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastEast[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastEast[] = { ANIMCMD_FRAME(5, 4, .hFlip = TRUE), ANIMCMD_FRAME(2, 4, .hFlip = TRUE), @@ -106,7 +106,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterSouth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterSouth[] = { ANIMCMD_FRAME(3, 2), ANIMCMD_FRAME(0, 2), @@ -115,7 +115,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterNorth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterNorth[] = { ANIMCMD_FRAME(4, 2), ANIMCMD_FRAME(1, 2), @@ -124,7 +124,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterWest[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterWest[] = { ANIMCMD_FRAME(5, 2), ANIMCMD_FRAME(2, 2), @@ -133,7 +133,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterEast[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFasterEast[] = { ANIMCMD_FRAME(5, 2, .hFlip = TRUE), ANIMCMD_FRAME(2, 2, .hFlip = TRUE), @@ -142,7 +142,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFasterEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestSouth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestSouth[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_FRAME(0, 1), @@ -151,7 +151,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestNorth[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestNorth[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_FRAME(1, 1), @@ -160,7 +160,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestWest[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestWest[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_FRAME(2, 1), @@ -169,7 +169,7 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestEast[] = +const union AnimCmd gEventObjectImageAnim_QuintyPlumpGoFastestEast[] = { ANIMCMD_FRAME(5, 1, .hFlip = TRUE), ANIMCMD_FRAME(2, 1, .hFlip = TRUE), @@ -178,31 +178,31 @@ const union AnimCmd gFieldObjectImageAnim_QuintyPlumpGoFastestEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_FaceSouth[] = +const union AnimCmd gEventObjectImageAnim_FaceSouth[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_FaceNorth[] = +const union AnimCmd gEventObjectImageAnim_FaceNorth[] = { ANIMCMD_FRAME(1, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_FaceWest[] = +const union AnimCmd gEventObjectImageAnim_FaceWest[] = { ANIMCMD_FRAME(2, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_FaceEast[] = +const union AnimCmd gEventObjectImageAnim_FaceEast[] = { ANIMCMD_FRAME(2, 16, .hFlip = TRUE), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoSouth[] = +const union AnimCmd gEventObjectImageAnim_GoSouth[] = { ANIMCMD_FRAME(3, 8), ANIMCMD_FRAME(0, 8), @@ -211,7 +211,7 @@ const union AnimCmd gFieldObjectImageAnim_GoSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoNorth[] = +const union AnimCmd gEventObjectImageAnim_GoNorth[] = { ANIMCMD_FRAME(5, 8), ANIMCMD_FRAME(1, 8), @@ -220,7 +220,7 @@ const union AnimCmd gFieldObjectImageAnim_GoNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoWest[] = +const union AnimCmd gEventObjectImageAnim_GoWest[] = { ANIMCMD_FRAME(7, 8), ANIMCMD_FRAME(2, 8), @@ -229,7 +229,7 @@ const union AnimCmd gFieldObjectImageAnim_GoWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoEast[] = +const union AnimCmd gEventObjectImageAnim_GoEast[] = { ANIMCMD_FRAME(7, 8, .hFlip = TRUE), ANIMCMD_FRAME(2, 8, .hFlip = TRUE), @@ -238,7 +238,7 @@ const union AnimCmd gFieldObjectImageAnim_GoEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastSouth[] = +const union AnimCmd gEventObjectImageAnim_GoFastSouth[] = { ANIMCMD_FRAME(3, 4), ANIMCMD_FRAME(0, 4), @@ -247,7 +247,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastNorth[] = +const union AnimCmd gEventObjectImageAnim_GoFastNorth[] = { ANIMCMD_FRAME(5, 4), ANIMCMD_FRAME(1, 4), @@ -256,7 +256,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastWest[] = +const union AnimCmd gEventObjectImageAnim_GoFastWest[] = { ANIMCMD_FRAME(7, 4), ANIMCMD_FRAME(2, 4), @@ -265,7 +265,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastEast[] = +const union AnimCmd gEventObjectImageAnim_GoFastEast[] = { ANIMCMD_FRAME(7, 4, .hFlip = TRUE), ANIMCMD_FRAME(2, 4, .hFlip = TRUE), @@ -274,7 +274,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFasterSouth[] = +const union AnimCmd gEventObjectImageAnim_GoFasterSouth[] = { ANIMCMD_FRAME(3, 2), ANIMCMD_FRAME(0, 2), @@ -283,7 +283,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFasterSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFasterNorth[] = +const union AnimCmd gEventObjectImageAnim_GoFasterNorth[] = { ANIMCMD_FRAME(5, 2), ANIMCMD_FRAME(1, 2), @@ -292,7 +292,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFasterNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFasterWest[] = +const union AnimCmd gEventObjectImageAnim_GoFasterWest[] = { ANIMCMD_FRAME(7, 2), ANIMCMD_FRAME(2, 2), @@ -301,7 +301,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFasterWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFasterEast[] = +const union AnimCmd gEventObjectImageAnim_GoFasterEast[] = { ANIMCMD_FRAME(7, 2, .hFlip = TRUE), ANIMCMD_FRAME(2, 2, .hFlip = TRUE), @@ -310,7 +310,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFasterEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastestSouth[] = +const union AnimCmd gEventObjectImageAnim_GoFastestSouth[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_FRAME(0, 1), @@ -319,7 +319,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastestSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastestNorth[] = +const union AnimCmd gEventObjectImageAnim_GoFastestNorth[] = { ANIMCMD_FRAME(5, 1), ANIMCMD_FRAME(1, 1), @@ -328,7 +328,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastestNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastestWest[] = +const union AnimCmd gEventObjectImageAnim_GoFastestWest[] = { ANIMCMD_FRAME(7, 1), ANIMCMD_FRAME(2, 1), @@ -337,7 +337,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastestWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GoFastestEast[] = +const union AnimCmd gEventObjectImageAnim_GoFastestEast[] = { ANIMCMD_FRAME(7, 1, .hFlip = TRUE), ANIMCMD_FRAME(2, 1, .hFlip = TRUE), @@ -346,7 +346,7 @@ const union AnimCmd gFieldObjectImageAnim_GoFastestEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_RunSouth[] = +const union AnimCmd gEventObjectImageAnim_RunSouth[] = { ANIMCMD_FRAME(12, 5), ANIMCMD_FRAME(9, 3), @@ -355,7 +355,7 @@ const union AnimCmd gFieldObjectImageAnim_RunSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_RunNorth[] = +const union AnimCmd gEventObjectImageAnim_RunNorth[] = { ANIMCMD_FRAME(14, 5), ANIMCMD_FRAME(10, 3), @@ -364,7 +364,7 @@ const union AnimCmd gFieldObjectImageAnim_RunNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_RunWest[] = +const union AnimCmd gEventObjectImageAnim_RunWest[] = { ANIMCMD_FRAME(16, 5), ANIMCMD_FRAME(11, 3), @@ -373,7 +373,7 @@ const union AnimCmd gFieldObjectImageAnim_RunWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_RunEast[] = +const union AnimCmd gEventObjectImageAnim_RunEast[] = { ANIMCMD_FRAME(16, 5, .hFlip = TRUE), ANIMCMD_FRAME(11, 3, .hFlip = TRUE), @@ -382,7 +382,7 @@ const union AnimCmd gFieldObjectImageAnim_RunEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_FieldMove[] = +const union AnimCmd gEventObjectImageAnim_FieldMove[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -392,143 +392,143 @@ const union AnimCmd gFieldObjectImageAnim_FieldMove[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobSouth[] = +const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobSouth[] = { ANIMCMD_FRAME(9, 32), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobNorth[] = +const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobNorth[] = { ANIMCMD_FRAME(10, 32), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobWest[] = +const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobWest[] = { ANIMCMD_FRAME(11, 32), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_GetOnOffSurfBlobEast[] = +const union AnimCmd gEventObjectImageAnim_GetOnOffSurfBlobEast[] = { ANIMCMD_FRAME(11, 32, .hFlip = TRUE), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelSouth[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelSouth[] = { ANIMCMD_FRAME(9, 4), ANIMCMD_FRAME(10, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelNorth[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelNorth[] = { ANIMCMD_FRAME(13, 4), ANIMCMD_FRAME(14, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelWest[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelWest[] = { ANIMCMD_FRAME(17, 4), ANIMCMD_FRAME(18, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyBackWheelEast[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyBackWheelEast[] = { ANIMCMD_FRAME(17, 4, .hFlip = TRUE), ANIMCMD_FRAME(18, 4, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelSouth[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelSouth[] = { ANIMCMD_FRAME(11, 4), ANIMCMD_FRAME(12, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelNorth[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelNorth[] = { ANIMCMD_FRAME(15, 4), ANIMCMD_FRAME(16, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelWest[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelWest[] = { ANIMCMD_FRAME(19, 4), ANIMCMD_FRAME(20, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BunnyHoppyFrontWheelEast[] = +const union AnimCmd gEventObjectImageAnim_BunnyHoppyFrontWheelEast[] = { ANIMCMD_FRAME(19, 4, .hFlip = TRUE), ANIMCMD_FRAME(20, 4, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelSouth[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelSouth[] = { ANIMCMD_FRAME(9, 4), ANIMCMD_FRAME(0, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelNorth[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelNorth[] = { ANIMCMD_FRAME(13, 4), ANIMCMD_FRAME(1, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelWest[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelWest[] = { ANIMCMD_FRAME(17, 4), ANIMCMD_FRAME(2, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieBackWheelEast[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieBackWheelEast[] = { ANIMCMD_FRAME(17, 4, .hFlip = TRUE), ANIMCMD_FRAME(2, 4, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelSouth[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelSouth[] = { ANIMCMD_FRAME(11, 4), ANIMCMD_FRAME(0, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelNorth[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelNorth[] = { ANIMCMD_FRAME(15, 4), ANIMCMD_FRAME(1, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelWest[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelWest[] = { ANIMCMD_FRAME(19, 4), ANIMCMD_FRAME(2, 4), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_StandingWheelieFrontWheelEast[] = +const union AnimCmd gEventObjectImageAnim_StandingWheelieFrontWheelEast[] = { ANIMCMD_FRAME(19, 4, .hFlip = TRUE), ANIMCMD_FRAME(2, 4, .hFlip = TRUE), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_MovingWheelieSouth[] = +const union AnimCmd gEventObjectImageAnim_MovingWheelieSouth[] = { ANIMCMD_FRAME(21, 4), ANIMCMD_FRAME(10, 4), @@ -537,7 +537,7 @@ const union AnimCmd gFieldObjectImageAnim_MovingWheelieSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_MovingWheelieNorth[] = +const union AnimCmd gEventObjectImageAnim_MovingWheelieNorth[] = { ANIMCMD_FRAME(23, 4), ANIMCMD_FRAME(14, 4), @@ -546,7 +546,7 @@ const union AnimCmd gFieldObjectImageAnim_MovingWheelieNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_MovingWheelieWest[] = +const union AnimCmd gEventObjectImageAnim_MovingWheelieWest[] = { ANIMCMD_FRAME(25, 4), ANIMCMD_FRAME(18, 4), @@ -555,7 +555,7 @@ const union AnimCmd gFieldObjectImageAnim_MovingWheelieWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_MovingWheelieEast[] = +const union AnimCmd gEventObjectImageAnim_MovingWheelieEast[] = { ANIMCMD_FRAME(25, 4, .hFlip = TRUE), ANIMCMD_FRAME(18, 4, .hFlip = TRUE), @@ -564,27 +564,27 @@ const union AnimCmd gFieldObjectImageAnim_MovingWheelieEast[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_BerryTreeStage0[] = +const union AnimCmd gEventObjectImageAnim_BerryTreeStage0[] = { ANIMCMD_FRAME(0, 32), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BerryTreeStage1[] = +const union AnimCmd gEventObjectImageAnim_BerryTreeStage1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(2, 32), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BerryTreeStage2[] = +const union AnimCmd gEventObjectImageAnim_BerryTreeStage2[] = { ANIMCMD_FRAME(3, 48), ANIMCMD_FRAME(4, 48), ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BerryTreeStage3[] = +const union AnimCmd gEventObjectImageAnim_BerryTreeStage3[] = { ANIMCMD_FRAME(5, 32), ANIMCMD_FRAME(5, 32), @@ -593,7 +593,7 @@ const union AnimCmd gFieldObjectImageAnim_BerryTreeStage3[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_BerryTreeStage4[] = +const union AnimCmd gEventObjectImageAnim_BerryTreeStage4[] = { ANIMCMD_FRAME(7, 48), ANIMCMD_FRAME(7, 48), @@ -602,7 +602,7 @@ const union AnimCmd gFieldObjectImageAnim_BerryTreeStage4[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_NurseBow[] = +const union AnimCmd gEventObjectImageAnim_NurseBow[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(9, 32), @@ -610,7 +610,7 @@ const union AnimCmd gFieldObjectImageAnim_NurseBow[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_RockBreak[] = +const union AnimCmd gEventObjectImageAnim_RockBreak[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -619,7 +619,7 @@ const union AnimCmd gFieldObjectImageAnim_RockBreak[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_TreeCut[] = +const union AnimCmd gEventObjectImageAnim_TreeCut[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -628,7 +628,7 @@ const union AnimCmd gFieldObjectImageAnim_TreeCut[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_TakeOutRodSouth[] = +const union AnimCmd gEventObjectImageAnim_TakeOutRodSouth[] = { ANIMCMD_FRAME(8, 4), ANIMCMD_FRAME(9, 4), @@ -637,7 +637,7 @@ const union AnimCmd gFieldObjectImageAnim_TakeOutRodSouth[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_TakeOutRodNorth[] = +const union AnimCmd gEventObjectImageAnim_TakeOutRodNorth[] = { ANIMCMD_FRAME(4, 4), ANIMCMD_FRAME(5, 4), @@ -646,7 +646,7 @@ const union AnimCmd gFieldObjectImageAnim_TakeOutRodNorth[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_TakeOutRodWest[] = +const union AnimCmd gEventObjectImageAnim_TakeOutRodWest[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -655,7 +655,7 @@ const union AnimCmd gFieldObjectImageAnim_TakeOutRodWest[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_TakeOutRodEast[] = +const union AnimCmd gEventObjectImageAnim_TakeOutRodEast[] = { ANIMCMD_FRAME(0, 4, .hFlip = TRUE), ANIMCMD_FRAME(1, 4, .hFlip = TRUE), @@ -664,7 +664,7 @@ const union AnimCmd gFieldObjectImageAnim_TakeOutRodEast[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_PutAwayRodSouth[] = +const union AnimCmd gEventObjectImageAnim_PutAwayRodSouth[] = { ANIMCMD_FRAME(11, 4), ANIMCMD_FRAME(10, 6), @@ -673,7 +673,7 @@ const union AnimCmd gFieldObjectImageAnim_PutAwayRodSouth[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_PutAwayRodNorth[] = +const union AnimCmd gEventObjectImageAnim_PutAwayRodNorth[] = { ANIMCMD_FRAME(7, 4), ANIMCMD_FRAME(6, 6), @@ -682,7 +682,7 @@ const union AnimCmd gFieldObjectImageAnim_PutAwayRodNorth[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_PutAwayRodWest[] = +const union AnimCmd gEventObjectImageAnim_PutAwayRodWest[] = { ANIMCMD_FRAME(3, 4), ANIMCMD_FRAME(2, 4), @@ -691,7 +691,7 @@ const union AnimCmd gFieldObjectImageAnim_PutAwayRodWest[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_PutAwayRodEast[] = +const union AnimCmd gEventObjectImageAnim_PutAwayRodEast[] = { ANIMCMD_FRAME(3, 4, .hFlip = TRUE), ANIMCMD_FRAME(2, 4, .hFlip = TRUE), @@ -700,7 +700,7 @@ const union AnimCmd gFieldObjectImageAnim_PutAwayRodEast[] = ANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_HookedPokemonSouth[] = +const union AnimCmd gEventObjectImageAnim_HookedPokemonSouth[] = { ANIMCMD_FRAME(10, 6), ANIMCMD_FRAME(11, 6), @@ -709,7 +709,7 @@ const union AnimCmd gFieldObjectImageAnim_HookedPokemonSouth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_HookedPokemonNorth[] = +const union AnimCmd gEventObjectImageAnim_HookedPokemonNorth[] = { ANIMCMD_FRAME(6, 6), ANIMCMD_FRAME(7, 6), @@ -718,7 +718,7 @@ const union AnimCmd gFieldObjectImageAnim_HookedPokemonNorth[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_HookedPokemonWest[] = +const union AnimCmd gEventObjectImageAnim_HookedPokemonWest[] = { ANIMCMD_FRAME(2, 6), ANIMCMD_FRAME(3, 6), @@ -727,7 +727,7 @@ const union AnimCmd gFieldObjectImageAnim_HookedPokemonWest[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_HookedPokemonEast[] = +const union AnimCmd gEventObjectImageAnim_HookedPokemonEast[] = { ANIMCMD_FRAME(2, 6, .hFlip = TRUE), ANIMCMD_FRAME(3, 6, .hFlip = TRUE), @@ -736,7 +736,7 @@ const union AnimCmd gFieldObjectImageAnim_HookedPokemonEast[] = ANIMCMD_JUMP(0), }; -const union AffineAnimCmd gFieldObjectRotScalAnim_8508FD8[] = +const union AffineAnimCmd gEventObjectRotScalAnim_8508FD8[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), @@ -746,7 +746,7 @@ const union AffineAnimCmd gFieldObjectRotScalAnim_8508FD8[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gFieldObjectRotScalAnim_8509008[] = +const union AffineAnimCmd gEventObjectRotScalAnim_8509008[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1), @@ -757,33 +757,33 @@ const union AffineAnimCmd gFieldObjectRotScalAnim_8509008[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gFieldObjectRotScalAnim_8509040[] = +const union AffineAnimCmd gEventObjectRotScalAnim_8509040[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gFieldObjectRotScalAnim_8509050[] = +const union AffineAnimCmd gEventObjectRotScalAnim_8509050[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 10, 0), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gFieldObjectRotScalAnim_8509060[] = +const union AffineAnimCmd gEventObjectRotScalAnim_8509060[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, -1, 1), AFFINEANIMCMD_LOOP(8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gFieldObjectRotScalAnim_8509078[] = +const union AffineAnimCmd gEventObjectRotScalAnim_8509078[] = { AFFINEANIMCMD_FRAME(0x0, 0x0, 1, 1), AFFINEANIMCMD_LOOP(8), AFFINEANIMCMD_END, }; -const union AnimCmd gFieldObjectImageAnim_HoOhFlapWings[] = +const union AnimCmd gEventObjectImageAnim_HoOhFlapWings[] = { ANIMCMD_FRAME(3, 8), ANIMCMD_FRAME(4, 8), @@ -792,379 +792,379 @@ const union AnimCmd gFieldObjectImageAnim_HoOhFlapWings[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_HoOhStayStill[] = +const union AnimCmd gEventObjectImageAnim_HoOhStayStill[] = { ANIMCMD_FRAME(3, 16), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gFieldObjectImageAnimTable_Inanimate[] = { - gFieldObjectImageAnim_StayStill, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_QuintyPlump[] = { - gFieldObjectImageAnim_QuintyPlumpFaceSouth, - gFieldObjectImageAnim_QuintyPlumpFaceNorth, - gFieldObjectImageAnim_QuintyPlumpFaceWest, - gFieldObjectImageAnim_QuintyPlumpFaceEast, - gFieldObjectImageAnim_QuintyPlumpGoSouth, - gFieldObjectImageAnim_QuintyPlumpGoNorth, - gFieldObjectImageAnim_QuintyPlumpGoWest, - gFieldObjectImageAnim_QuintyPlumpGoEast, - gFieldObjectImageAnim_QuintyPlumpGoFastSouth, - gFieldObjectImageAnim_QuintyPlumpGoFastNorth, - gFieldObjectImageAnim_QuintyPlumpGoFastWest, - gFieldObjectImageAnim_QuintyPlumpGoFastEast, - gFieldObjectImageAnim_QuintyPlumpGoFasterSouth, - gFieldObjectImageAnim_QuintyPlumpGoFasterNorth, - gFieldObjectImageAnim_QuintyPlumpGoFasterWest, - gFieldObjectImageAnim_QuintyPlumpGoFasterEast, - gFieldObjectImageAnim_QuintyPlumpGoFastestSouth, - gFieldObjectImageAnim_QuintyPlumpGoFastestNorth, - gFieldObjectImageAnim_QuintyPlumpGoFastestWest, - gFieldObjectImageAnim_QuintyPlumpGoFastestEast, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_Standard[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_GoSouth, - gFieldObjectImageAnim_GoNorth, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastNorth, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterNorth, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestNorth, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_HoOh[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_HoOhFlapWings, - gFieldObjectImageAnim_HoOhStayStill, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastNorth, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterNorth, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestNorth, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_Groudon3[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_GoSouth, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestEast, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, -}; - -const union AnimCmd gFieldObjectImageAnim_85091F0[] = +const union AnimCmd *const gEventObjectImageAnimTable_Inanimate[] = { + gEventObjectImageAnim_StayStill, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_QuintyPlump[] = { + gEventObjectImageAnim_QuintyPlumpFaceSouth, + gEventObjectImageAnim_QuintyPlumpFaceNorth, + gEventObjectImageAnim_QuintyPlumpFaceWest, + gEventObjectImageAnim_QuintyPlumpFaceEast, + gEventObjectImageAnim_QuintyPlumpGoSouth, + gEventObjectImageAnim_QuintyPlumpGoNorth, + gEventObjectImageAnim_QuintyPlumpGoWest, + gEventObjectImageAnim_QuintyPlumpGoEast, + gEventObjectImageAnim_QuintyPlumpGoFastSouth, + gEventObjectImageAnim_QuintyPlumpGoFastNorth, + gEventObjectImageAnim_QuintyPlumpGoFastWest, + gEventObjectImageAnim_QuintyPlumpGoFastEast, + gEventObjectImageAnim_QuintyPlumpGoFasterSouth, + gEventObjectImageAnim_QuintyPlumpGoFasterNorth, + gEventObjectImageAnim_QuintyPlumpGoFasterWest, + gEventObjectImageAnim_QuintyPlumpGoFasterEast, + gEventObjectImageAnim_QuintyPlumpGoFastestSouth, + gEventObjectImageAnim_QuintyPlumpGoFastestNorth, + gEventObjectImageAnim_QuintyPlumpGoFastestWest, + gEventObjectImageAnim_QuintyPlumpGoFastestEast, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Standard[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_GoSouth, + gEventObjectImageAnim_GoNorth, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastNorth, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterNorth, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestNorth, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_HoOh[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_HoOhFlapWings, + gEventObjectImageAnim_HoOhStayStill, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastNorth, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterNorth, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestNorth, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Groudon3[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_GoSouth, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestEast, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, +}; + +const union AnimCmd gEventObjectImageAnim_85091F0[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_85091F8[] = +const union AnimCmd gEventObjectImageAnim_85091F8[] = { ANIMCMD_FRAME(4, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509200[] = +const union AnimCmd gEventObjectImageAnim_8509200[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509208[] = +const union AnimCmd gEventObjectImageAnim_8509208[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509210[] = +const union AnimCmd gEventObjectImageAnim_8509210[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509218[] = +const union AnimCmd gEventObjectImageAnim_8509218[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509220[] = +const union AnimCmd gEventObjectImageAnim_8509220[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509228[] = +const union AnimCmd gEventObjectImageAnim_8509228[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd gFieldObjectImageAnim_8509230[] = +const union AnimCmd gEventObjectImageAnim_8509230[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gFieldObjectImageAnimTable_Rayquaza2[] = { - gFieldObjectImageAnim_8509218, - gFieldObjectImageAnim_8509220, - gFieldObjectImageAnim_8509228, - gFieldObjectImageAnim_8509230, - gFieldObjectImageAnim_8509200, - gFieldObjectImageAnim_85091F8, - gFieldObjectImageAnim_8509208, - gFieldObjectImageAnim_8509210, - gFieldObjectImageAnim_8509200, - gFieldObjectImageAnim_85091F8, - gFieldObjectImageAnim_85091F0, - gFieldObjectImageAnim_8509210, - gFieldObjectImageAnim_8509200, - gFieldObjectImageAnim_85091F8, - gFieldObjectImageAnim_8509208, - gFieldObjectImageAnim_8509210, - gFieldObjectImageAnim_8509200, - gFieldObjectImageAnim_85091F8, - gFieldObjectImageAnim_8509208, - gFieldObjectImageAnim_8509210, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_BrendanMayNormal[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_GoSouth, - gFieldObjectImageAnim_GoNorth, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastNorth, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterNorth, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestNorth, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, - gFieldObjectImageAnim_RunSouth, - gFieldObjectImageAnim_RunNorth, - gFieldObjectImageAnim_RunWest, - gFieldObjectImageAnim_RunEast, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_AcroBike[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_GoSouth, - gFieldObjectImageAnim_GoNorth, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastNorth, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterNorth, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestNorth, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, - gFieldObjectImageAnim_BunnyHoppyBackWheelSouth, - gFieldObjectImageAnim_BunnyHoppyBackWheelNorth, - gFieldObjectImageAnim_BunnyHoppyBackWheelWest, - gFieldObjectImageAnim_BunnyHoppyBackWheelEast, - gFieldObjectImageAnim_BunnyHoppyFrontWheelSouth, - gFieldObjectImageAnim_BunnyHoppyFrontWheelNorth, - gFieldObjectImageAnim_BunnyHoppyFrontWheelWest, - gFieldObjectImageAnim_BunnyHoppyFrontWheelEast, - gFieldObjectImageAnim_StandingWheelieBackWheelSouth, - gFieldObjectImageAnim_StandingWheelieBackWheelNorth, - gFieldObjectImageAnim_StandingWheelieBackWheelWest, - gFieldObjectImageAnim_StandingWheelieBackWheelEast, - gFieldObjectImageAnim_StandingWheelieFrontWheelSouth, - gFieldObjectImageAnim_StandingWheelieFrontWheelNorth, - gFieldObjectImageAnim_StandingWheelieFrontWheelWest, - gFieldObjectImageAnim_StandingWheelieFrontWheelEast, - gFieldObjectImageAnim_MovingWheelieSouth, - gFieldObjectImageAnim_MovingWheelieNorth, - gFieldObjectImageAnim_MovingWheelieWest, - gFieldObjectImageAnim_MovingWheelieEast, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_Surfing[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_GoSouth, - gFieldObjectImageAnim_GoNorth, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastNorth, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterNorth, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestNorth, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, - gFieldObjectImageAnim_GetOnOffSurfBlobSouth, - gFieldObjectImageAnim_GetOnOffSurfBlobNorth, - gFieldObjectImageAnim_GetOnOffSurfBlobWest, - gFieldObjectImageAnim_GetOnOffSurfBlobEast, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_Nurse[] = { - gFieldObjectImageAnim_FaceSouth, - gFieldObjectImageAnim_FaceNorth, - gFieldObjectImageAnim_FaceWest, - gFieldObjectImageAnim_FaceEast, - gFieldObjectImageAnim_GoSouth, - gFieldObjectImageAnim_GoNorth, - gFieldObjectImageAnim_GoWest, - gFieldObjectImageAnim_GoEast, - gFieldObjectImageAnim_GoFastSouth, - gFieldObjectImageAnim_GoFastNorth, - gFieldObjectImageAnim_GoFastWest, - gFieldObjectImageAnim_GoFastEast, - gFieldObjectImageAnim_GoFasterSouth, - gFieldObjectImageAnim_GoFasterNorth, - gFieldObjectImageAnim_GoFasterWest, - gFieldObjectImageAnim_GoFasterEast, - gFieldObjectImageAnim_GoFastestSouth, - gFieldObjectImageAnim_GoFastestNorth, - gFieldObjectImageAnim_GoFastestWest, - gFieldObjectImageAnim_GoFastestEast, - gFieldObjectImageAnim_NurseBow, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_FieldMove[] = { - gFieldObjectImageAnim_FieldMove, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_BerryTree[] = { - gFieldObjectImageAnim_BerryTreeStage0, - gFieldObjectImageAnim_BerryTreeStage1, - gFieldObjectImageAnim_BerryTreeStage2, - gFieldObjectImageAnim_BerryTreeStage3, - gFieldObjectImageAnim_BerryTreeStage4, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_BreakableRock[] = { - gFieldObjectImageAnim_StayStill, - gFieldObjectImageAnim_RockBreak, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_CuttableTree[] = { - gFieldObjectImageAnim_StayStill, - gFieldObjectImageAnim_TreeCut, -}; - -const union AnimCmd *const gFieldObjectImageAnimTable_Fishing[] = { - gFieldObjectImageAnim_TakeOutRodSouth, - gFieldObjectImageAnim_TakeOutRodNorth, - gFieldObjectImageAnim_TakeOutRodWest, - gFieldObjectImageAnim_TakeOutRodEast, - gFieldObjectImageAnim_PutAwayRodSouth, - gFieldObjectImageAnim_PutAwayRodNorth, - gFieldObjectImageAnim_PutAwayRodWest, - gFieldObjectImageAnim_PutAwayRodEast, - gFieldObjectImageAnim_HookedPokemonSouth, - gFieldObjectImageAnim_HookedPokemonNorth, - gFieldObjectImageAnim_HookedPokemonWest, - gFieldObjectImageAnim_HookedPokemonEast, -}; - -const union AffineAnimCmd *const gFieldObjectRotScalAnimTable_KyogreGroudon[] = { - gFieldObjectRotScalAnim_8508FD8, - gFieldObjectRotScalAnim_8509008, - gFieldObjectRotScalAnim_8509050, - gFieldObjectRotScalAnim_8509040, - gFieldObjectRotScalAnim_8509078, - gFieldObjectRotScalAnim_8509060, +const union AnimCmd *const gEventObjectImageAnimTable_Rayquaza2[] = { + gEventObjectImageAnim_8509218, + gEventObjectImageAnim_8509220, + gEventObjectImageAnim_8509228, + gEventObjectImageAnim_8509230, + gEventObjectImageAnim_8509200, + gEventObjectImageAnim_85091F8, + gEventObjectImageAnim_8509208, + gEventObjectImageAnim_8509210, + gEventObjectImageAnim_8509200, + gEventObjectImageAnim_85091F8, + gEventObjectImageAnim_85091F0, + gEventObjectImageAnim_8509210, + gEventObjectImageAnim_8509200, + gEventObjectImageAnim_85091F8, + gEventObjectImageAnim_8509208, + gEventObjectImageAnim_8509210, + gEventObjectImageAnim_8509200, + gEventObjectImageAnim_85091F8, + gEventObjectImageAnim_8509208, + gEventObjectImageAnim_8509210, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_BrendanMayNormal[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_GoSouth, + gEventObjectImageAnim_GoNorth, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastNorth, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterNorth, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestNorth, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, + gEventObjectImageAnim_RunSouth, + gEventObjectImageAnim_RunNorth, + gEventObjectImageAnim_RunWest, + gEventObjectImageAnim_RunEast, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_AcroBike[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_GoSouth, + gEventObjectImageAnim_GoNorth, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastNorth, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterNorth, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestNorth, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, + gEventObjectImageAnim_BunnyHoppyBackWheelSouth, + gEventObjectImageAnim_BunnyHoppyBackWheelNorth, + gEventObjectImageAnim_BunnyHoppyBackWheelWest, + gEventObjectImageAnim_BunnyHoppyBackWheelEast, + gEventObjectImageAnim_BunnyHoppyFrontWheelSouth, + gEventObjectImageAnim_BunnyHoppyFrontWheelNorth, + gEventObjectImageAnim_BunnyHoppyFrontWheelWest, + gEventObjectImageAnim_BunnyHoppyFrontWheelEast, + gEventObjectImageAnim_StandingWheelieBackWheelSouth, + gEventObjectImageAnim_StandingWheelieBackWheelNorth, + gEventObjectImageAnim_StandingWheelieBackWheelWest, + gEventObjectImageAnim_StandingWheelieBackWheelEast, + gEventObjectImageAnim_StandingWheelieFrontWheelSouth, + gEventObjectImageAnim_StandingWheelieFrontWheelNorth, + gEventObjectImageAnim_StandingWheelieFrontWheelWest, + gEventObjectImageAnim_StandingWheelieFrontWheelEast, + gEventObjectImageAnim_MovingWheelieSouth, + gEventObjectImageAnim_MovingWheelieNorth, + gEventObjectImageAnim_MovingWheelieWest, + gEventObjectImageAnim_MovingWheelieEast, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Surfing[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_GoSouth, + gEventObjectImageAnim_GoNorth, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastNorth, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterNorth, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestNorth, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, + gEventObjectImageAnim_GetOnOffSurfBlobSouth, + gEventObjectImageAnim_GetOnOffSurfBlobNorth, + gEventObjectImageAnim_GetOnOffSurfBlobWest, + gEventObjectImageAnim_GetOnOffSurfBlobEast, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Nurse[] = { + gEventObjectImageAnim_FaceSouth, + gEventObjectImageAnim_FaceNorth, + gEventObjectImageAnim_FaceWest, + gEventObjectImageAnim_FaceEast, + gEventObjectImageAnim_GoSouth, + gEventObjectImageAnim_GoNorth, + gEventObjectImageAnim_GoWest, + gEventObjectImageAnim_GoEast, + gEventObjectImageAnim_GoFastSouth, + gEventObjectImageAnim_GoFastNorth, + gEventObjectImageAnim_GoFastWest, + gEventObjectImageAnim_GoFastEast, + gEventObjectImageAnim_GoFasterSouth, + gEventObjectImageAnim_GoFasterNorth, + gEventObjectImageAnim_GoFasterWest, + gEventObjectImageAnim_GoFasterEast, + gEventObjectImageAnim_GoFastestSouth, + gEventObjectImageAnim_GoFastestNorth, + gEventObjectImageAnim_GoFastestWest, + gEventObjectImageAnim_GoFastestEast, + gEventObjectImageAnim_NurseBow, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_FieldMove[] = { + gEventObjectImageAnim_FieldMove, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_BerryTree[] = { + gEventObjectImageAnim_BerryTreeStage0, + gEventObjectImageAnim_BerryTreeStage1, + gEventObjectImageAnim_BerryTreeStage2, + gEventObjectImageAnim_BerryTreeStage3, + gEventObjectImageAnim_BerryTreeStage4, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_BreakableRock[] = { + gEventObjectImageAnim_StayStill, + gEventObjectImageAnim_RockBreak, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_CuttableTree[] = { + gEventObjectImageAnim_StayStill, + gEventObjectImageAnim_TreeCut, +}; + +const union AnimCmd *const gEventObjectImageAnimTable_Fishing[] = { + gEventObjectImageAnim_TakeOutRodSouth, + gEventObjectImageAnim_TakeOutRodNorth, + gEventObjectImageAnim_TakeOutRodWest, + gEventObjectImageAnim_TakeOutRodEast, + gEventObjectImageAnim_PutAwayRodSouth, + gEventObjectImageAnim_PutAwayRodNorth, + gEventObjectImageAnim_PutAwayRodWest, + gEventObjectImageAnim_PutAwayRodEast, + gEventObjectImageAnim_HookedPokemonSouth, + gEventObjectImageAnim_HookedPokemonNorth, + gEventObjectImageAnim_HookedPokemonWest, + gEventObjectImageAnim_HookedPokemonEast, +}; + +const union AffineAnimCmd *const gEventObjectRotScalAnimTable_KyogreGroudon[] = { + gEventObjectRotScalAnim_8508FD8, + gEventObjectRotScalAnim_8509008, + gEventObjectRotScalAnim_8509050, + gEventObjectRotScalAnim_8509040, + gEventObjectRotScalAnim_8509078, + gEventObjectRotScalAnim_8509060, }; const struct UnkStruct_085094AC gUnknown_085094AC[] = { { - .anims = gFieldObjectImageAnimTable_QuintyPlump, + .anims = gEventObjectImageAnimTable_QuintyPlump, .animPos = {1, 3, 0, 2}, }, { - .anims = gFieldObjectImageAnimTable_Standard, + .anims = gEventObjectImageAnimTable_Standard, .animPos = {1, 3, 0, 2}, }, { - .anims = gFieldObjectImageAnimTable_BrendanMayNormal, + .anims = gEventObjectImageAnimTable_BrendanMayNormal, .animPos = {1, 3, 0, 2}, }, { - .anims = gFieldObjectImageAnimTable_AcroBike, + .anims = gEventObjectImageAnimTable_AcroBike, .animPos = {1, 3, 0, 2}, }, { - .anims = gFieldObjectImageAnimTable_Surfing, + .anims = gEventObjectImageAnimTable_Surfing, .animPos = {1, 3, 0, 2}, }, { - .anims = gFieldObjectImageAnimTable_Nurse, + .anims = gEventObjectImageAnimTable_Nurse, .animPos = {1, 3, 0, 2}, }, { - .anims = gFieldObjectImageAnimTable_Fishing, + .anims = gEventObjectImageAnimTable_Fishing, .animPos = {1, 3, 0, 2}, }, { diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index 9a9f096a2..3d4303189 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -1,44 +1,44 @@ #ifndef GUARD_EVENT_OBJECT_GFX_H #define GUARD_EVENT_OBJECT_GFX_H -const u32 gFieldObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/00.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/01.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/02.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/03.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/04.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/05.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/06.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/07.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/08.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/09.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/10.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/11.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/12.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/13.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/14.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/15.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/16.4bpp"); -const u32 gFieldObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/normal/17.4bpp"); -const u16 gFieldObjectPalette8[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_08.gbapal"); -const u32 gFieldObjectPic_RubySapphireBrendan_0[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/00.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_1[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/01.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_2[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/02.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_3[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/03.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_4[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/04.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_5[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/05.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_6[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/06.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_7[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/07.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_8[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/08.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_9[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/09.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_10[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/10.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_11[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/11.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_12[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/12.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_13[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/13.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_14[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/14.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_15[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/15.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_16[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/16.4bpp"); -const u32 gFieldObjectPic_RubySapphireBrendan_17[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_brendan/17.4bpp"); -const u16 gFieldObjectPalette33[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_33.gbapal"); +const u32 gEventObjectPic_BrendanNormal_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/00.4bpp"); +const u32 gEventObjectPic_BrendanNormal_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/01.4bpp"); +const u32 gEventObjectPic_BrendanNormal_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/02.4bpp"); +const u32 gEventObjectPic_BrendanNormal_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/03.4bpp"); +const u32 gEventObjectPic_BrendanNormal_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/04.4bpp"); +const u32 gEventObjectPic_BrendanNormal_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/05.4bpp"); +const u32 gEventObjectPic_BrendanNormal_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/06.4bpp"); +const u32 gEventObjectPic_BrendanNormal_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/07.4bpp"); +const u32 gEventObjectPic_BrendanNormal_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/08.4bpp"); +const u32 gEventObjectPic_BrendanNormal_9[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/09.4bpp"); +const u32 gEventObjectPic_BrendanNormal_10[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/10.4bpp"); +const u32 gEventObjectPic_BrendanNormal_11[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/11.4bpp"); +const u32 gEventObjectPic_BrendanNormal_12[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/12.4bpp"); +const u32 gEventObjectPic_BrendanNormal_13[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/13.4bpp"); +const u32 gEventObjectPic_BrendanNormal_14[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/14.4bpp"); +const u32 gEventObjectPic_BrendanNormal_15[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/15.4bpp"); +const u32 gEventObjectPic_BrendanNormal_16[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/16.4bpp"); +const u32 gEventObjectPic_BrendanNormal_17[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/normal/17.4bpp"); +const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal"); +const u32 gEventObjectPic_RubySapphireBrendan_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/00.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/01.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_2[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/02.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_3[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/03.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_4[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/04.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_5[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/05.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_6[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/06.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_7[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/07.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_8[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/08.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_9[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/09.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_10[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/10.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_11[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/11.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_12[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/12.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_13[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/13.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_14[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/14.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_15[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/15.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_16[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/16.4bpp"); +const u32 gEventObjectPic_RubySapphireBrendan_17[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/17.4bpp"); +const u16 gEventObjectPalette33[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_33.gbapal"); const u16 NullPalette_8499A38[16] = {}; const u16 NullPalette_8499A58[16] = {}; const u16 NullPalette_8499A78[16] = {}; @@ -54,124 +54,124 @@ const u16 NullPalette_8499B98[16] = {}; const u16 NullPalette_8499BB8[16] = {}; const u16 NullPalette_8499BD8[16] = {}; const u16 NullPalette_8499BF8[16] = {}; -const u16 gFieldObjectPalette9[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_09.gbapal"); -const u16 gFieldObjectPalette10[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_10.gbapal"); -const u32 gFieldObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/0.4bpp"); -const u32 gFieldObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/1.4bpp"); -const u32 gFieldObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/2.4bpp"); -const u32 gFieldObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/3.4bpp"); -const u32 gFieldObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/field_move/4.4bpp"); -const u32 gFieldObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/0.4bpp"); -const u32 gFieldObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/3.4bpp"); -const u32 gFieldObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/1.4bpp"); -const u32 gFieldObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/4.4bpp"); -const u32 gFieldObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/2.4bpp"); -const u32 gFieldObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/surfing/5.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/0.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/1.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/2.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/3.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/4.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/5.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/6.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/7.4bpp"); -const u32 gFieldObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/mach_bike/8.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/00.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/01.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/02.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/03.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/04.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/05.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/06.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/07.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/08.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/09.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/10.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/11.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/12.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/13.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/14.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/15.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/16.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/17.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/18.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/19.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/20.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/21.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/22.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/23.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/24.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/25.4bpp"); -const u32 gFieldObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/acro_bike/26.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/00.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/01.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/02.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/03.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/04.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/05.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/06.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/07.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/08.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/09.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/10.4bpp"); -const u32 gFieldObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/fishing/11.4bpp"); -const u32 gFieldObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/0.4bpp"); -const u32 gFieldObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/3.4bpp"); -const u32 gFieldObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/1.4bpp"); -const u32 gFieldObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/4.4bpp"); -const u32 gFieldObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/2.4bpp"); -const u32 gFieldObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/watering/5.4bpp"); -const u32 gFieldObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/decorating.4bpp"); -const u32 gFieldObjectPic_MayDecorating[] = INCBIN_U32("graphics/map_objects/pics/people/may/decorating.4bpp"); -const u32 gFieldObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/0.4bpp"); -const u32 gFieldObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/1.4bpp"); -const u32 gFieldObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/2.4bpp"); -const u32 gFieldObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/brendan/underwater/3.4bpp"); -const u32 gFieldObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/0.4bpp"); -const u32 gFieldObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/1.4bpp"); -const u32 gFieldObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/2.4bpp"); -const u32 gFieldObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/underwater/3.4bpp"); -const u16 gFieldObjectPalette11[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_11.gbapal"); -const u32 gFieldObjectPic_MayNormal_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/00.4bpp"); -const u32 gFieldObjectPic_MayNormal_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/01.4bpp"); -const u32 gFieldObjectPic_MayNormal_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/02.4bpp"); -const u32 gFieldObjectPic_MayNormal_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/03.4bpp"); -const u32 gFieldObjectPic_MayNormal_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/04.4bpp"); -const u32 gFieldObjectPic_MayNormal_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/05.4bpp"); -const u32 gFieldObjectPic_MayNormal_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/06.4bpp"); -const u32 gFieldObjectPic_MayNormal_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/07.4bpp"); -const u32 gFieldObjectPic_MayNormal_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/08.4bpp"); -const u32 gFieldObjectPic_MayNormal_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/09.4bpp"); -const u32 gFieldObjectPic_MayNormal_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/10.4bpp"); -const u32 gFieldObjectPic_MayNormal_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/11.4bpp"); -const u32 gFieldObjectPic_MayNormal_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/12.4bpp"); -const u32 gFieldObjectPic_MayNormal_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/13.4bpp"); -const u32 gFieldObjectPic_MayNormal_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/14.4bpp"); -const u32 gFieldObjectPic_MayNormal_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/15.4bpp"); -const u32 gFieldObjectPic_MayNormal_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/16.4bpp"); -const u32 gFieldObjectPic_MayNormal_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/normal/17.4bpp"); -const u16 gFieldObjectPalette17[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_17.gbapal"); -const u16 gFieldObjectPalette18[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_18.gbapal"); -const u32 gFieldObjectPic_RubySapphireMay_0[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/00.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_1[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/01.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_2[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/02.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_3[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/03.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_4[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/04.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_5[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/05.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_6[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/06.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_7[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/07.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_8[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/08.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_9[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/09.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_10[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/10.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_11[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/11.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_12[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/12.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_13[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/13.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_14[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/14.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_15[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/15.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_16[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/16.4bpp"); -const u32 gFieldObjectPic_RubySapphireMay_17[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_may/17.4bpp"); -const u16 gFieldObjectPalette34[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_34.gbapal"); -const u16 gUnusedFieldObjectPalette[] = INCBIN_U16("graphics/map_objects/palettes/unused_palette.gbapal"); +const u16 gEventObjectPalette9[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_09.gbapal"); +const u16 gEventObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_10.gbapal"); +const u32 gEventObjectPic_BrendanFieldMove_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/0.4bpp"); +const u32 gEventObjectPic_BrendanFieldMove_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/1.4bpp"); +const u32 gEventObjectPic_BrendanFieldMove_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/2.4bpp"); +const u32 gEventObjectPic_BrendanFieldMove_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/3.4bpp"); +const u32 gEventObjectPic_BrendanFieldMove_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move/4.4bpp"); +const u32 gEventObjectPic_BrendanSurfing_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/0.4bpp"); +const u32 gEventObjectPic_BrendanSurfing_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/3.4bpp"); +const u32 gEventObjectPic_BrendanSurfing_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/1.4bpp"); +const u32 gEventObjectPic_BrendanSurfing_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/4.4bpp"); +const u32 gEventObjectPic_BrendanSurfing_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/2.4bpp"); +const u32 gEventObjectPic_BrendanSurfing_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing/5.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/0.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/1.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/2.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/3.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/4.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/5.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/6.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/7.4bpp"); +const u32 gEventObjectPic_BrendanMachBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike/8.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/00.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/01.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/02.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/03.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/04.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/05.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/06.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/07.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/08.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_9[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/09.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_10[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/10.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_11[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/11.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_12[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/12.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_13[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/13.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_14[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/14.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_15[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/15.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_16[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/16.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_17[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/17.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_18[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/18.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_19[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/19.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_20[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/20.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_21[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/21.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_22[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/22.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_23[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/23.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_24[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/24.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_25[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/25.4bpp"); +const u32 gEventObjectPic_BrendanAcroBike_26[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike/26.4bpp"); +const u32 gEventObjectPic_BrendanFishing_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/00.4bpp"); +const u32 gEventObjectPic_BrendanFishing_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/01.4bpp"); +const u32 gEventObjectPic_BrendanFishing_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/02.4bpp"); +const u32 gEventObjectPic_BrendanFishing_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/03.4bpp"); +const u32 gEventObjectPic_BrendanFishing_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/04.4bpp"); +const u32 gEventObjectPic_BrendanFishing_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/05.4bpp"); +const u32 gEventObjectPic_BrendanFishing_6[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/06.4bpp"); +const u32 gEventObjectPic_BrendanFishing_7[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/07.4bpp"); +const u32 gEventObjectPic_BrendanFishing_8[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/08.4bpp"); +const u32 gEventObjectPic_BrendanFishing_9[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/09.4bpp"); +const u32 gEventObjectPic_BrendanFishing_10[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/10.4bpp"); +const u32 gEventObjectPic_BrendanFishing_11[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing/11.4bpp"); +const u32 gEventObjectPic_BrendanWatering_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/0.4bpp"); +const u32 gEventObjectPic_BrendanWatering_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/3.4bpp"); +const u32 gEventObjectPic_BrendanWatering_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/1.4bpp"); +const u32 gEventObjectPic_BrendanWatering_4[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/4.4bpp"); +const u32 gEventObjectPic_BrendanWatering_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/2.4bpp"); +const u32 gEventObjectPic_BrendanWatering_5[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering/5.4bpp"); +const u32 gEventObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/decorating.4bpp"); +const u32 gEventObjectPic_MayDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/may/decorating.4bpp"); +const u32 gEventObjectPic_BrendanUnderwater_0[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/0.4bpp"); +const u32 gEventObjectPic_BrendanUnderwater_1[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/1.4bpp"); +const u32 gEventObjectPic_BrendanUnderwater_2[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/2.4bpp"); +const u32 gEventObjectPic_BrendanUnderwater_3[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater/3.4bpp"); +const u32 gEventObjectPic_MayUnderwater_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/0.4bpp"); +const u32 gEventObjectPic_MayUnderwater_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/1.4bpp"); +const u32 gEventObjectPic_MayUnderwater_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/2.4bpp"); +const u32 gEventObjectPic_MayUnderwater_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater/3.4bpp"); +const u16 gEventObjectPalette11[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_11.gbapal"); +const u32 gEventObjectPic_MayNormal_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/00.4bpp"); +const u32 gEventObjectPic_MayNormal_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/01.4bpp"); +const u32 gEventObjectPic_MayNormal_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/02.4bpp"); +const u32 gEventObjectPic_MayNormal_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/03.4bpp"); +const u32 gEventObjectPic_MayNormal_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/04.4bpp"); +const u32 gEventObjectPic_MayNormal_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/05.4bpp"); +const u32 gEventObjectPic_MayNormal_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/06.4bpp"); +const u32 gEventObjectPic_MayNormal_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/07.4bpp"); +const u32 gEventObjectPic_MayNormal_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/08.4bpp"); +const u32 gEventObjectPic_MayNormal_9[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/09.4bpp"); +const u32 gEventObjectPic_MayNormal_10[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/10.4bpp"); +const u32 gEventObjectPic_MayNormal_11[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/11.4bpp"); +const u32 gEventObjectPic_MayNormal_12[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/12.4bpp"); +const u32 gEventObjectPic_MayNormal_13[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/13.4bpp"); +const u32 gEventObjectPic_MayNormal_14[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/14.4bpp"); +const u32 gEventObjectPic_MayNormal_15[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/15.4bpp"); +const u32 gEventObjectPic_MayNormal_16[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/16.4bpp"); +const u32 gEventObjectPic_MayNormal_17[] = INCBIN_U32("graphics/event_objects/pics/people/may/normal/17.4bpp"); +const u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_17.gbapal"); +const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_18.gbapal"); +const u32 gEventObjectPic_RubySapphireMay_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/00.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/01.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_2[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/02.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_3[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/03.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_4[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/04.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_5[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/05.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_6[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/06.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_7[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/07.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_8[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/08.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_9[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/09.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_10[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/10.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_11[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/11.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_12[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/12.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_13[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/13.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_14[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/14.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_15[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/15.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_16[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/16.4bpp"); +const u32 gEventObjectPic_RubySapphireMay_17[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/17.4bpp"); +const u16 gEventObjectPalette34[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_34.gbapal"); +const u16 gUnusedEventObjectPalette[] = INCBIN_U16("graphics/event_objects/palettes/unused_palette.gbapal"); const u16 NullPalette_84A54F8[16] = {}; const u16 NullPalette_84A5518[16] = {}; const u16 NullPalette_84A5538[16] = {}; @@ -186,1482 +186,1482 @@ const u16 NullPalette_84A5638[16] = {}; const u16 NullPalette_84A5658[16] = {}; const u16 NullPalette_84A5678[16] = {}; const u16 NullPalette_84A5698[16] = {}; -const u32 gFieldObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/0.4bpp"); -const u32 gFieldObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/1.4bpp"); -const u32 gFieldObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/2.4bpp"); -const u32 gFieldObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/3.4bpp"); -const u32 gFieldObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/4.4bpp"); -const u32 gFieldObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/5.4bpp"); -const u32 gFieldObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/6.4bpp"); -const u32 gFieldObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/7.4bpp"); -const u32 gFieldObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/mach_bike/8.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/00.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/01.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/02.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/03.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/04.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/05.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/06.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/07.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/08.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/09.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/10.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/11.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/12.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/13.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/14.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/15.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/16.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/17.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/18.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/19.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/20.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/21.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/22.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/23.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/24.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/25.4bpp"); -const u32 gFieldObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/map_objects/pics/people/may/acro_bike/26.4bpp"); -const u32 gFieldObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/0.4bpp"); -const u32 gFieldObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/3.4bpp"); -const u32 gFieldObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/1.4bpp"); -const u32 gFieldObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/4.4bpp"); -const u32 gFieldObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/2.4bpp"); -const u32 gFieldObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/surfing/5.4bpp"); -const u32 gFieldObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/0.4bpp"); -const u32 gFieldObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/1.4bpp"); -const u32 gFieldObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/2.4bpp"); -const u32 gFieldObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/3.4bpp"); -const u32 gFieldObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/field_move/4.4bpp"); -const u32 gFieldObjectPic_MayFishing_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/00.4bpp"); -const u32 gFieldObjectPic_MayFishing_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/01.4bpp"); -const u32 gFieldObjectPic_MayFishing_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/02.4bpp"); -const u32 gFieldObjectPic_MayFishing_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/03.4bpp"); -const u32 gFieldObjectPic_MayFishing_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/04.4bpp"); -const u32 gFieldObjectPic_MayFishing_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/05.4bpp"); -const u32 gFieldObjectPic_MayFishing_6[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/06.4bpp"); -const u32 gFieldObjectPic_MayFishing_7[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/07.4bpp"); -const u32 gFieldObjectPic_MayFishing_8[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/08.4bpp"); -const u32 gFieldObjectPic_MayFishing_9[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/09.4bpp"); -const u32 gFieldObjectPic_MayFishing_10[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/10.4bpp"); -const u32 gFieldObjectPic_MayFishing_11[] = INCBIN_U32("graphics/map_objects/pics/people/may/fishing/11.4bpp"); -const u32 gFieldObjectPic_MayWatering_0[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/0.4bpp"); -const u32 gFieldObjectPic_MayWatering_3[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/3.4bpp"); -const u32 gFieldObjectPic_MayWatering_1[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/1.4bpp"); -const u32 gFieldObjectPic_MayWatering_4[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/4.4bpp"); -const u32 gFieldObjectPic_MayWatering_2[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/2.4bpp"); -const u32 gFieldObjectPic_MayWatering_5[] = INCBIN_U32("graphics/map_objects/pics/people/may/watering/5.4bpp"); -const u16 gFieldObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_00.gbapal"); -const u16 gFieldObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_01.gbapal"); -const u16 gFieldObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_02.gbapal"); -const u16 gFieldObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_03.gbapal"); -const u16 gFieldObjectPalette4[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_04.gbapal"); -const u16 gFieldObjectPalette5[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_05.gbapal"); -const u16 gFieldObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_06.gbapal"); -const u16 gFieldObjectPalette7[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_07.gbapal"); -const u32 gFieldObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/0.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/1.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/2.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/3.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/4.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/5.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/6.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/7.4bpp"); -const u32 gFieldObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_1/8.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/0.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/1.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/2.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/3.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/4.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/5.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/6.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/7.4bpp"); -const u32 gFieldObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_1/8.4bpp"); -const u32 gFieldObjectPic_Boy1_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/0.4bpp"); -const u32 gFieldObjectPic_Boy1_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/1.4bpp"); -const u32 gFieldObjectPic_Boy1_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/2.4bpp"); -const u32 gFieldObjectPic_Boy1_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/3.4bpp"); -const u32 gFieldObjectPic_Boy1_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/4.4bpp"); -const u32 gFieldObjectPic_Boy1_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/5.4bpp"); -const u32 gFieldObjectPic_Boy1_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/6.4bpp"); -const u32 gFieldObjectPic_Boy1_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/7.4bpp"); -const u32 gFieldObjectPic_Boy1_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_1/8.4bpp"); -const u32 gFieldObjectPic_Girl1_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/0.4bpp"); -const u32 gFieldObjectPic_Girl1_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/1.4bpp"); -const u32 gFieldObjectPic_Girl1_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/2.4bpp"); -const u32 gFieldObjectPic_Girl1_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/3.4bpp"); -const u32 gFieldObjectPic_Girl1_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/4.4bpp"); -const u32 gFieldObjectPic_Girl1_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/5.4bpp"); -const u32 gFieldObjectPic_Girl1_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/6.4bpp"); -const u32 gFieldObjectPic_Girl1_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/7.4bpp"); -const u32 gFieldObjectPic_Girl1_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_1/8.4bpp"); -const u32 gFieldObjectPic_Boy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/0.4bpp"); -const u32 gFieldObjectPic_Boy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/1.4bpp"); -const u32 gFieldObjectPic_Boy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/2.4bpp"); -const u32 gFieldObjectPic_Boy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/3.4bpp"); -const u32 gFieldObjectPic_Boy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/4.4bpp"); -const u32 gFieldObjectPic_Boy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/5.4bpp"); -const u32 gFieldObjectPic_Boy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/6.4bpp"); -const u32 gFieldObjectPic_Boy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/7.4bpp"); -const u32 gFieldObjectPic_Boy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_2/8.4bpp"); -const u32 gFieldObjectPic_Girl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/0.4bpp"); -const u32 gFieldObjectPic_Girl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/1.4bpp"); -const u32 gFieldObjectPic_Girl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/2.4bpp"); -const u32 gFieldObjectPic_Girl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/3.4bpp"); -const u32 gFieldObjectPic_Girl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/4.4bpp"); -const u32 gFieldObjectPic_Girl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/5.4bpp"); -const u32 gFieldObjectPic_Girl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/6.4bpp"); -const u32 gFieldObjectPic_Girl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/7.4bpp"); -const u32 gFieldObjectPic_Girl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_2/8.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/0.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/1.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/2.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/3.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/4.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/5.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/6.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/7.4bpp"); -const u32 gFieldObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_boy_2/8.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/0.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/1.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/2.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/3.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/4.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/5.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/6.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/7.4bpp"); -const u32 gFieldObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/map_objects/pics/people/little_girl_2/8.4bpp"); -const u32 gFieldObjectPic_Boy3_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/0.4bpp"); -const u32 gFieldObjectPic_Boy3_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/1.4bpp"); -const u32 gFieldObjectPic_Boy3_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/2.4bpp"); -const u32 gFieldObjectPic_Boy3_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/3.4bpp"); -const u32 gFieldObjectPic_Boy3_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/4.4bpp"); -const u32 gFieldObjectPic_Boy3_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/5.4bpp"); -const u32 gFieldObjectPic_Boy3_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/6.4bpp"); -const u32 gFieldObjectPic_Boy3_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/7.4bpp"); -const u32 gFieldObjectPic_Boy3_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_3/8.4bpp"); -const u32 gFieldObjectPic_Girl3_0[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/0.4bpp"); -const u32 gFieldObjectPic_Girl3_1[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/1.4bpp"); -const u32 gFieldObjectPic_Girl3_2[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/2.4bpp"); -const u32 gFieldObjectPic_Girl3_3[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/3.4bpp"); -const u32 gFieldObjectPic_Girl3_4[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/4.4bpp"); -const u32 gFieldObjectPic_Girl3_5[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/5.4bpp"); -const u32 gFieldObjectPic_Girl3_6[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/6.4bpp"); -const u32 gFieldObjectPic_Girl3_7[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/7.4bpp"); -const u32 gFieldObjectPic_Girl3_8[] = INCBIN_U32("graphics/map_objects/pics/people/girl_3/8.4bpp"); -const u32 gFieldObjectPic_Boy4_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/0.4bpp"); -const u32 gFieldObjectPic_Boy4_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/1.4bpp"); -const u32 gFieldObjectPic_Boy4_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/2.4bpp"); -const u32 gFieldObjectPic_Boy4_3[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/3.4bpp"); -const u32 gFieldObjectPic_Boy4_4[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/4.4bpp"); -const u32 gFieldObjectPic_Boy4_5[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/5.4bpp"); -const u32 gFieldObjectPic_Boy4_6[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/6.4bpp"); -const u32 gFieldObjectPic_Boy4_7[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/7.4bpp"); -const u32 gFieldObjectPic_Boy4_8[] = INCBIN_U32("graphics/map_objects/pics/people/boy_4/8.4bpp"); -const u32 gFieldObjectPic_Woman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/0.4bpp"); -const u32 gFieldObjectPic_Woman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/1.4bpp"); -const u32 gFieldObjectPic_Woman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/2.4bpp"); -const u32 gFieldObjectPic_Woman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/3.4bpp"); -const u32 gFieldObjectPic_Woman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/4.4bpp"); -const u32 gFieldObjectPic_Woman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/5.4bpp"); -const u32 gFieldObjectPic_Woman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/6.4bpp"); -const u32 gFieldObjectPic_Woman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/7.4bpp"); -const u32 gFieldObjectPic_Woman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_1/8.4bpp"); -const u32 gFieldObjectPic_FatMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/0.4bpp"); -const u32 gFieldObjectPic_FatMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/1.4bpp"); -const u32 gFieldObjectPic_FatMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/2.4bpp"); -const u32 gFieldObjectPic_FatMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/3.4bpp"); -const u32 gFieldObjectPic_FatMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/4.4bpp"); -const u32 gFieldObjectPic_FatMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/5.4bpp"); -const u32 gFieldObjectPic_FatMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/6.4bpp"); -const u32 gFieldObjectPic_FatMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/7.4bpp"); -const u32 gFieldObjectPic_FatMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/fat_man/8.4bpp"); -const u32 gFieldObjectPic_Woman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/0.4bpp"); -const u32 gFieldObjectPic_Woman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/1.4bpp"); -const u32 gFieldObjectPic_Woman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/2.4bpp"); -const u32 gFieldObjectPic_Woman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/3.4bpp"); -const u32 gFieldObjectPic_Woman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/4.4bpp"); -const u32 gFieldObjectPic_Woman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/5.4bpp"); -const u32 gFieldObjectPic_Woman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/6.4bpp"); -const u32 gFieldObjectPic_Woman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/7.4bpp"); -const u32 gFieldObjectPic_Woman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_2/8.4bpp"); -const u32 gFieldObjectPic_Man1_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/0.4bpp"); -const u32 gFieldObjectPic_Man1_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/1.4bpp"); -const u32 gFieldObjectPic_Man1_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/2.4bpp"); -const u32 gFieldObjectPic_Man1_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/3.4bpp"); -const u32 gFieldObjectPic_Man1_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/4.4bpp"); -const u32 gFieldObjectPic_Man1_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/5.4bpp"); -const u32 gFieldObjectPic_Man1_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/6.4bpp"); -const u32 gFieldObjectPic_Man1_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/7.4bpp"); -const u32 gFieldObjectPic_Man1_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_1/8.4bpp"); -const u32 gFieldObjectPic_Woman3_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/0.4bpp"); -const u32 gFieldObjectPic_Woman3_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/1.4bpp"); -const u32 gFieldObjectPic_Woman3_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/2.4bpp"); -const u32 gFieldObjectPic_Woman3_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/3.4bpp"); -const u32 gFieldObjectPic_Woman3_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/4.4bpp"); -const u32 gFieldObjectPic_Woman3_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/5.4bpp"); -const u32 gFieldObjectPic_Woman3_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/6.4bpp"); -const u32 gFieldObjectPic_Woman3_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/7.4bpp"); -const u32 gFieldObjectPic_Woman3_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_3/8.4bpp"); -const u32 gFieldObjectPic_OldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/0.4bpp"); -const u32 gFieldObjectPic_OldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/1.4bpp"); -const u32 gFieldObjectPic_OldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/2.4bpp"); -const u32 gFieldObjectPic_OldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/3.4bpp"); -const u32 gFieldObjectPic_OldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/4.4bpp"); -const u32 gFieldObjectPic_OldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/5.4bpp"); -const u32 gFieldObjectPic_OldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/6.4bpp"); -const u32 gFieldObjectPic_OldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/7.4bpp"); -const u32 gFieldObjectPic_OldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_1/8.4bpp"); -const u32 gFieldObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/0.4bpp"); -const u32 gFieldObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/1.4bpp"); -const u32 gFieldObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/2.4bpp"); -const u32 gFieldObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/3.4bpp"); -const u32 gFieldObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/4.4bpp"); -const u32 gFieldObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/5.4bpp"); -const u32 gFieldObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/6.4bpp"); -const u32 gFieldObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/7.4bpp"); -const u32 gFieldObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_1/8.4bpp"); -const u32 gFieldObjectPic_Man2_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/0.4bpp"); -const u32 gFieldObjectPic_Man2_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/1.4bpp"); -const u32 gFieldObjectPic_Man2_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/2.4bpp"); -const u32 gFieldObjectPic_Man2_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/3.4bpp"); -const u32 gFieldObjectPic_Man2_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/4.4bpp"); -const u32 gFieldObjectPic_Man2_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/5.4bpp"); -const u32 gFieldObjectPic_Man2_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/6.4bpp"); -const u32 gFieldObjectPic_Man2_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/7.4bpp"); -const u32 gFieldObjectPic_Man2_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_2/8.4bpp"); -const u32 gFieldObjectPic_Woman4_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/0.4bpp"); -const u32 gFieldObjectPic_Woman4_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/1.4bpp"); -const u32 gFieldObjectPic_Woman4_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/2.4bpp"); -const u32 gFieldObjectPic_Woman4_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/3.4bpp"); -const u32 gFieldObjectPic_Woman4_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/4.4bpp"); -const u32 gFieldObjectPic_Woman4_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/5.4bpp"); -const u32 gFieldObjectPic_Woman4_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/6.4bpp"); -const u32 gFieldObjectPic_Woman4_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/7.4bpp"); -const u32 gFieldObjectPic_Woman4_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_4/8.4bpp"); -const u32 gFieldObjectPic_Man3_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/0.4bpp"); -const u32 gFieldObjectPic_Man3_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/1.4bpp"); -const u32 gFieldObjectPic_Man3_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/2.4bpp"); -const u32 gFieldObjectPic_Man3_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/3.4bpp"); -const u32 gFieldObjectPic_Man3_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/4.4bpp"); -const u32 gFieldObjectPic_Man3_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/5.4bpp"); -const u32 gFieldObjectPic_Man3_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/6.4bpp"); -const u32 gFieldObjectPic_Man3_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/7.4bpp"); -const u32 gFieldObjectPic_Man3_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_3/8.4bpp"); -const u32 gFieldObjectPic_Woman5_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/0.4bpp"); -const u32 gFieldObjectPic_Woman5_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/1.4bpp"); -const u32 gFieldObjectPic_Woman5_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/2.4bpp"); -const u32 gFieldObjectPic_Woman5_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/3.4bpp"); -const u32 gFieldObjectPic_Woman5_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/4.4bpp"); -const u32 gFieldObjectPic_Woman5_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/5.4bpp"); -const u32 gFieldObjectPic_Woman5_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/6.4bpp"); -const u32 gFieldObjectPic_Woman5_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/7.4bpp"); -const u32 gFieldObjectPic_Woman5_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_5/8.4bpp"); -const u32 gFieldObjectPic_Cook_0[] = INCBIN_U32("graphics/map_objects/pics/people/cook/0.4bpp"); -const u32 gFieldObjectPic_Cook_1[] = INCBIN_U32("graphics/map_objects/pics/people/cook/1.4bpp"); -const u32 gFieldObjectPic_Cook_2[] = INCBIN_U32("graphics/map_objects/pics/people/cook/2.4bpp"); -const u32 gFieldObjectPic_Woman6_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/0.4bpp"); -const u32 gFieldObjectPic_Woman6_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/1.4bpp"); -const u32 gFieldObjectPic_Woman6_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/2.4bpp"); -const u32 gFieldObjectPic_Woman6_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/3.4bpp"); -const u32 gFieldObjectPic_Woman6_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/4.4bpp"); -const u32 gFieldObjectPic_Woman6_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/5.4bpp"); -const u32 gFieldObjectPic_Woman6_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/6.4bpp"); -const u32 gFieldObjectPic_Woman6_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/7.4bpp"); -const u32 gFieldObjectPic_Woman6_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_6/8.4bpp"); -const u32 gFieldObjectPic_OldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/0.4bpp"); -const u32 gFieldObjectPic_OldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/1.4bpp"); -const u32 gFieldObjectPic_OldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_man_2/2.4bpp"); -const u32 gFieldObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/0.4bpp"); -const u32 gFieldObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/1.4bpp"); -const u32 gFieldObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/2.4bpp"); -const u32 gFieldObjectPic_OldWoman2_3[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/3.4bpp"); -const u32 gFieldObjectPic_OldWoman2_4[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/4.4bpp"); -const u32 gFieldObjectPic_OldWoman2_5[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/5.4bpp"); -const u32 gFieldObjectPic_OldWoman2_6[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/6.4bpp"); -const u32 gFieldObjectPic_OldWoman2_7[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/7.4bpp"); -const u32 gFieldObjectPic_OldWoman2_8[] = INCBIN_U32("graphics/map_objects/pics/people/old_woman_2/8.4bpp"); -const u32 gFieldObjectPic_Camper_0[] = INCBIN_U32("graphics/map_objects/pics/people/camper/0.4bpp"); -const u32 gFieldObjectPic_Camper_1[] = INCBIN_U32("graphics/map_objects/pics/people/camper/1.4bpp"); -const u32 gFieldObjectPic_Camper_2[] = INCBIN_U32("graphics/map_objects/pics/people/camper/2.4bpp"); -const u32 gFieldObjectPic_Camper_3[] = INCBIN_U32("graphics/map_objects/pics/people/camper/3.4bpp"); -const u32 gFieldObjectPic_Camper_4[] = INCBIN_U32("graphics/map_objects/pics/people/camper/4.4bpp"); -const u32 gFieldObjectPic_Camper_5[] = INCBIN_U32("graphics/map_objects/pics/people/camper/5.4bpp"); -const u32 gFieldObjectPic_Camper_6[] = INCBIN_U32("graphics/map_objects/pics/people/camper/6.4bpp"); -const u32 gFieldObjectPic_Camper_7[] = INCBIN_U32("graphics/map_objects/pics/people/camper/7.4bpp"); -const u32 gFieldObjectPic_Camper_8[] = INCBIN_U32("graphics/map_objects/pics/people/camper/8.4bpp"); -const u32 gFieldObjectPic_Picnicker_0[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/0.4bpp"); -const u32 gFieldObjectPic_Picnicker_1[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/1.4bpp"); -const u32 gFieldObjectPic_Picnicker_2[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/2.4bpp"); -const u32 gFieldObjectPic_Picnicker_3[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/3.4bpp"); -const u32 gFieldObjectPic_Picnicker_4[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/4.4bpp"); -const u32 gFieldObjectPic_Picnicker_5[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/5.4bpp"); -const u32 gFieldObjectPic_Picnicker_6[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/6.4bpp"); -const u32 gFieldObjectPic_Picnicker_7[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/7.4bpp"); -const u32 gFieldObjectPic_Picnicker_8[] = INCBIN_U32("graphics/map_objects/pics/people/picnicker/8.4bpp"); -const u32 gFieldObjectPic_Man4_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/0.4bpp"); -const u32 gFieldObjectPic_Man4_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/1.4bpp"); -const u32 gFieldObjectPic_Man4_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/2.4bpp"); -const u32 gFieldObjectPic_Man4_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/3.4bpp"); -const u32 gFieldObjectPic_Man4_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/4.4bpp"); -const u32 gFieldObjectPic_Man4_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/5.4bpp"); -const u32 gFieldObjectPic_Man4_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/6.4bpp"); -const u32 gFieldObjectPic_Man4_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/7.4bpp"); -const u32 gFieldObjectPic_Man4_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_4/8.4bpp"); -const u32 gFieldObjectPic_Woman7_0[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/0.4bpp"); -const u32 gFieldObjectPic_Woman7_1[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/1.4bpp"); -const u32 gFieldObjectPic_Woman7_2[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/2.4bpp"); -const u32 gFieldObjectPic_Woman7_3[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/3.4bpp"); -const u32 gFieldObjectPic_Woman7_4[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/4.4bpp"); -const u32 gFieldObjectPic_Woman7_5[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/5.4bpp"); -const u32 gFieldObjectPic_Woman7_6[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/6.4bpp"); -const u32 gFieldObjectPic_Woman7_7[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/7.4bpp"); -const u32 gFieldObjectPic_Woman7_8[] = INCBIN_U32("graphics/map_objects/pics/people/woman_7/8.4bpp"); -const u32 gFieldObjectPic_Youngster_0[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/0.4bpp"); -const u32 gFieldObjectPic_Youngster_1[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/1.4bpp"); -const u32 gFieldObjectPic_Youngster_2[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/2.4bpp"); -const u32 gFieldObjectPic_Youngster_3[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/3.4bpp"); -const u32 gFieldObjectPic_Youngster_4[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/4.4bpp"); -const u32 gFieldObjectPic_Youngster_5[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/5.4bpp"); -const u32 gFieldObjectPic_Youngster_6[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/6.4bpp"); -const u32 gFieldObjectPic_Youngster_7[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/7.4bpp"); -const u32 gFieldObjectPic_Youngster_8[] = INCBIN_U32("graphics/map_objects/pics/people/youngster/8.4bpp"); -const u32 gFieldObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/0.4bpp"); -const u32 gFieldObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/1.4bpp"); -const u32 gFieldObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/2.4bpp"); -const u32 gFieldObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/3.4bpp"); -const u32 gFieldObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/4.4bpp"); -const u32 gFieldObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/5.4bpp"); -const u32 gFieldObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/6.4bpp"); -const u32 gFieldObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/7.4bpp"); -const u32 gFieldObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/map_objects/pics/people/bug_catcher/8.4bpp"); -const u32 gFieldObjectPic_PsychicM_0[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/0.4bpp"); -const u32 gFieldObjectPic_PsychicM_1[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/1.4bpp"); -const u32 gFieldObjectPic_PsychicM_2[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/2.4bpp"); -const u32 gFieldObjectPic_PsychicM_3[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/3.4bpp"); -const u32 gFieldObjectPic_PsychicM_4[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/4.4bpp"); -const u32 gFieldObjectPic_PsychicM_5[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/5.4bpp"); -const u32 gFieldObjectPic_PsychicM_6[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/6.4bpp"); -const u32 gFieldObjectPic_PsychicM_7[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/7.4bpp"); -const u32 gFieldObjectPic_PsychicM_8[] = INCBIN_U32("graphics/map_objects/pics/people/psychic_m/8.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/0.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/1.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/2.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/3.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/4.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/5.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/6.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/7.4bpp"); -const u32 gFieldObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/map_objects/pics/people/school_kid_m/8.4bpp"); -const u32 gFieldObjectPic_Maniac_0[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/0.4bpp"); -const u32 gFieldObjectPic_Maniac_1[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/1.4bpp"); -const u32 gFieldObjectPic_Maniac_2[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/2.4bpp"); -const u32 gFieldObjectPic_Maniac_3[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/3.4bpp"); -const u32 gFieldObjectPic_Maniac_4[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/4.4bpp"); -const u32 gFieldObjectPic_Maniac_5[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/5.4bpp"); -const u32 gFieldObjectPic_Maniac_6[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/6.4bpp"); -const u32 gFieldObjectPic_Maniac_7[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/7.4bpp"); -const u32 gFieldObjectPic_Maniac_8[] = INCBIN_U32("graphics/map_objects/pics/people/maniac/8.4bpp"); -const u32 gFieldObjectPic_HexManiac_0[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/0.4bpp"); -const u32 gFieldObjectPic_HexManiac_1[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/1.4bpp"); -const u32 gFieldObjectPic_HexManiac_2[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/2.4bpp"); -const u32 gFieldObjectPic_HexManiac_3[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/3.4bpp"); -const u32 gFieldObjectPic_HexManiac_4[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/4.4bpp"); -const u32 gFieldObjectPic_HexManiac_5[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/5.4bpp"); -const u32 gFieldObjectPic_HexManiac_6[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/6.4bpp"); -const u32 gFieldObjectPic_HexManiac_7[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/7.4bpp"); -const u32 gFieldObjectPic_HexManiac_8[] = INCBIN_U32("graphics/map_objects/pics/people/hex_maniac/8.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/0.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/1.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/2.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/3.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/4.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/5.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/6.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/7.4bpp"); -const u32 gFieldObjectPic_UnusedWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/unused_woman/8.4bpp"); -const u32 gFieldObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/0.4bpp"); -const u32 gFieldObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/1.4bpp"); -const u32 gFieldObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/2.4bpp"); -const u32 gFieldObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/3.4bpp"); -const u32 gFieldObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/4.4bpp"); -const u32 gFieldObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/5.4bpp"); -const u32 gFieldObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/6.4bpp"); -const u32 gFieldObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/7.4bpp"); -const u32 gFieldObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_m/8.4bpp"); -const u32 gFieldObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/0.4bpp"); -const u32 gFieldObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/1.4bpp"); -const u32 gFieldObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/2.4bpp"); -const u32 gFieldObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/3.4bpp"); -const u32 gFieldObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/4.4bpp"); -const u32 gFieldObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/5.4bpp"); -const u32 gFieldObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/6.4bpp"); -const u32 gFieldObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/7.4bpp"); -const u32 gFieldObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/map_objects/pics/people/swimmer_f/8.4bpp"); -const u32 gFieldObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/0.4bpp"); -const u32 gFieldObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/1.4bpp"); -const u32 gFieldObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/2.4bpp"); -const u32 gFieldObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/3.4bpp"); -const u32 gFieldObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/4.4bpp"); -const u32 gFieldObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/5.4bpp"); -const u32 gFieldObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/6.4bpp"); -const u32 gFieldObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/7.4bpp"); -const u32 gFieldObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/map_objects/pics/people/black_belt/8.4bpp"); -const u32 gFieldObjectPic_Beauty_0[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/0.4bpp"); -const u32 gFieldObjectPic_Beauty_1[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/1.4bpp"); -const u32 gFieldObjectPic_Beauty_2[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/2.4bpp"); -const u32 gFieldObjectPic_Beauty_3[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/3.4bpp"); -const u32 gFieldObjectPic_Beauty_4[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/4.4bpp"); -const u32 gFieldObjectPic_Beauty_5[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/5.4bpp"); -const u32 gFieldObjectPic_Beauty_6[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/6.4bpp"); -const u32 gFieldObjectPic_Beauty_7[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/7.4bpp"); -const u32 gFieldObjectPic_Beauty_8[] = INCBIN_U32("graphics/map_objects/pics/people/beauty/8.4bpp"); -const u32 gFieldObjectPic_Scientist1_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/0.4bpp"); -const u32 gFieldObjectPic_Scientist1_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/1.4bpp"); -const u32 gFieldObjectPic_Scientist1_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/2.4bpp"); -const u32 gFieldObjectPic_Scientist1_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/3.4bpp"); -const u32 gFieldObjectPic_Scientist1_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/4.4bpp"); -const u32 gFieldObjectPic_Scientist1_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/5.4bpp"); -const u32 gFieldObjectPic_Scientist1_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/6.4bpp"); -const u32 gFieldObjectPic_Scientist1_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/7.4bpp"); -const u32 gFieldObjectPic_Scientist1_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_1/8.4bpp"); -const u32 gFieldObjectPic_Lass_0[] = INCBIN_U32("graphics/map_objects/pics/people/lass/0.4bpp"); -const u32 gFieldObjectPic_Lass_1[] = INCBIN_U32("graphics/map_objects/pics/people/lass/1.4bpp"); -const u32 gFieldObjectPic_Lass_2[] = INCBIN_U32("graphics/map_objects/pics/people/lass/2.4bpp"); -const u32 gFieldObjectPic_Lass_3[] = INCBIN_U32("graphics/map_objects/pics/people/lass/3.4bpp"); -const u32 gFieldObjectPic_Lass_4[] = INCBIN_U32("graphics/map_objects/pics/people/lass/4.4bpp"); -const u32 gFieldObjectPic_Lass_5[] = INCBIN_U32("graphics/map_objects/pics/people/lass/5.4bpp"); -const u32 gFieldObjectPic_Lass_6[] = INCBIN_U32("graphics/map_objects/pics/people/lass/6.4bpp"); -const u32 gFieldObjectPic_Lass_7[] = INCBIN_U32("graphics/map_objects/pics/people/lass/7.4bpp"); -const u32 gFieldObjectPic_Lass_8[] = INCBIN_U32("graphics/map_objects/pics/people/lass/8.4bpp"); -const u32 gFieldObjectPic_Gentleman_0[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/0.4bpp"); -const u32 gFieldObjectPic_Gentleman_1[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/1.4bpp"); -const u32 gFieldObjectPic_Gentleman_2[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/2.4bpp"); -const u32 gFieldObjectPic_Gentleman_3[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/3.4bpp"); -const u32 gFieldObjectPic_Gentleman_4[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/4.4bpp"); -const u32 gFieldObjectPic_Gentleman_5[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/5.4bpp"); -const u32 gFieldObjectPic_Gentleman_6[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/6.4bpp"); -const u32 gFieldObjectPic_Gentleman_7[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/7.4bpp"); -const u32 gFieldObjectPic_Gentleman_8[] = INCBIN_U32("graphics/map_objects/pics/people/gentleman/8.4bpp"); -const u32 gFieldObjectPic_Sailor_0[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/0.4bpp"); -const u32 gFieldObjectPic_Sailor_1[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/1.4bpp"); -const u32 gFieldObjectPic_Sailor_2[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/2.4bpp"); -const u32 gFieldObjectPic_Sailor_3[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/3.4bpp"); -const u32 gFieldObjectPic_Sailor_4[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/4.4bpp"); -const u32 gFieldObjectPic_Sailor_5[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/5.4bpp"); -const u32 gFieldObjectPic_Sailor_6[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/6.4bpp"); -const u32 gFieldObjectPic_Sailor_7[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/7.4bpp"); -const u32 gFieldObjectPic_Sailor_8[] = INCBIN_U32("graphics/map_objects/pics/people/sailor/8.4bpp"); -const u32 gFieldObjectPic_Fisherman_0[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/0.4bpp"); -const u32 gFieldObjectPic_Fisherman_1[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/1.4bpp"); -const u32 gFieldObjectPic_Fisherman_2[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/2.4bpp"); -const u32 gFieldObjectPic_Fisherman_3[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/3.4bpp"); -const u32 gFieldObjectPic_Fisherman_4[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/4.4bpp"); -const u32 gFieldObjectPic_Fisherman_5[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/5.4bpp"); -const u32 gFieldObjectPic_Fisherman_6[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/6.4bpp"); -const u32 gFieldObjectPic_Fisherman_7[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/7.4bpp"); -const u32 gFieldObjectPic_Fisherman_8[] = INCBIN_U32("graphics/map_objects/pics/people/fisherman/8.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/0.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/1.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/2.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/3.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/4.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/5.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/6.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/7.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_m/8.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/0.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/1.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/2.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/3.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/4.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/5.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/6.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/7.4bpp"); -const u32 gFieldObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/running_triathlete_f/8.4bpp"); -const u32 gFieldObjectPic_TuberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/0.4bpp"); -const u32 gFieldObjectPic_TuberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/1.4bpp"); -const u32 gFieldObjectPic_TuberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/2.4bpp"); -const u32 gFieldObjectPic_TuberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/3.4bpp"); -const u32 gFieldObjectPic_TuberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/4.4bpp"); -const u32 gFieldObjectPic_TuberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/5.4bpp"); -const u32 gFieldObjectPic_TuberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/6.4bpp"); -const u32 gFieldObjectPic_TuberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/7.4bpp"); -const u32 gFieldObjectPic_TuberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_f/8.4bpp"); -const u32 gFieldObjectPic_TuberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/0.4bpp"); -const u32 gFieldObjectPic_TuberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/1.4bpp"); -const u32 gFieldObjectPic_TuberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/2.4bpp"); -const u32 gFieldObjectPic_TuberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/3.4bpp"); -const u32 gFieldObjectPic_TuberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/4.4bpp"); -const u32 gFieldObjectPic_TuberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/5.4bpp"); -const u32 gFieldObjectPic_TuberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/6.4bpp"); -const u32 gFieldObjectPic_TuberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/7.4bpp"); -const u32 gFieldObjectPic_TuberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m/8.4bpp"); -const u32 gFieldObjectPic_Hiker_0[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/0.4bpp"); -const u32 gFieldObjectPic_Hiker_1[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/1.4bpp"); -const u32 gFieldObjectPic_Hiker_2[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/2.4bpp"); -const u32 gFieldObjectPic_Hiker_3[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/3.4bpp"); -const u32 gFieldObjectPic_Hiker_4[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/4.4bpp"); -const u32 gFieldObjectPic_Hiker_5[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/5.4bpp"); -const u32 gFieldObjectPic_Hiker_6[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/6.4bpp"); -const u32 gFieldObjectPic_Hiker_7[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/7.4bpp"); -const u32 gFieldObjectPic_Hiker_8[] = INCBIN_U32("graphics/map_objects/pics/people/hiker/8.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/0.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/1.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/2.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/3.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/4.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/5.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/6.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/7.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_m/8.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/0.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/1.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/2.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/3.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/4.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/5.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/6.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/7.4bpp"); -const u32 gFieldObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/map_objects/pics/people/cycling_triathlete_f/8.4bpp"); -const u32 gFieldObjectPic_Man5_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/0.4bpp"); -const u32 gFieldObjectPic_Man5_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/1.4bpp"); -const u32 gFieldObjectPic_Man5_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/2.4bpp"); -const u32 gFieldObjectPic_Man5_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/3.4bpp"); -const u32 gFieldObjectPic_Man5_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/4.4bpp"); -const u32 gFieldObjectPic_Man5_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/5.4bpp"); -const u32 gFieldObjectPic_Man5_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/6.4bpp"); -const u32 gFieldObjectPic_Man5_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/7.4bpp"); -const u32 gFieldObjectPic_Man5_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_5/8.4bpp"); -const u32 gFieldObjectPic_Man6_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/0.4bpp"); -const u32 gFieldObjectPic_Man6_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/1.4bpp"); -const u32 gFieldObjectPic_Man6_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/2.4bpp"); -const u32 gFieldObjectPic_Man6_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/3.4bpp"); -const u32 gFieldObjectPic_Man6_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/4.4bpp"); -const u32 gFieldObjectPic_Man6_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/5.4bpp"); -const u32 gFieldObjectPic_Man6_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/6.4bpp"); -const u32 gFieldObjectPic_Man6_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/7.4bpp"); -const u32 gFieldObjectPic_Man6_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_6/8.4bpp"); -const u32 gFieldObjectPic_Nurse_0[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/0.4bpp"); -const u32 gFieldObjectPic_Nurse_1[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/1.4bpp"); -const u32 gFieldObjectPic_Nurse_2[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/2.4bpp"); -const u32 gFieldObjectPic_Nurse_3[] = INCBIN_U32("graphics/map_objects/pics/people/nurse/3.4bpp"); -const u32 gFieldObjectPic_ItemBall[] = INCBIN_U32("graphics/map_objects/pics/misc/item_ball.4bpp"); -const u32 gFieldObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/0.4bpp"); -const u32 gFieldObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/1.4bpp"); -const u32 gFieldObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/2.4bpp"); -const u32 gFieldObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/3.4bpp"); -const u32 gFieldObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/4.4bpp"); -const u32 gFieldObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/5.4bpp"); -const u32 gFieldObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/6.4bpp"); -const u32 gFieldObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/7.4bpp"); -const u32 gFieldObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/map_objects/pics/people/prof_birch/8.4bpp"); -const u32 gFieldObjectPic_ReporterM_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/0.4bpp"); -const u32 gFieldObjectPic_ReporterM_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/1.4bpp"); -const u32 gFieldObjectPic_ReporterM_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/2.4bpp"); -const u32 gFieldObjectPic_ReporterM_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/3.4bpp"); -const u32 gFieldObjectPic_ReporterM_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/4.4bpp"); -const u32 gFieldObjectPic_ReporterM_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/5.4bpp"); -const u32 gFieldObjectPic_ReporterM_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/6.4bpp"); -const u32 gFieldObjectPic_ReporterM_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/7.4bpp"); -const u32 gFieldObjectPic_ReporterM_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_m/8.4bpp"); -const u32 gFieldObjectPic_ReporterF_0[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/0.4bpp"); -const u32 gFieldObjectPic_ReporterF_1[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/1.4bpp"); -const u32 gFieldObjectPic_ReporterF_2[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/2.4bpp"); -const u32 gFieldObjectPic_ReporterF_3[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/3.4bpp"); -const u32 gFieldObjectPic_ReporterF_4[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/4.4bpp"); -const u32 gFieldObjectPic_ReporterF_5[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/5.4bpp"); -const u32 gFieldObjectPic_ReporterF_6[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/6.4bpp"); -const u32 gFieldObjectPic_ReporterF_7[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/7.4bpp"); -const u32 gFieldObjectPic_ReporterF_8[] = INCBIN_U32("graphics/map_objects/pics/people/reporter_f/8.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/0.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/1.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/2.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/3.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/4.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/5.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/6.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/7.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_1/8.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/0.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/1.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/2.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/3.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/4.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/5.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/6.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/7.4bpp"); -const u32 gFieldObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/map_objects/pics/people/mauville_old_man_2/8.4bpp"); -const u32 gFieldObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/0.4bpp"); -const u32 gFieldObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/1.4bpp"); -const u32 gFieldObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/2.4bpp"); -const u32 gFieldObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/3.4bpp"); -const u32 gFieldObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/4.4bpp"); -const u32 gFieldObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/5.4bpp"); -const u32 gFieldObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/6.4bpp"); -const u32 gFieldObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/7.4bpp"); -const u32 gFieldObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/map_objects/pics/people/mart_employee/8.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/0.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/1.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/2.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/3.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/4.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/5.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/6.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/7.4bpp"); -const u32 gFieldObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/rooftop_sale_woman/8.4bpp"); -const u32 gFieldObjectPic_Teala_0[] = INCBIN_U32("graphics/map_objects/pics/people/teala/0.4bpp"); -const u32 gFieldObjectPic_Teala_1[] = INCBIN_U32("graphics/map_objects/pics/people/teala/1.4bpp"); -const u32 gFieldObjectPic_Teala_2[] = INCBIN_U32("graphics/map_objects/pics/people/teala/2.4bpp"); -const u32 gFieldObjectPic_Teala_3[] = INCBIN_U32("graphics/map_objects/pics/people/teala/3.4bpp"); -const u32 gFieldObjectPic_Teala_4[] = INCBIN_U32("graphics/map_objects/pics/people/teala/4.4bpp"); -const u32 gFieldObjectPic_Teala_5[] = INCBIN_U32("graphics/map_objects/pics/people/teala/5.4bpp"); -const u32 gFieldObjectPic_Teala_6[] = INCBIN_U32("graphics/map_objects/pics/people/teala/6.4bpp"); -const u32 gFieldObjectPic_Teala_7[] = INCBIN_U32("graphics/map_objects/pics/people/teala/7.4bpp"); -const u32 gFieldObjectPic_Teala_8[] = INCBIN_U32("graphics/map_objects/pics/people/teala/8.4bpp"); -const u32 gFieldObjectPic_Artist_0[] = INCBIN_U32("graphics/map_objects/pics/people/artist/0.4bpp"); -const u32 gFieldObjectPic_Artist_1[] = INCBIN_U32("graphics/map_objects/pics/people/artist/1.4bpp"); -const u32 gFieldObjectPic_Artist_2[] = INCBIN_U32("graphics/map_objects/pics/people/artist/2.4bpp"); -const u32 gFieldObjectPic_Artist_3[] = INCBIN_U32("graphics/map_objects/pics/people/artist/3.4bpp"); -const u32 gFieldObjectPic_Artist_4[] = INCBIN_U32("graphics/map_objects/pics/people/artist/4.4bpp"); -const u32 gFieldObjectPic_Artist_5[] = INCBIN_U32("graphics/map_objects/pics/people/artist/5.4bpp"); -const u32 gFieldObjectPic_Artist_6[] = INCBIN_U32("graphics/map_objects/pics/people/artist/6.4bpp"); -const u32 gFieldObjectPic_Artist_7[] = INCBIN_U32("graphics/map_objects/pics/people/artist/7.4bpp"); -const u32 gFieldObjectPic_Artist_8[] = INCBIN_U32("graphics/map_objects/pics/people/artist/8.4bpp"); -const u32 gFieldObjectPic_Cameraman_0[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/0.4bpp"); -const u32 gFieldObjectPic_Cameraman_1[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/1.4bpp"); -const u32 gFieldObjectPic_Cameraman_2[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/2.4bpp"); -const u32 gFieldObjectPic_Cameraman_3[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/3.4bpp"); -const u32 gFieldObjectPic_Cameraman_4[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/4.4bpp"); -const u32 gFieldObjectPic_Cameraman_5[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/5.4bpp"); -const u32 gFieldObjectPic_Cameraman_6[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/6.4bpp"); -const u32 gFieldObjectPic_Cameraman_7[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/7.4bpp"); -const u32 gFieldObjectPic_Cameraman_8[] = INCBIN_U32("graphics/map_objects/pics/people/cameraman/8.4bpp"); -const u32 gFieldObjectPic_Scientist2_0[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/0.4bpp"); -const u32 gFieldObjectPic_Scientist2_1[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/1.4bpp"); -const u32 gFieldObjectPic_Scientist2_2[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/2.4bpp"); -const u32 gFieldObjectPic_Scientist2_3[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/3.4bpp"); -const u32 gFieldObjectPic_Scientist2_4[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/4.4bpp"); -const u32 gFieldObjectPic_Scientist2_5[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/5.4bpp"); -const u32 gFieldObjectPic_Scientist2_6[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/6.4bpp"); -const u32 gFieldObjectPic_Scientist2_7[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/7.4bpp"); -const u32 gFieldObjectPic_Scientist2_8[] = INCBIN_U32("graphics/map_objects/pics/people/scientist_2/8.4bpp"); -const u32 gFieldObjectPic_Man7_0[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/0.4bpp"); -const u32 gFieldObjectPic_Man7_1[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/1.4bpp"); -const u32 gFieldObjectPic_Man7_2[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/2.4bpp"); -const u32 gFieldObjectPic_Man7_3[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/3.4bpp"); -const u32 gFieldObjectPic_Man7_4[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/4.4bpp"); -const u32 gFieldObjectPic_Man7_5[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/5.4bpp"); -const u32 gFieldObjectPic_Man7_6[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/6.4bpp"); -const u32 gFieldObjectPic_Man7_7[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/7.4bpp"); -const u32 gFieldObjectPic_Man7_8[] = INCBIN_U32("graphics/map_objects/pics/people/man_7/8.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/0.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/1.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/2.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/3.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/4.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/5.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/6.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/7.4bpp"); -const u32 gFieldObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_m/8.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/0.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/1.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/2.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/3.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/4.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/5.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/6.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/7.4bpp"); -const u32 gFieldObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/aqua_member_f/8.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/0.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/1.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/2.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/3.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/4.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/5.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/6.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/7.4bpp"); -const u32 gFieldObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_m/8.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/0.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/1.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/2.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/3.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/4.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/5.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/6.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/7.4bpp"); -const u32 gFieldObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/map_objects/pics/people/magma_member_f/8.4bpp"); -const u32 gFieldObjectPic_Sidney_0[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/0.4bpp"); -const u32 gFieldObjectPic_Sidney_1[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/1.4bpp"); -const u32 gFieldObjectPic_Sidney_2[] = INCBIN_U32("graphics/map_objects/pics/people/sidney/2.4bpp"); -const u32 gFieldObjectPic_Phoebe_0[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/0.4bpp"); -const u32 gFieldObjectPic_Phoebe_1[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/1.4bpp"); -const u32 gFieldObjectPic_Phoebe_2[] = INCBIN_U32("graphics/map_objects/pics/people/phoebe/2.4bpp"); -const u32 gFieldObjectPic_Glacia_0[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/0.4bpp"); -const u32 gFieldObjectPic_Glacia_1[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/1.4bpp"); -const u32 gFieldObjectPic_Glacia_2[] = INCBIN_U32("graphics/map_objects/pics/people/glacia/2.4bpp"); -const u32 gFieldObjectPic_Drake_0[] = INCBIN_U32("graphics/map_objects/pics/people/drake/0.4bpp"); -const u32 gFieldObjectPic_Drake_1[] = INCBIN_U32("graphics/map_objects/pics/people/drake/1.4bpp"); -const u32 gFieldObjectPic_Drake_2[] = INCBIN_U32("graphics/map_objects/pics/people/drake/2.4bpp"); -const u32 gFieldObjectPic_Roxanne_0[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/0.4bpp"); -const u32 gFieldObjectPic_Roxanne_1[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/1.4bpp"); -const u32 gFieldObjectPic_Roxanne_2[] = INCBIN_U32("graphics/map_objects/pics/people/roxanne/2.4bpp"); -const u32 gFieldObjectPic_Brawly_0[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/0.4bpp"); -const u32 gFieldObjectPic_Brawly_1[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/1.4bpp"); -const u32 gFieldObjectPic_Brawly_2[] = INCBIN_U32("graphics/map_objects/pics/people/brawly/2.4bpp"); -const u32 gFieldObjectPic_Wattson_0[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/0.4bpp"); -const u32 gFieldObjectPic_Wattson_1[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/1.4bpp"); -const u32 gFieldObjectPic_Wattson_2[] = INCBIN_U32("graphics/map_objects/pics/people/wattson/2.4bpp"); -const u32 gFieldObjectPic_Flannery_0[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/0.4bpp"); -const u32 gFieldObjectPic_Flannery_1[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/1.4bpp"); -const u32 gFieldObjectPic_Flannery_2[] = INCBIN_U32("graphics/map_objects/pics/people/flannery/2.4bpp"); -const u32 gFieldObjectPic_Norman_0[] = INCBIN_U32("graphics/map_objects/pics/people/norman/0.4bpp"); -const u32 gFieldObjectPic_Norman_1[] = INCBIN_U32("graphics/map_objects/pics/people/norman/1.4bpp"); -const u32 gFieldObjectPic_Norman_2[] = INCBIN_U32("graphics/map_objects/pics/people/norman/2.4bpp"); -const u32 gFieldObjectPic_Norman_3[] = INCBIN_U32("graphics/map_objects/pics/people/norman/3.4bpp"); -const u32 gFieldObjectPic_Norman_4[] = INCBIN_U32("graphics/map_objects/pics/people/norman/4.4bpp"); -const u32 gFieldObjectPic_Norman_5[] = INCBIN_U32("graphics/map_objects/pics/people/norman/5.4bpp"); -const u32 gFieldObjectPic_Norman_6[] = INCBIN_U32("graphics/map_objects/pics/people/norman/6.4bpp"); -const u32 gFieldObjectPic_Norman_7[] = INCBIN_U32("graphics/map_objects/pics/people/norman/7.4bpp"); -const u32 gFieldObjectPic_Norman_8[] = INCBIN_U32("graphics/map_objects/pics/people/norman/8.4bpp"); -const u32 gFieldObjectPic_Winona_0[] = INCBIN_U32("graphics/map_objects/pics/people/winona/0.4bpp"); -const u32 gFieldObjectPic_Winona_1[] = INCBIN_U32("graphics/map_objects/pics/people/winona/1.4bpp"); -const u32 gFieldObjectPic_Winona_2[] = INCBIN_U32("graphics/map_objects/pics/people/winona/2.4bpp"); -const u32 gFieldObjectPic_Liza_0[] = INCBIN_U32("graphics/map_objects/pics/people/liza/0.4bpp"); -const u32 gFieldObjectPic_Liza_1[] = INCBIN_U32("graphics/map_objects/pics/people/liza/1.4bpp"); -const u32 gFieldObjectPic_Liza_2[] = INCBIN_U32("graphics/map_objects/pics/people/liza/2.4bpp"); -const u32 gFieldObjectPic_Tate_0[] = INCBIN_U32("graphics/map_objects/pics/people/tate/0.4bpp"); -const u32 gFieldObjectPic_Tate_1[] = INCBIN_U32("graphics/map_objects/pics/people/tate/1.4bpp"); -const u32 gFieldObjectPic_Tate_2[] = INCBIN_U32("graphics/map_objects/pics/people/tate/2.4bpp"); -const u32 gFieldObjectPic_Wallace_0[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/0.4bpp"); -const u32 gFieldObjectPic_Wallace_1[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/1.4bpp"); -const u32 gFieldObjectPic_Wallace_2[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/2.4bpp"); -const u32 gFieldObjectPic_Wallace_3[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/3.4bpp"); -const u32 gFieldObjectPic_Wallace_4[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/4.4bpp"); -const u32 gFieldObjectPic_Wallace_5[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/5.4bpp"); -const u32 gFieldObjectPic_Wallace_6[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/6.4bpp"); -const u32 gFieldObjectPic_Wallace_7[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/7.4bpp"); -const u32 gFieldObjectPic_Wallace_8[] = INCBIN_U32("graphics/map_objects/pics/people/wallace/8.4bpp"); -const u32 gFieldObjectPic_Steven_0[] = INCBIN_U32("graphics/map_objects/pics/people/steven/0.4bpp"); -const u32 gFieldObjectPic_Steven_1[] = INCBIN_U32("graphics/map_objects/pics/people/steven/1.4bpp"); -const u32 gFieldObjectPic_Steven_2[] = INCBIN_U32("graphics/map_objects/pics/people/steven/2.4bpp"); -const u32 gFieldObjectPic_Steven_3[] = INCBIN_U32("graphics/map_objects/pics/people/steven/3.4bpp"); -const u32 gFieldObjectPic_Steven_4[] = INCBIN_U32("graphics/map_objects/pics/people/steven/4.4bpp"); -const u32 gFieldObjectPic_Steven_5[] = INCBIN_U32("graphics/map_objects/pics/people/steven/5.4bpp"); -const u32 gFieldObjectPic_Steven_6[] = INCBIN_U32("graphics/map_objects/pics/people/steven/6.4bpp"); -const u32 gFieldObjectPic_Steven_7[] = INCBIN_U32("graphics/map_objects/pics/people/steven/7.4bpp"); -const u32 gFieldObjectPic_Steven_8[] = INCBIN_U32("graphics/map_objects/pics/people/steven/8.4bpp"); -const u32 gFieldObjectPic_Wally_0[] = INCBIN_U32("graphics/map_objects/pics/people/wally/0.4bpp"); -const u32 gFieldObjectPic_Wally_1[] = INCBIN_U32("graphics/map_objects/pics/people/wally/1.4bpp"); -const u32 gFieldObjectPic_Wally_2[] = INCBIN_U32("graphics/map_objects/pics/people/wally/2.4bpp"); -const u32 gFieldObjectPic_Wally_3[] = INCBIN_U32("graphics/map_objects/pics/people/wally/3.4bpp"); -const u32 gFieldObjectPic_Wally_4[] = INCBIN_U32("graphics/map_objects/pics/people/wally/4.4bpp"); -const u32 gFieldObjectPic_Wally_5[] = INCBIN_U32("graphics/map_objects/pics/people/wally/5.4bpp"); -const u32 gFieldObjectPic_Wally_6[] = INCBIN_U32("graphics/map_objects/pics/people/wally/6.4bpp"); -const u32 gFieldObjectPic_Wally_7[] = INCBIN_U32("graphics/map_objects/pics/people/wally/7.4bpp"); -const u32 gFieldObjectPic_Wally_8[] = INCBIN_U32("graphics/map_objects/pics/people/wally/8.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_0[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/0.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_1[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/1.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_2[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/2.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_3[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/3.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_4[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/4.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_5[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/5.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_6[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/6.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_7[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/7.4bpp"); -const u32 gFieldObjectPic_RubySapphireLittleBoy_8[] = INCBIN_U32("graphics/map_objects/pics/people/ruby_sapphire_little_boy/8.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/0.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/1.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/2.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/3.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/4.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/5.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/6.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/7.4bpp"); -const u32 gFieldObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/map_objects/pics/people/hot_springs_old_woman/8.4bpp"); -const u32 gFieldObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/0.4bpp"); -const u32 gFieldObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/1.4bpp"); -const u32 gFieldObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/latias_latios/2.4bpp"); -const u32 gFieldObjectPic_Boy5_0[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/0.4bpp"); -const u32 gFieldObjectPic_Boy5_1[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/1.4bpp"); -const u32 gFieldObjectPic_Boy5_2[] = INCBIN_U32("graphics/map_objects/pics/people/boy_5/2.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_0[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/0.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_1[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/1.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_2[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/2.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_3[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/3.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_4[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/4.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_5[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/5.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_6[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/6.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_7[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/7.4bpp"); -const u32 gFieldObjectPic_ContestOldMan_8[] = INCBIN_U32("graphics/map_objects/pics/people/contest_old_man/8.4bpp"); -const u32 gFieldObjectPic_Archie_0[] = INCBIN_U32("graphics/map_objects/pics/people/archie/0.4bpp"); -const u32 gFieldObjectPic_Archie_1[] = INCBIN_U32("graphics/map_objects/pics/people/archie/1.4bpp"); -const u32 gFieldObjectPic_Archie_2[] = INCBIN_U32("graphics/map_objects/pics/people/archie/2.4bpp"); -const u32 gFieldObjectPic_Archie_3[] = INCBIN_U32("graphics/map_objects/pics/people/archie/3.4bpp"); -const u32 gFieldObjectPic_Archie_4[] = INCBIN_U32("graphics/map_objects/pics/people/archie/4.4bpp"); -const u32 gFieldObjectPic_Archie_5[] = INCBIN_U32("graphics/map_objects/pics/people/archie/5.4bpp"); -const u32 gFieldObjectPic_Archie_6[] = INCBIN_U32("graphics/map_objects/pics/people/archie/6.4bpp"); -const u32 gFieldObjectPic_Archie_7[] = INCBIN_U32("graphics/map_objects/pics/people/archie/7.4bpp"); -const u32 gFieldObjectPic_Archie_8[] = INCBIN_U32("graphics/map_objects/pics/people/archie/8.4bpp"); -const u32 gFieldObjectPic_Maxie_0[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/0.4bpp"); -const u32 gFieldObjectPic_Maxie_1[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/1.4bpp"); -const u32 gFieldObjectPic_Maxie_2[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/2.4bpp"); -const u32 gFieldObjectPic_Maxie_3[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/3.4bpp"); -const u32 gFieldObjectPic_Maxie_4[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/4.4bpp"); -const u32 gFieldObjectPic_Maxie_5[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/5.4bpp"); -const u32 gFieldObjectPic_Maxie_6[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/6.4bpp"); -const u32 gFieldObjectPic_Maxie_7[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/7.4bpp"); -const u32 gFieldObjectPic_Maxie_8[] = INCBIN_U32("graphics/map_objects/pics/people/maxie/8.4bpp"); -const u32 gFieldObjectPic_KyogreFront_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_front/0.4bpp"); -const u32 gFieldObjectPic_KyogreFront_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_front/1.4bpp"); -const u32 gFieldObjectPic_KyogreSide_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_side/0.4bpp"); -const u32 gFieldObjectPic_KyogreSide_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kyogre_side/1.4bpp"); -const u32 gFieldObjectPic_GroudonFront_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_front/0.4bpp"); -const u32 gFieldObjectPic_GroudonFront_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_front/1.4bpp"); -const u32 gFieldObjectPic_GroudonSide_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_side/0.4bpp"); -const u32 gFieldObjectPic_GroudonSide_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/groudon_side/1.4bpp"); -const u32 gFieldObjectPic_Regi[] = INCBIN_U32("graphics/map_objects/pics/pokemon/regi.4bpp"); -const u32 gFieldObjectPic_Skitty_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/0.4bpp"); -const u32 gFieldObjectPic_Skitty_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/1.4bpp"); -const u32 gFieldObjectPic_Skitty_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/skitty/2.4bpp"); -const u32 gFieldObjectPic_Kecleon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/0.4bpp"); -const u32 gFieldObjectPic_Kecleon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/1.4bpp"); -const u32 gFieldObjectPic_Kecleon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kecleon/2.4bpp"); -const u32 gFieldObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/0.4bpp"); -const u32 gFieldObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/1.4bpp"); -const u32 gFieldObjectPic_Rayquaza_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/2.4bpp"); -const u32 gFieldObjectPic_Rayquaza_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/3.4bpp"); -const u32 gFieldObjectPic_Rayquaza_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza/4.4bpp"); -const u32 gFieldObjectPic_RayquazaStill[] = INCBIN_U32("graphics/map_objects/pics/pokemon/rayquaza_still.4bpp"); -const u32 gFieldObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/0.4bpp"); -const u32 gFieldObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/1.4bpp"); -const u32 gFieldObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/zigzagoon/2.4bpp"); -const u32 gFieldObjectPic_Pikachu_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/0.4bpp"); -const u32 gFieldObjectPic_Pikachu_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/1.4bpp"); -const u32 gFieldObjectPic_Pikachu_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/pikachu/2.4bpp"); -const u32 gFieldObjectPic_Azumarill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/0.4bpp"); -const u32 gFieldObjectPic_Azumarill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/1.4bpp"); -const u32 gFieldObjectPic_Azumarill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azumarill/2.4bpp"); -const u32 gFieldObjectPic_Wingull_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/0.4bpp"); -const u32 gFieldObjectPic_Wingull_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/3.4bpp"); -const u32 gFieldObjectPic_Wingull_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/1.4bpp"); -const u32 gFieldObjectPic_Wingull_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/4.4bpp"); -const u32 gFieldObjectPic_Wingull_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/2.4bpp"); -const u32 gFieldObjectPic_Wingull_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/wingull/5.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/0.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/1.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/2.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/3.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/4.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/5.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/6.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/7.4bpp"); -const u32 gFieldObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/map_objects/pics/people/tuber_m_swimming/8.4bpp"); -const u32 gFieldObjectPic_Azurill_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/0.4bpp"); -const u32 gFieldObjectPic_Azurill_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/1.4bpp"); -const u32 gFieldObjectPic_Azurill_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/azurill/2.4bpp"); -const u32 gFieldObjectPic_Mom_0[] = INCBIN_U32("graphics/map_objects/pics/people/mom/0.4bpp"); -const u32 gFieldObjectPic_Mom_1[] = INCBIN_U32("graphics/map_objects/pics/people/mom/1.4bpp"); -const u32 gFieldObjectPic_Mom_2[] = INCBIN_U32("graphics/map_objects/pics/people/mom/2.4bpp"); -const u32 gFieldObjectPic_Mom_3[] = INCBIN_U32("graphics/map_objects/pics/people/mom/3.4bpp"); -const u32 gFieldObjectPic_Mom_4[] = INCBIN_U32("graphics/map_objects/pics/people/mom/4.4bpp"); -const u32 gFieldObjectPic_Mom_5[] = INCBIN_U32("graphics/map_objects/pics/people/mom/5.4bpp"); -const u32 gFieldObjectPic_Mom_6[] = INCBIN_U32("graphics/map_objects/pics/people/mom/6.4bpp"); -const u32 gFieldObjectPic_Mom_7[] = INCBIN_U32("graphics/map_objects/pics/people/mom/7.4bpp"); -const u32 gFieldObjectPic_Mom_8[] = INCBIN_U32("graphics/map_objects/pics/people/mom/8.4bpp"); -const u16 gFieldObjectPalette22[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_22.gbapal"); -const u16 gFieldObjectPalette23[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_23.gbapal"); -const u16 gFieldObjectPalette24[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_24.gbapal"); -const u16 gFieldObjectPalette25[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_25.gbapal"); -const u32 gFieldObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_natu_doll.4bpp"); -const u32 gFieldObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_magnemite_doll.4bpp"); -const u32 gFieldObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_squirtle_doll.4bpp"); -const u32 gFieldObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_wooper_doll.4bpp"); -const u32 gFieldObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_pikachu_doll.4bpp"); -const u32 gFieldObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/map_objects/pics/dolls/unused_porygon2_doll.4bpp"); -const u32 gFieldObjectPic_PichuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pichu_doll.4bpp"); -const u32 gFieldObjectPic_PikachuDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/pikachu_doll.4bpp"); -const u32 gFieldObjectPic_MarillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/marill_doll.4bpp"); -const u32 gFieldObjectPic_TogepiDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/togepi_doll.4bpp"); -const u32 gFieldObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/cyndaquil_doll.4bpp"); -const u32 gFieldObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/chikorita_doll.4bpp"); -const u32 gFieldObjectPic_TotodileDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/totodile_doll.4bpp"); -const u32 gFieldObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/jigglypuff_doll.4bpp"); -const u32 gFieldObjectPic_MeowthDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/meowth_doll.4bpp"); -const u32 gFieldObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/clefairy_doll.4bpp"); -const u32 gFieldObjectPic_DittoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/ditto_doll.4bpp"); -const u32 gFieldObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/smoochum_doll.4bpp"); -const u32 gFieldObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/treecko_doll.4bpp"); -const u32 gFieldObjectPic_TorchicDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/torchic_doll.4bpp"); -const u32 gFieldObjectPic_MudkipDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/mudkip_doll.4bpp"); -const u32 gFieldObjectPic_DuskullDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/duskull_doll.4bpp"); -const u32 gFieldObjectPic_WynautDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/wynaut_doll.4bpp"); -const u32 gFieldObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/baltoy_doll.4bpp"); -const u32 gFieldObjectPic_KecleonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/kecleon_doll.4bpp"); -const u32 gFieldObjectPic_AzurillDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/azurill_doll.4bpp"); -const u32 gFieldObjectPic_SkittyDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/skitty_doll.4bpp"); -const u32 gFieldObjectPic_SwabluDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/swablu_doll.4bpp"); -const u32 gFieldObjectPic_GulpinDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/gulpin_doll.4bpp"); -const u32 gFieldObjectPic_LotadDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/lotad_doll.4bpp"); -const u32 gFieldObjectPic_SeedotDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/seedot_doll.4bpp"); -const u32 gFieldObjectPic_PikaCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/pika_cushion.4bpp"); -const u32 gFieldObjectPic_RoundCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/round_cushion.4bpp"); -const u32 gFieldObjectPic_KissCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/kiss_cushion.4bpp"); -const u32 gFieldObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/zigzag_cushion.4bpp"); -const u32 gFieldObjectPic_SpinCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/spin_cushion.4bpp"); -const u32 gFieldObjectPic_DiamondCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/diamond_cushion.4bpp"); -const u32 gFieldObjectPic_BallCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/ball_cushion.4bpp"); -const u32 gFieldObjectPic_GrassCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/grass_cushion.4bpp"); -const u32 gFieldObjectPic_FireCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/fire_cushion.4bpp"); -const u32 gFieldObjectPic_WaterCushion[] = INCBIN_U32("graphics/map_objects/pics/cushions/water_cushion.4bpp"); -const u32 gFieldObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_snorlax_doll.4bpp"); -const u32 gFieldObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_rhydon_doll.4bpp"); -const u32 gFieldObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_lapras_doll.4bpp"); -const u32 gFieldObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_venusaur_doll.4bpp"); -const u32 gFieldObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_charizard_doll.4bpp"); -const u32 gFieldObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_blastoise_doll.4bpp"); -const u32 gFieldObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_wailmer_doll.4bpp"); -const u32 gFieldObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regirock_doll.4bpp"); -const u32 gFieldObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_regice_doll.4bpp"); -const u32 gFieldObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/map_objects/pics/dolls/big_registeel_doll.4bpp"); -const u32 gFieldObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/0.4bpp"); -const u32 gFieldObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/1.4bpp"); -const u32 gFieldObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/2.4bpp"); -const u32 gFieldObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/map_objects/pics/misc/cuttable_tree/3.4bpp"); -const u32 gFieldObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/0.4bpp"); -const u32 gFieldObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/1.4bpp"); -const u32 gFieldObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/2.4bpp"); -const u32 gFieldObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/map_objects/pics/misc/breakable_rock/3.4bpp"); -const u32 gFieldObjectPic_PushableBoulder[] = INCBIN_U32("graphics/map_objects/pics/misc/pushable_boulder.4bpp"); -const u32 gFieldObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/0.4bpp"); -const u32 gFieldObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/1.4bpp"); -const u32 gFieldObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/map_objects/pics/misc/mr_brineys_boat/2.4bpp"); -const u32 gFieldObjectPic_Fossil[] = INCBIN_U32("graphics/map_objects/pics/misc/fossil.4bpp"); -const u32 gFieldObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/map_objects/pics/misc/submarine_shadow.4bpp"); -const u16 gFieldObjectPalette26[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_26.gbapal"); -const u32 gFieldObjectPic_Truck[] = INCBIN_U32("graphics/map_objects/pics/misc/truck.4bpp"); -const u16 gFieldObjectPalette14[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_14.gbapal"); -const u32 gFieldObjectPic_VigorothCarryingBox_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_carrying_box/0.4bpp"); -const u32 gFieldObjectPic_VigorothCarryingBox_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_carrying_box/1.4bpp"); -const u32 gFieldObjectPic_VigorothCarryingBox_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_carrying_box/2.4bpp"); -const u32 gFieldObjectPic_VigorothFacingAway_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_facing_away/0.4bpp"); -const u32 gFieldObjectPic_VigorothFacingAway_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/vigoroth_facing_away/1.4bpp"); -const u16 gFieldObjectPalette15[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_15.gbapal"); -const u32 gFieldObjectPic_BirchsBag[] = INCBIN_U32("graphics/map_objects/pics/misc/birchs_bag.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/0.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/1.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/2.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/3.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/4.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/5.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/6.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/7.4bpp"); -const u32 gFieldObjectPic_EnemyZigzagoon_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/enemy_zigzagoon/8.4bpp"); -const u16 gFieldObjectPalette16[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_16.gbapal"); -const u32 gFieldObjectPic_Poochyena_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/0.4bpp"); -const u32 gFieldObjectPic_Poochyena_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/1.4bpp"); -const u32 gFieldObjectPic_Poochyena_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/2.4bpp"); -const u32 gFieldObjectPic_Poochyena_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/3.4bpp"); -const u32 gFieldObjectPic_Poochyena_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/4.4bpp"); -const u32 gFieldObjectPic_Poochyena_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/5.4bpp"); -const u32 gFieldObjectPic_Poochyena_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/6.4bpp"); -const u32 gFieldObjectPic_Poochyena_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/7.4bpp"); -const u32 gFieldObjectPic_Poochyena_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/poochyena/8.4bpp"); -const u16 gFieldObjectPalette27[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_27.gbapal"); -const u32 gFieldObjectPic_CableCar[] = INCBIN_U32("graphics/map_objects/pics/misc/cable_car.4bpp"); -const u16 gFieldObjectPalette20[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_20.gbapal"); -const u32 gFieldObjectPic_SSTidal[] = INCBIN_U32("graphics/map_objects/pics/misc/ss_tidal.4bpp"); -const u16 gFieldObjectPalette21[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_21.gbapal"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/0.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/1.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/2.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/3.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/4.4bpp"); -const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/map_objects/pics/effects/berry_tree_growth_sparkle/5.4bpp"); -const u32 gFieldObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/dirt_pile.4bpp"); -const u32 gFieldObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/0.4bpp"); -const u32 gFieldObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sprout/1.4bpp"); -const u32 gFieldObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/0.4bpp"); -const u32 gFieldObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/1.4bpp"); -const u32 gFieldObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/2.4bpp"); -const u32 gFieldObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/3.4bpp"); -const u32 gFieldObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/4.4bpp"); -const u32 gFieldObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pecha/5.4bpp"); -const u32 gFieldObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/0.4bpp"); -const u32 gFieldObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/1.4bpp"); -const u32 gFieldObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/2.4bpp"); -const u32 gFieldObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/3.4bpp"); -const u32 gFieldObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/4.4bpp"); -const u32 gFieldObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/kelpsy/5.4bpp"); -const u32 gFieldObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/0.4bpp"); -const u32 gFieldObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/1.4bpp"); -const u32 gFieldObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/2.4bpp"); -const u32 gFieldObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/3.4bpp"); -const u32 gFieldObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/4.4bpp"); -const u32 gFieldObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wepear/5.4bpp"); -const u32 gFieldObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/0.4bpp"); -const u32 gFieldObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/1.4bpp"); -const u32 gFieldObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/2.4bpp"); -const u32 gFieldObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/3.4bpp"); -const u32 gFieldObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/4.4bpp"); -const u32 gFieldObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/iapapa/5.4bpp"); -const u32 gFieldObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/0.4bpp"); -const u32 gFieldObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/1.4bpp"); -const u32 gFieldObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/2.4bpp"); -const u32 gFieldObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/3.4bpp"); -const u32 gFieldObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/4.4bpp"); -const u32 gFieldObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cheri/5.4bpp"); -const u32 gFieldObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/0.4bpp"); -const u32 gFieldObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/1.4bpp"); -const u32 gFieldObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/2.4bpp"); -const u32 gFieldObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/3.4bpp"); -const u32 gFieldObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/4.4bpp"); -const u32 gFieldObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/figy/5.4bpp"); -const u32 gFieldObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/0.4bpp"); -const u32 gFieldObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/1.4bpp"); -const u32 gFieldObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/2.4bpp"); -const u32 gFieldObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/3.4bpp"); -const u32 gFieldObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/4.4bpp"); -const u32 gFieldObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/mago/5.4bpp"); -const u32 gFieldObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/0.4bpp"); -const u32 gFieldObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/1.4bpp"); -const u32 gFieldObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/2.4bpp"); -const u32 gFieldObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/3.4bpp"); -const u32 gFieldObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/4.4bpp"); -const u32 gFieldObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lum/5.4bpp"); -const u32 gFieldObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/0.4bpp"); -const u32 gFieldObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/1.4bpp"); -const u32 gFieldObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/2.4bpp"); -const u32 gFieldObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/3.4bpp"); -const u32 gFieldObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/4.4bpp"); -const u32 gFieldObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/razz/5.4bpp"); -const u32 gFieldObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/0.4bpp"); -const u32 gFieldObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/1.4bpp"); -const u32 gFieldObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/2.4bpp"); -const u32 gFieldObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/3.4bpp"); -const u32 gFieldObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/4.4bpp"); -const u32 gFieldObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/grepa/5.4bpp"); -const u32 gFieldObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/0.4bpp"); -const u32 gFieldObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/1.4bpp"); -const u32 gFieldObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/2.4bpp"); -const u32 gFieldObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/3.4bpp"); -const u32 gFieldObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/4.4bpp"); -const u32 gFieldObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rabuta/5.4bpp"); -const u32 gFieldObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/0.4bpp"); -const u32 gFieldObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/1.4bpp"); -const u32 gFieldObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/2.4bpp"); -const u32 gFieldObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/3.4bpp"); -const u32 gFieldObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/4.4bpp"); -const u32 gFieldObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/nomel/5.4bpp"); -const u32 gFieldObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/0.4bpp"); -const u32 gFieldObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/1.4bpp"); -const u32 gFieldObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/2.4bpp"); -const u32 gFieldObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/3.4bpp"); -const u32 gFieldObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/4.4bpp"); -const u32 gFieldObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/leppa/5.4bpp"); -const u32 gFieldObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/0.4bpp"); -const u32 gFieldObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/1.4bpp"); -const u32 gFieldObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/2.4bpp"); -const u32 gFieldObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/3.4bpp"); -const u32 gFieldObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/4.4bpp"); -const u32 gFieldObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/liechi/5.4bpp"); -const u32 gFieldObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/0.4bpp"); -const u32 gFieldObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/1.4bpp"); -const u32 gFieldObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/2.4bpp"); -const u32 gFieldObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/3.4bpp"); -const u32 gFieldObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/4.4bpp"); -const u32 gFieldObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/hondew/5.4bpp"); -const u32 gFieldObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/0.4bpp"); -const u32 gFieldObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/1.4bpp"); -const u32 gFieldObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/2.4bpp"); -const u32 gFieldObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/3.4bpp"); -const u32 gFieldObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/4.4bpp"); -const u32 gFieldObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aguav/5.4bpp"); -const u32 gFieldObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/0.4bpp"); -const u32 gFieldObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/1.4bpp"); -const u32 gFieldObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/2.4bpp"); -const u32 gFieldObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/3.4bpp"); -const u32 gFieldObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/4.4bpp"); -const u32 gFieldObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/wiki/5.4bpp"); -const u32 gFieldObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/0.4bpp"); -const u32 gFieldObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/1.4bpp"); -const u32 gFieldObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/2.4bpp"); -const u32 gFieldObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/3.4bpp"); -const u32 gFieldObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/4.4bpp"); -const u32 gFieldObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pomeg/5.4bpp"); -const u32 gFieldObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/0.4bpp"); -const u32 gFieldObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/1.4bpp"); -const u32 gFieldObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/2.4bpp"); -const u32 gFieldObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/3.4bpp"); -const u32 gFieldObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/4.4bpp"); -const u32 gFieldObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/rawst/5.4bpp"); -const u32 gFieldObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/0.4bpp"); -const u32 gFieldObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/1.4bpp"); -const u32 gFieldObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/2.4bpp"); -const u32 gFieldObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/3.4bpp"); -const u32 gFieldObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/4.4bpp"); -const u32 gFieldObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/spelon/5.4bpp"); -const u32 gFieldObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/0.4bpp"); -const u32 gFieldObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/1.4bpp"); -const u32 gFieldObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/2.4bpp"); -const u32 gFieldObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/3.4bpp"); -const u32 gFieldObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/4.4bpp"); -const u32 gFieldObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/chesto/5.4bpp"); -const u32 gFieldObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/0.4bpp"); -const u32 gFieldObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/1.4bpp"); -const u32 gFieldObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/2.4bpp"); -const u32 gFieldObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/3.4bpp"); -const u32 gFieldObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/4.4bpp"); -const u32 gFieldObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/oran/5.4bpp"); -const u32 gFieldObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/0.4bpp"); -const u32 gFieldObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/1.4bpp"); -const u32 gFieldObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/2.4bpp"); -const u32 gFieldObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/3.4bpp"); -const u32 gFieldObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/4.4bpp"); -const u32 gFieldObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/persim/5.4bpp"); -const u32 gFieldObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/0.4bpp"); -const u32 gFieldObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/1.4bpp"); -const u32 gFieldObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/2.4bpp"); -const u32 gFieldObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/3.4bpp"); -const u32 gFieldObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/4.4bpp"); -const u32 gFieldObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/sitrus/5.4bpp"); -const u32 gFieldObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/0.4bpp"); -const u32 gFieldObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/1.4bpp"); -const u32 gFieldObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/2.4bpp"); -const u32 gFieldObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/3.4bpp"); -const u32 gFieldObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/4.4bpp"); -const u32 gFieldObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/aspear/5.4bpp"); -const u32 gFieldObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/0.4bpp"); -const u32 gFieldObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/1.4bpp"); -const u32 gFieldObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/2.4bpp"); -const u32 gFieldObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/3.4bpp"); -const u32 gFieldObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/4.4bpp"); -const u32 gFieldObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/pamtre/5.4bpp"); -const u32 gFieldObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/0.4bpp"); -const u32 gFieldObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/1.4bpp"); -const u32 gFieldObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/2.4bpp"); -const u32 gFieldObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/3.4bpp"); -const u32 gFieldObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/4.4bpp"); -const u32 gFieldObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/cornn/5.4bpp"); -const u32 gFieldObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/0.4bpp"); -const u32 gFieldObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/1.4bpp"); -const u32 gFieldObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/2.4bpp"); -const u32 gFieldObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/3.4bpp"); -const u32 gFieldObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/4.4bpp"); -const u32 gFieldObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/lansat/5.4bpp"); -const u32 gFieldObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/0.4bpp"); -const u32 gFieldObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/1.4bpp"); -const u32 gFieldObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/2.4bpp"); -const u32 gFieldObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/3.4bpp"); -const u32 gFieldObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/4.4bpp"); -const u32 gFieldObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/durin/5.4bpp"); -const u32 gFieldObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/0.4bpp"); -const u32 gFieldObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/1.4bpp"); -const u32 gFieldObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/2.4bpp"); -const u32 gFieldObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/3.4bpp"); -const u32 gFieldObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/4.4bpp"); -const u32 gFieldObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/map_objects/pics/berry_trees/tamato/5.4bpp"); -const u32 gFieldEffectObjectPic_SurfBlob_0[] = INCBIN_U32("graphics/map_objects/pics/effects/surf_blob/0.4bpp"); -const u32 gFieldEffectObjectPic_SurfBlob_1[] = INCBIN_U32("graphics/map_objects/pics/effects/surf_blob/1.4bpp"); -const u32 gFieldEffectObjectPic_SurfBlob_2[] = INCBIN_U32("graphics/map_objects/pics/effects/surf_blob/2.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/0.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/1.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/2.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/3.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/4.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/5.4bpp"); -const u32 gFieldObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/map_objects/pics/people/quinty_plump/6.4bpp"); -const u16 gFieldObjectPalette12[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_12.gbapal"); -const u16 gFieldObjectPalette13[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_13.gbapal"); -const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_small.4bpp"); -const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_medium.4bpp"); -const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_large.4bpp"); -const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/map_objects/pics/effects/shadow_extra_large.4bpp"); -const u32 gUnknown_084F6D38[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_4F6D38/0.4bpp"); -const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_06.gbapal"); -const u32 gFieldEffectObjectPic_Ripple_0[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/0.4bpp"); -const u32 gFieldEffectObjectPic_Ripple_1[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/1.4bpp"); -const u32 gFieldEffectObjectPic_Ripple_2[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/2.4bpp"); -const u32 gFieldEffectObjectPic_Ripple_3[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/3.4bpp"); -const u32 gFieldEffectObjectPic_Ripple_4[] = INCBIN_U32("graphics/map_objects/pics/effects/ripple/4.4bpp"); -const u32 gFieldEffectObjectPic_Ash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/0.4bpp"); -const u32 gFieldEffectObjectPic_Ash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/1.4bpp"); -const u32 gFieldEffectObjectPic_Ash_2[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/2.4bpp"); -const u32 gFieldEffectObjectPic_Ash_3[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/3.4bpp"); -const u32 gFieldEffectObjectPic_Ash_4[] = INCBIN_U32("graphics/map_objects/pics/effects/ash/4.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_0[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/0.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_1[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/1.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_2[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/2.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_3[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/3.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_4[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/4.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_5[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/5.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_6[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/6.4bpp"); -const u32 gFieldEffectObjectPic_Arrow_7[] = INCBIN_U32("graphics/map_objects/pics/effects/arrow/7.4bpp"); -const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_00.gbapal"); -const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_01.gbapal"); -const u32 gFieldEffectObjectPic_GroundImpactDust_0[] = INCBIN_U32("graphics/map_objects/pics/effects/ground_impact_dust/0.4bpp"); -const u32 gFieldEffectObjectPic_GroundImpactDust_1[] = INCBIN_U32("graphics/map_objects/pics/effects/ground_impact_dust/1.4bpp"); -const u32 gFieldEffectObjectPic_GroundImpactDust_2[] = INCBIN_U32("graphics/map_objects/pics/effects/ground_impact_dust/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/0.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopTallGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_tall_grass/3.4bpp"); -const u32 gUnusedGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/0.4bpp"); -const u32 gUnusedGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/1.4bpp"); -const u32 gUnusedGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/2.4bpp"); -const u32 gUnusedGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unused_grass/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/4.4bpp"); -const u32 gUnknown_084F7E38[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_4F7E38/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown16_5[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_16/5.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/4.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_5[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/5.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_6[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/6.4bpp"); -const u32 gFieldEffectObjectPic_Unknown17_7[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_17/7.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown18_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_18/3.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/0.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/1.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/2.4bpp"); -const u32 gFieldEffectObjectPic_LongGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/long_grass/3.4bpp"); -const u32 gFieldEffectObjectPic_TallGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/0.4bpp"); -const u32 gFieldEffectObjectPic_TallGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/1.4bpp"); -const u32 gFieldEffectObjectPic_TallGrass_2[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/2.4bpp"); -const u32 gFieldEffectObjectPic_TallGrass_3[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/3.4bpp"); -const u32 gFieldEffectObjectPic_TallGrass_4[] = INCBIN_U32("graphics/map_objects/pics/effects/tall_grass/4.4bpp"); -const u32 gFieldEffectObjectPic_ShortGrass_0[] = INCBIN_U32("graphics/map_objects/pics/effects/short_grass/0.4bpp"); -const u32 gFieldEffectObjectPic_ShortGrass_1[] = INCBIN_U32("graphics/map_objects/pics/effects/short_grass/1.4bpp"); -const u32 gFieldEffectObjectPic_SandFootprints_0[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_footprints/0.4bpp"); -const u32 gFieldEffectObjectPic_SandFootprints_1[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_footprints/1.4bpp"); -const u32 gFieldEffectObjectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/map_objects/pics/effects/deep_sand_footprints/0.4bpp"); -const u32 gFieldEffectObjectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/map_objects/pics/effects/deep_sand_footprints/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/0.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_tire_tracks/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown19_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_19/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_29/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_29/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown29_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_29/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopBigSplash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/0.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopBigSplash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopBigSplash_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/2.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopBigSplash_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_big_splash/3.4bpp"); -const u32 gFieldEffectObjectPic_Splash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/splash/0.4bpp"); -const u32 gFieldEffectObjectPic_Splash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/splash/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopSmallSplash_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_small_splash/0.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopSmallSplash_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_small_splash/1.4bpp"); -const u32 gFieldEffectObjectPic_BikeHopSmallSplash_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bike_hop_small_splash/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown20_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_20/4.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_0[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/0.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_1[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/1.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_2[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/2.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_3[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/3.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_4[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/4.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_5[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/5.4bpp"); -const u32 gFieldEffectObjectPic_TreeDisguise_6[] = INCBIN_U32("graphics/map_objects/pics/effects/tree_disguise/6.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_0[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/0.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_1[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/1.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_2[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/2.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_3[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/3.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_4[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/4.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_5[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/5.4bpp"); -const u32 gFieldEffectObjectPic_MountainDisguise_6[] = INCBIN_U32("graphics/map_objects/pics/effects/mountain_disguise/6.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_0[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/0.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_1[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/1.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_2[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/2.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_3[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/3.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_4[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/4.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_5[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/5.4bpp"); -const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_6[] = INCBIN_U32("graphics/map_objects/pics/effects/sand_disguise_placeholder/6.4bpp"); -const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/map_objects/pics/effects/hot_springs_water.4bpp"); -const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_02.gbapal"); -const u32 gFieldEffectObjectPic_JumpOutOfAsh_0[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/0.4bpp"); -const u32 gFieldEffectObjectPic_JumpOutOfAsh_1[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/1.4bpp"); -const u32 gFieldEffectObjectPic_JumpOutOfAsh_2[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/2.4bpp"); -const u32 gFieldEffectObjectPic_JumpOutOfAsh_3[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/3.4bpp"); -const u32 gFieldEffectObjectPic_JumpOutOfAsh_4[] = INCBIN_U32("graphics/map_objects/pics/effects/jump_out_of_ash/4.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/1.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_2[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/2.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_3[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/3.4bpp"); -const u32 gFieldEffectObjectPic_Unknown33_4[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_33/4.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_0[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/0.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_1[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/1.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_2[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/2.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_3[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/3.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_4[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/4.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_5[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/5.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_6[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/6.4bpp"); -const u32 gFieldEffectObjectPic_Bubbles_7[] = INCBIN_U32("graphics/map_objects/pics/effects/bubbles/7.4bpp"); -const u32 gFieldEffectObjectPic_Unknown35_0[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_35/0.4bpp"); -const u32 gFieldEffectObjectPic_Unknown35_1[] = INCBIN_U32("graphics/map_objects/pics/effects/unknown_35/1.4bpp"); -const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_03.gbapal"); -const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/map_objects/pics/effects/bird.4bpp"); -const u32 gFieldObjectPic_Juan_0[] = INCBIN_U32("graphics/map_objects/pics/people/juan/0.4bpp"); -const u32 gFieldObjectPic_Juan_1[] = INCBIN_U32("graphics/map_objects/pics/people/juan/1.4bpp"); -const u32 gFieldObjectPic_Juan_2[] = INCBIN_U32("graphics/map_objects/pics/people/juan/2.4bpp"); -const u32 gFieldObjectPic_Juan_3[] = INCBIN_U32("graphics/map_objects/pics/people/juan/3.4bpp"); -const u32 gFieldObjectPic_Juan_4[] = INCBIN_U32("graphics/map_objects/pics/people/juan/4.4bpp"); -const u32 gFieldObjectPic_Juan_5[] = INCBIN_U32("graphics/map_objects/pics/people/juan/5.4bpp"); -const u32 gFieldObjectPic_Juan_6[] = INCBIN_U32("graphics/map_objects/pics/people/juan/6.4bpp"); -const u32 gFieldObjectPic_Juan_7[] = INCBIN_U32("graphics/map_objects/pics/people/juan/7.4bpp"); -const u32 gFieldObjectPic_Juan_8[] = INCBIN_U32("graphics/map_objects/pics/people/juan/8.4bpp"); -const u32 gFieldObjectPic_Scott_0[] = INCBIN_U32("graphics/map_objects/pics/people/scott/0.4bpp"); -const u32 gFieldObjectPic_Scott_1[] = INCBIN_U32("graphics/map_objects/pics/people/scott/1.4bpp"); -const u32 gFieldObjectPic_Scott_2[] = INCBIN_U32("graphics/map_objects/pics/people/scott/2.4bpp"); -const u32 gFieldObjectPic_Scott_3[] = INCBIN_U32("graphics/map_objects/pics/people/scott/3.4bpp"); -const u32 gFieldObjectPic_Scott_4[] = INCBIN_U32("graphics/map_objects/pics/people/scott/4.4bpp"); -const u32 gFieldObjectPic_Scott_5[] = INCBIN_U32("graphics/map_objects/pics/people/scott/5.4bpp"); -const u32 gFieldObjectPic_Scott_6[] = INCBIN_U32("graphics/map_objects/pics/people/scott/6.4bpp"); -const u32 gFieldObjectPic_Scott_7[] = INCBIN_U32("graphics/map_objects/pics/people/scott/7.4bpp"); -const u32 gFieldObjectPic_Scott_8[] = INCBIN_U32("graphics/map_objects/pics/people/scott/8.4bpp"); -const u32 gFieldObjectPic_Statue[] = INCBIN_U32("graphics/map_objects/pics/misc/statue.4bpp"); -const u32 gFieldObjectPic_Kirlia_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/0.4bpp"); -const u32 gFieldObjectPic_Kirlia_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/1.4bpp"); -const u32 gFieldObjectPic_Kirlia_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/2.4bpp"); -const u32 gFieldObjectPic_Kirlia_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/3.4bpp"); -const u32 gFieldObjectPic_Kirlia_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/4.4bpp"); -const u32 gFieldObjectPic_Kirlia_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/5.4bpp"); -const u32 gFieldObjectPic_Kirlia_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/6.4bpp"); -const u32 gFieldObjectPic_Kirlia_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/7.4bpp"); -const u32 gFieldObjectPic_Kirlia_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/kirlia/8.4bpp"); -const u32 gFieldObjectPic_Dusclops_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/0.4bpp"); -const u32 gFieldObjectPic_Dusclops_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/1.4bpp"); -const u32 gFieldObjectPic_Dusclops_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/2.4bpp"); -const u32 gFieldObjectPic_Dusclops_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/3.4bpp"); -const u32 gFieldObjectPic_Dusclops_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/4.4bpp"); -const u32 gFieldObjectPic_Dusclops_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/5.4bpp"); -const u32 gFieldObjectPic_Dusclops_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/6.4bpp"); -const u32 gFieldObjectPic_Dusclops_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/7.4bpp"); -const u32 gFieldObjectPic_Dusclops_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/dusclops/8.4bpp"); -const u32 gFieldObjectPic_MysteryEventDeliveryman_0[] = INCBIN_U32("graphics/map_objects/pics/people/mystery_event_deliveryman/0.4bpp"); -const u32 gFieldObjectPic_MysteryEventDeliveryman_1[] = INCBIN_U32("graphics/map_objects/pics/people/mystery_event_deliveryman/1.4bpp"); -const u32 gFieldObjectPic_MysteryEventDeliveryman_2[] = INCBIN_U32("graphics/map_objects/pics/people/mystery_event_deliveryman/2.4bpp"); -const u32 gFieldObjectPic_UnionRoomAttendant_0[] = INCBIN_U32("graphics/map_objects/pics/people/union_room_attendant/0.4bpp"); -const u32 gFieldObjectPic_UnionRoomAttendant_1[] = INCBIN_U32("graphics/map_objects/pics/people/union_room_attendant/1.4bpp"); -const u32 gFieldObjectPic_UnionRoomAttendant_2[] = INCBIN_U32("graphics/map_objects/pics/people/union_room_attendant/2.4bpp"); -const u32 gFieldObjectPic_MovingBox[] = INCBIN_U32("graphics/map_objects/pics/misc/moving_box.4bpp"); -const u16 gFieldObjectPalette19[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_19.gbapal"); -const u32 gFieldObjectPic_Sudowoodo_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/sudowoodo/0.4bpp"); -const u32 gFieldObjectPic_Sudowoodo_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/sudowoodo/1.4bpp"); -const u32 gFieldObjectPic_Sudowoodo_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/sudowoodo/2.4bpp"); -const u32 gFieldObjectPic_Mew_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/0.4bpp"); -const u32 gFieldObjectPic_Mew_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/1.4bpp"); -const u32 gFieldObjectPic_Mew_2[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/2.4bpp"); -const u32 gFieldObjectPic_Mew_3[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/3.4bpp"); -const u32 gFieldObjectPic_Mew_4[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/4.4bpp"); -const u32 gFieldObjectPic_Mew_5[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/5.4bpp"); -const u32 gFieldObjectPic_Mew_6[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/6.4bpp"); -const u32 gFieldObjectPic_Mew_7[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/7.4bpp"); -const u32 gFieldObjectPic_Mew_8[] = INCBIN_U32("graphics/map_objects/pics/pokemon/mew/8.4bpp"); -const u16 gFieldObjectPalette28[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_28.gbapal"); -const u32 gFieldObjectPic_Red_0[] = INCBIN_U32("graphics/map_objects/pics/people/red/0.4bpp"); -const u32 gFieldObjectPic_Red_1[] = INCBIN_U32("graphics/map_objects/pics/people/red/1.4bpp"); -const u32 gFieldObjectPic_Red_2[] = INCBIN_U32("graphics/map_objects/pics/people/red/2.4bpp"); -const u32 gFieldObjectPic_Red_3[] = INCBIN_U32("graphics/map_objects/pics/people/red/3.4bpp"); -const u32 gFieldObjectPic_Red_4[] = INCBIN_U32("graphics/map_objects/pics/people/red/4.4bpp"); -const u32 gFieldObjectPic_Red_5[] = INCBIN_U32("graphics/map_objects/pics/people/red/5.4bpp"); -const u32 gFieldObjectPic_Red_6[] = INCBIN_U32("graphics/map_objects/pics/people/red/6.4bpp"); -const u32 gFieldObjectPic_Red_7[] = INCBIN_U32("graphics/map_objects/pics/people/red/7.4bpp"); -const u32 gFieldObjectPic_Red_8[] = INCBIN_U32("graphics/map_objects/pics/people/red/8.4bpp"); -const u32 gFieldObjectPic_Leaf_0[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/0.4bpp"); -const u32 gFieldObjectPic_Leaf_1[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/1.4bpp"); -const u32 gFieldObjectPic_Leaf_2[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/2.4bpp"); -const u32 gFieldObjectPic_Leaf_3[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/3.4bpp"); -const u32 gFieldObjectPic_Leaf_4[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/4.4bpp"); -const u32 gFieldObjectPic_Leaf_5[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/5.4bpp"); -const u32 gFieldObjectPic_Leaf_6[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/6.4bpp"); -const u32 gFieldObjectPic_Leaf_7[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/7.4bpp"); -const u32 gFieldObjectPic_Leaf_8[] = INCBIN_U32("graphics/map_objects/pics/people/leaf/8.4bpp"); -const u16 gFieldObjectPalette30[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_30.gbapal"); -const u32 gFieldObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/map_objects/pics/misc/birth_island_stone.4bpp"); -const u16 gFieldObjectPalette29[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_29.gbapal"); -const u32 gFieldObjectPic_Deoxys_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/deoxys/0.4bpp"); -const u32 gFieldObjectPic_Deoxys_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/deoxys/1.4bpp"); -const u32 gFieldObjectPic_Anabel_0[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/0.4bpp"); -const u32 gFieldObjectPic_Anabel_1[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/1.4bpp"); -const u32 gFieldObjectPic_Anabel_2[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/2.4bpp"); -const u32 gFieldObjectPic_Anabel_3[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/3.4bpp"); -const u32 gFieldObjectPic_Anabel_4[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/4.4bpp"); -const u32 gFieldObjectPic_Anabel_5[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/5.4bpp"); -const u32 gFieldObjectPic_Anabel_6[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/6.4bpp"); -const u32 gFieldObjectPic_Anabel_7[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/7.4bpp"); -const u32 gFieldObjectPic_Anabel_8[] = INCBIN_U32("graphics/map_objects/pics/people/anabel/8.4bpp"); -const u32 gFieldObjectPic_Tucker_0[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/0.4bpp"); -const u32 gFieldObjectPic_Tucker_1[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/1.4bpp"); -const u32 gFieldObjectPic_Tucker_2[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/2.4bpp"); -const u32 gFieldObjectPic_Tucker_3[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/3.4bpp"); -const u32 gFieldObjectPic_Tucker_4[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/4.4bpp"); -const u32 gFieldObjectPic_Tucker_5[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/5.4bpp"); -const u32 gFieldObjectPic_Tucker_6[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/6.4bpp"); -const u32 gFieldObjectPic_Tucker_7[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/7.4bpp"); -const u32 gFieldObjectPic_Tucker_8[] = INCBIN_U32("graphics/map_objects/pics/people/tucker/8.4bpp"); -const u32 gFieldObjectPic_Spenser_0[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/0.4bpp"); -const u32 gFieldObjectPic_Spenser_1[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/1.4bpp"); -const u32 gFieldObjectPic_Spenser_2[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/2.4bpp"); -const u32 gFieldObjectPic_Spenser_3[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/3.4bpp"); -const u32 gFieldObjectPic_Spenser_4[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/4.4bpp"); -const u32 gFieldObjectPic_Spenser_5[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/5.4bpp"); -const u32 gFieldObjectPic_Spenser_6[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/6.4bpp"); -const u32 gFieldObjectPic_Spenser_7[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/7.4bpp"); -const u32 gFieldObjectPic_Spenser_8[] = INCBIN_U32("graphics/map_objects/pics/people/spenser/8.4bpp"); -const u32 gFieldObjectPic_Greta_0[] = INCBIN_U32("graphics/map_objects/pics/people/greta/0.4bpp"); -const u32 gFieldObjectPic_Greta_1[] = INCBIN_U32("graphics/map_objects/pics/people/greta/1.4bpp"); -const u32 gFieldObjectPic_Greta_2[] = INCBIN_U32("graphics/map_objects/pics/people/greta/2.4bpp"); -const u32 gFieldObjectPic_Greta_3[] = INCBIN_U32("graphics/map_objects/pics/people/greta/3.4bpp"); -const u32 gFieldObjectPic_Greta_4[] = INCBIN_U32("graphics/map_objects/pics/people/greta/4.4bpp"); -const u32 gFieldObjectPic_Greta_5[] = INCBIN_U32("graphics/map_objects/pics/people/greta/5.4bpp"); -const u32 gFieldObjectPic_Greta_6[] = INCBIN_U32("graphics/map_objects/pics/people/greta/6.4bpp"); -const u32 gFieldObjectPic_Greta_7[] = INCBIN_U32("graphics/map_objects/pics/people/greta/7.4bpp"); -const u32 gFieldObjectPic_Greta_8[] = INCBIN_U32("graphics/map_objects/pics/people/greta/8.4bpp"); -const u32 gFieldObjectPic_Noland_0[] = INCBIN_U32("graphics/map_objects/pics/people/noland/0.4bpp"); -const u32 gFieldObjectPic_Noland_1[] = INCBIN_U32("graphics/map_objects/pics/people/noland/1.4bpp"); -const u32 gFieldObjectPic_Noland_2[] = INCBIN_U32("graphics/map_objects/pics/people/noland/2.4bpp"); -const u32 gFieldObjectPic_Noland_3[] = INCBIN_U32("graphics/map_objects/pics/people/noland/3.4bpp"); -const u32 gFieldObjectPic_Noland_4[] = INCBIN_U32("graphics/map_objects/pics/people/noland/4.4bpp"); -const u32 gFieldObjectPic_Noland_5[] = INCBIN_U32("graphics/map_objects/pics/people/noland/5.4bpp"); -const u32 gFieldObjectPic_Noland_6[] = INCBIN_U32("graphics/map_objects/pics/people/noland/6.4bpp"); -const u32 gFieldObjectPic_Noland_7[] = INCBIN_U32("graphics/map_objects/pics/people/noland/7.4bpp"); -const u32 gFieldObjectPic_Noland_8[] = INCBIN_U32("graphics/map_objects/pics/people/noland/8.4bpp"); -const u32 gFieldObjectPic_Lucy_0[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/0.4bpp"); -const u32 gFieldObjectPic_Lucy_1[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/1.4bpp"); -const u32 gFieldObjectPic_Lucy_2[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/2.4bpp"); -const u32 gFieldObjectPic_Lucy_3[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/3.4bpp"); -const u32 gFieldObjectPic_Lucy_4[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/4.4bpp"); -const u32 gFieldObjectPic_Lucy_5[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/5.4bpp"); -const u32 gFieldObjectPic_Lucy_6[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/6.4bpp"); -const u32 gFieldObjectPic_Lucy_7[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/7.4bpp"); -const u32 gFieldObjectPic_Lucy_8[] = INCBIN_U32("graphics/map_objects/pics/people/lucy/8.4bpp"); -const u32 gFieldObjectPic_Brandon_0[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/0.4bpp"); -const u32 gFieldObjectPic_Brandon_1[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/1.4bpp"); -const u32 gFieldObjectPic_Brandon_2[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/2.4bpp"); -const u32 gFieldObjectPic_Brandon_3[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/3.4bpp"); -const u32 gFieldObjectPic_Brandon_4[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/4.4bpp"); -const u32 gFieldObjectPic_Brandon_5[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/5.4bpp"); -const u32 gFieldObjectPic_Brandon_6[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/6.4bpp"); -const u32 gFieldObjectPic_Brandon_7[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/7.4bpp"); -const u32 gFieldObjectPic_Brandon_8[] = INCBIN_U32("graphics/map_objects/pics/people/brandon/8.4bpp"); -const u32 gFieldObjectPic_Lugia_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/lugia/0.4bpp"); -const u32 gFieldObjectPic_Lugia_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/lugia/1.4bpp"); -const u16 gFieldObjectPalette32[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_32.gbapal"); -const u32 gFieldObjectPic_HoOh_0[] = INCBIN_U32("graphics/map_objects/pics/pokemon/ho_oh/0.4bpp"); -const u32 gFieldObjectPic_HoOh_1[] = INCBIN_U32("graphics/map_objects/pics/pokemon/ho_oh/1.4bpp"); -const u16 gFieldObjectPalette31[] = INCBIN_U16("graphics/map_objects/palettes/field_object_palette_31.gbapal"); +const u32 gEventObjectPic_MayMachBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/0.4bpp"); +const u32 gEventObjectPic_MayMachBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/1.4bpp"); +const u32 gEventObjectPic_MayMachBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/2.4bpp"); +const u32 gEventObjectPic_MayMachBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/3.4bpp"); +const u32 gEventObjectPic_MayMachBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/4.4bpp"); +const u32 gEventObjectPic_MayMachBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/5.4bpp"); +const u32 gEventObjectPic_MayMachBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/6.4bpp"); +const u32 gEventObjectPic_MayMachBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/7.4bpp"); +const u32 gEventObjectPic_MayMachBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike/8.4bpp"); +const u32 gEventObjectPic_MayAcroBike_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/00.4bpp"); +const u32 gEventObjectPic_MayAcroBike_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/01.4bpp"); +const u32 gEventObjectPic_MayAcroBike_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/02.4bpp"); +const u32 gEventObjectPic_MayAcroBike_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/03.4bpp"); +const u32 gEventObjectPic_MayAcroBike_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/04.4bpp"); +const u32 gEventObjectPic_MayAcroBike_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/05.4bpp"); +const u32 gEventObjectPic_MayAcroBike_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/06.4bpp"); +const u32 gEventObjectPic_MayAcroBike_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/07.4bpp"); +const u32 gEventObjectPic_MayAcroBike_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/08.4bpp"); +const u32 gEventObjectPic_MayAcroBike_9[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/09.4bpp"); +const u32 gEventObjectPic_MayAcroBike_10[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/10.4bpp"); +const u32 gEventObjectPic_MayAcroBike_11[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/11.4bpp"); +const u32 gEventObjectPic_MayAcroBike_12[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/12.4bpp"); +const u32 gEventObjectPic_MayAcroBike_13[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/13.4bpp"); +const u32 gEventObjectPic_MayAcroBike_14[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/14.4bpp"); +const u32 gEventObjectPic_MayAcroBike_15[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/15.4bpp"); +const u32 gEventObjectPic_MayAcroBike_16[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/16.4bpp"); +const u32 gEventObjectPic_MayAcroBike_17[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/17.4bpp"); +const u32 gEventObjectPic_MayAcroBike_18[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/18.4bpp"); +const u32 gEventObjectPic_MayAcroBike_19[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/19.4bpp"); +const u32 gEventObjectPic_MayAcroBike_20[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/20.4bpp"); +const u32 gEventObjectPic_MayAcroBike_21[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/21.4bpp"); +const u32 gEventObjectPic_MayAcroBike_22[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/22.4bpp"); +const u32 gEventObjectPic_MayAcroBike_23[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/23.4bpp"); +const u32 gEventObjectPic_MayAcroBike_24[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/24.4bpp"); +const u32 gEventObjectPic_MayAcroBike_25[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/25.4bpp"); +const u32 gEventObjectPic_MayAcroBike_26[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike/26.4bpp"); +const u32 gEventObjectPic_MaySurfing_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/0.4bpp"); +const u32 gEventObjectPic_MaySurfing_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/3.4bpp"); +const u32 gEventObjectPic_MaySurfing_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/1.4bpp"); +const u32 gEventObjectPic_MaySurfing_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/4.4bpp"); +const u32 gEventObjectPic_MaySurfing_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/2.4bpp"); +const u32 gEventObjectPic_MaySurfing_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing/5.4bpp"); +const u32 gEventObjectPic_MayFieldMove_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/0.4bpp"); +const u32 gEventObjectPic_MayFieldMove_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/1.4bpp"); +const u32 gEventObjectPic_MayFieldMove_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/2.4bpp"); +const u32 gEventObjectPic_MayFieldMove_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/3.4bpp"); +const u32 gEventObjectPic_MayFieldMove_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move/4.4bpp"); +const u32 gEventObjectPic_MayFishing_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/00.4bpp"); +const u32 gEventObjectPic_MayFishing_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/01.4bpp"); +const u32 gEventObjectPic_MayFishing_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/02.4bpp"); +const u32 gEventObjectPic_MayFishing_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/03.4bpp"); +const u32 gEventObjectPic_MayFishing_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/04.4bpp"); +const u32 gEventObjectPic_MayFishing_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/05.4bpp"); +const u32 gEventObjectPic_MayFishing_6[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/06.4bpp"); +const u32 gEventObjectPic_MayFishing_7[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/07.4bpp"); +const u32 gEventObjectPic_MayFishing_8[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/08.4bpp"); +const u32 gEventObjectPic_MayFishing_9[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/09.4bpp"); +const u32 gEventObjectPic_MayFishing_10[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/10.4bpp"); +const u32 gEventObjectPic_MayFishing_11[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing/11.4bpp"); +const u32 gEventObjectPic_MayWatering_0[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/0.4bpp"); +const u32 gEventObjectPic_MayWatering_3[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/3.4bpp"); +const u32 gEventObjectPic_MayWatering_1[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/1.4bpp"); +const u32 gEventObjectPic_MayWatering_4[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/4.4bpp"); +const u32 gEventObjectPic_MayWatering_2[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/2.4bpp"); +const u32 gEventObjectPic_MayWatering_5[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering/5.4bpp"); +const u16 gEventObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_00.gbapal"); +const u16 gEventObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_01.gbapal"); +const u16 gEventObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_02.gbapal"); +const u16 gEventObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_03.gbapal"); +const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_04.gbapal"); +const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_05.gbapal"); +const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_06.gbapal"); +const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_07.gbapal"); +const u32 gEventObjectPic_LittleBoy1_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/0.4bpp"); +const u32 gEventObjectPic_LittleBoy1_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/1.4bpp"); +const u32 gEventObjectPic_LittleBoy1_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/2.4bpp"); +const u32 gEventObjectPic_LittleBoy1_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/3.4bpp"); +const u32 gEventObjectPic_LittleBoy1_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/4.4bpp"); +const u32 gEventObjectPic_LittleBoy1_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/5.4bpp"); +const u32 gEventObjectPic_LittleBoy1_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/6.4bpp"); +const u32 gEventObjectPic_LittleBoy1_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/7.4bpp"); +const u32 gEventObjectPic_LittleBoy1_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_1/8.4bpp"); +const u32 gEventObjectPic_LittleGirl1_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/0.4bpp"); +const u32 gEventObjectPic_LittleGirl1_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/1.4bpp"); +const u32 gEventObjectPic_LittleGirl1_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/2.4bpp"); +const u32 gEventObjectPic_LittleGirl1_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/3.4bpp"); +const u32 gEventObjectPic_LittleGirl1_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/4.4bpp"); +const u32 gEventObjectPic_LittleGirl1_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/5.4bpp"); +const u32 gEventObjectPic_LittleGirl1_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/6.4bpp"); +const u32 gEventObjectPic_LittleGirl1_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/7.4bpp"); +const u32 gEventObjectPic_LittleGirl1_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_1/8.4bpp"); +const u32 gEventObjectPic_Boy1_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/0.4bpp"); +const u32 gEventObjectPic_Boy1_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/1.4bpp"); +const u32 gEventObjectPic_Boy1_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/2.4bpp"); +const u32 gEventObjectPic_Boy1_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/3.4bpp"); +const u32 gEventObjectPic_Boy1_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/4.4bpp"); +const u32 gEventObjectPic_Boy1_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/5.4bpp"); +const u32 gEventObjectPic_Boy1_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/6.4bpp"); +const u32 gEventObjectPic_Boy1_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/7.4bpp"); +const u32 gEventObjectPic_Boy1_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1/8.4bpp"); +const u32 gEventObjectPic_Girl1_0[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/0.4bpp"); +const u32 gEventObjectPic_Girl1_1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/1.4bpp"); +const u32 gEventObjectPic_Girl1_2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/2.4bpp"); +const u32 gEventObjectPic_Girl1_3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/3.4bpp"); +const u32 gEventObjectPic_Girl1_4[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/4.4bpp"); +const u32 gEventObjectPic_Girl1_5[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/5.4bpp"); +const u32 gEventObjectPic_Girl1_6[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/6.4bpp"); +const u32 gEventObjectPic_Girl1_7[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/7.4bpp"); +const u32 gEventObjectPic_Girl1_8[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1/8.4bpp"); +const u32 gEventObjectPic_Boy2_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/0.4bpp"); +const u32 gEventObjectPic_Boy2_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/1.4bpp"); +const u32 gEventObjectPic_Boy2_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/2.4bpp"); +const u32 gEventObjectPic_Boy2_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/3.4bpp"); +const u32 gEventObjectPic_Boy2_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/4.4bpp"); +const u32 gEventObjectPic_Boy2_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/5.4bpp"); +const u32 gEventObjectPic_Boy2_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/6.4bpp"); +const u32 gEventObjectPic_Boy2_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/7.4bpp"); +const u32 gEventObjectPic_Boy2_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2/8.4bpp"); +const u32 gEventObjectPic_Girl2_0[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/0.4bpp"); +const u32 gEventObjectPic_Girl2_1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/1.4bpp"); +const u32 gEventObjectPic_Girl2_2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/2.4bpp"); +const u32 gEventObjectPic_Girl2_3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/3.4bpp"); +const u32 gEventObjectPic_Girl2_4[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/4.4bpp"); +const u32 gEventObjectPic_Girl2_5[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/5.4bpp"); +const u32 gEventObjectPic_Girl2_6[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/6.4bpp"); +const u32 gEventObjectPic_Girl2_7[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/7.4bpp"); +const u32 gEventObjectPic_Girl2_8[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2/8.4bpp"); +const u32 gEventObjectPic_LittleBoy2_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/0.4bpp"); +const u32 gEventObjectPic_LittleBoy2_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/1.4bpp"); +const u32 gEventObjectPic_LittleBoy2_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/2.4bpp"); +const u32 gEventObjectPic_LittleBoy2_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/3.4bpp"); +const u32 gEventObjectPic_LittleBoy2_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/4.4bpp"); +const u32 gEventObjectPic_LittleBoy2_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/5.4bpp"); +const u32 gEventObjectPic_LittleBoy2_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/6.4bpp"); +const u32 gEventObjectPic_LittleBoy2_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/7.4bpp"); +const u32 gEventObjectPic_LittleBoy2_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy_2/8.4bpp"); +const u32 gEventObjectPic_LittleGirl2_0[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/0.4bpp"); +const u32 gEventObjectPic_LittleGirl2_1[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/1.4bpp"); +const u32 gEventObjectPic_LittleGirl2_2[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/2.4bpp"); +const u32 gEventObjectPic_LittleGirl2_3[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/3.4bpp"); +const u32 gEventObjectPic_LittleGirl2_4[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/4.4bpp"); +const u32 gEventObjectPic_LittleGirl2_5[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/5.4bpp"); +const u32 gEventObjectPic_LittleGirl2_6[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/6.4bpp"); +const u32 gEventObjectPic_LittleGirl2_7[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/7.4bpp"); +const u32 gEventObjectPic_LittleGirl2_8[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl_2/8.4bpp"); +const u32 gEventObjectPic_Boy3_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/0.4bpp"); +const u32 gEventObjectPic_Boy3_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/1.4bpp"); +const u32 gEventObjectPic_Boy3_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/2.4bpp"); +const u32 gEventObjectPic_Boy3_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/3.4bpp"); +const u32 gEventObjectPic_Boy3_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/4.4bpp"); +const u32 gEventObjectPic_Boy3_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/5.4bpp"); +const u32 gEventObjectPic_Boy3_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/6.4bpp"); +const u32 gEventObjectPic_Boy3_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/7.4bpp"); +const u32 gEventObjectPic_Boy3_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3/8.4bpp"); +const u32 gEventObjectPic_Girl3_0[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/0.4bpp"); +const u32 gEventObjectPic_Girl3_1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/1.4bpp"); +const u32 gEventObjectPic_Girl3_2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/2.4bpp"); +const u32 gEventObjectPic_Girl3_3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/3.4bpp"); +const u32 gEventObjectPic_Girl3_4[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/4.4bpp"); +const u32 gEventObjectPic_Girl3_5[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/5.4bpp"); +const u32 gEventObjectPic_Girl3_6[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/6.4bpp"); +const u32 gEventObjectPic_Girl3_7[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/7.4bpp"); +const u32 gEventObjectPic_Girl3_8[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3/8.4bpp"); +const u32 gEventObjectPic_Boy4_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/0.4bpp"); +const u32 gEventObjectPic_Boy4_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/1.4bpp"); +const u32 gEventObjectPic_Boy4_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/2.4bpp"); +const u32 gEventObjectPic_Boy4_3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/3.4bpp"); +const u32 gEventObjectPic_Boy4_4[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/4.4bpp"); +const u32 gEventObjectPic_Boy4_5[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/5.4bpp"); +const u32 gEventObjectPic_Boy4_6[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/6.4bpp"); +const u32 gEventObjectPic_Boy4_7[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/7.4bpp"); +const u32 gEventObjectPic_Boy4_8[] = INCBIN_U32("graphics/event_objects/pics/people/boy_4/8.4bpp"); +const u32 gEventObjectPic_Woman1_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/0.4bpp"); +const u32 gEventObjectPic_Woman1_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/1.4bpp"); +const u32 gEventObjectPic_Woman1_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/2.4bpp"); +const u32 gEventObjectPic_Woman1_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/3.4bpp"); +const u32 gEventObjectPic_Woman1_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/4.4bpp"); +const u32 gEventObjectPic_Woman1_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/5.4bpp"); +const u32 gEventObjectPic_Woman1_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/6.4bpp"); +const u32 gEventObjectPic_Woman1_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/7.4bpp"); +const u32 gEventObjectPic_Woman1_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1/8.4bpp"); +const u32 gEventObjectPic_FatMan_0[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/0.4bpp"); +const u32 gEventObjectPic_FatMan_1[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/1.4bpp"); +const u32 gEventObjectPic_FatMan_2[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/2.4bpp"); +const u32 gEventObjectPic_FatMan_3[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/3.4bpp"); +const u32 gEventObjectPic_FatMan_4[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/4.4bpp"); +const u32 gEventObjectPic_FatMan_5[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/5.4bpp"); +const u32 gEventObjectPic_FatMan_6[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/6.4bpp"); +const u32 gEventObjectPic_FatMan_7[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/7.4bpp"); +const u32 gEventObjectPic_FatMan_8[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man/8.4bpp"); +const u32 gEventObjectPic_Woman2_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/0.4bpp"); +const u32 gEventObjectPic_Woman2_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/1.4bpp"); +const u32 gEventObjectPic_Woman2_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/2.4bpp"); +const u32 gEventObjectPic_Woman2_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/3.4bpp"); +const u32 gEventObjectPic_Woman2_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/4.4bpp"); +const u32 gEventObjectPic_Woman2_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/5.4bpp"); +const u32 gEventObjectPic_Woman2_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/6.4bpp"); +const u32 gEventObjectPic_Woman2_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/7.4bpp"); +const u32 gEventObjectPic_Woman2_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2/8.4bpp"); +const u32 gEventObjectPic_Man1_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/0.4bpp"); +const u32 gEventObjectPic_Man1_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/1.4bpp"); +const u32 gEventObjectPic_Man1_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/2.4bpp"); +const u32 gEventObjectPic_Man1_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/3.4bpp"); +const u32 gEventObjectPic_Man1_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/4.4bpp"); +const u32 gEventObjectPic_Man1_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/5.4bpp"); +const u32 gEventObjectPic_Man1_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/6.4bpp"); +const u32 gEventObjectPic_Man1_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/7.4bpp"); +const u32 gEventObjectPic_Man1_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_1/8.4bpp"); +const u32 gEventObjectPic_Woman3_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/0.4bpp"); +const u32 gEventObjectPic_Woman3_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/1.4bpp"); +const u32 gEventObjectPic_Woman3_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/2.4bpp"); +const u32 gEventObjectPic_Woman3_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/3.4bpp"); +const u32 gEventObjectPic_Woman3_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/4.4bpp"); +const u32 gEventObjectPic_Woman3_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/5.4bpp"); +const u32 gEventObjectPic_Woman3_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/6.4bpp"); +const u32 gEventObjectPic_Woman3_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/7.4bpp"); +const u32 gEventObjectPic_Woman3_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3/8.4bpp"); +const u32 gEventObjectPic_OldMan1_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/0.4bpp"); +const u32 gEventObjectPic_OldMan1_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/1.4bpp"); +const u32 gEventObjectPic_OldMan1_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/2.4bpp"); +const u32 gEventObjectPic_OldMan1_3[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/3.4bpp"); +const u32 gEventObjectPic_OldMan1_4[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/4.4bpp"); +const u32 gEventObjectPic_OldMan1_5[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/5.4bpp"); +const u32 gEventObjectPic_OldMan1_6[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/6.4bpp"); +const u32 gEventObjectPic_OldMan1_7[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/7.4bpp"); +const u32 gEventObjectPic_OldMan1_8[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_1/8.4bpp"); +const u32 gEventObjectPic_OldWoman1_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/0.4bpp"); +const u32 gEventObjectPic_OldWoman1_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/1.4bpp"); +const u32 gEventObjectPic_OldWoman1_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/2.4bpp"); +const u32 gEventObjectPic_OldWoman1_3[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/3.4bpp"); +const u32 gEventObjectPic_OldWoman1_4[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/4.4bpp"); +const u32 gEventObjectPic_OldWoman1_5[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/5.4bpp"); +const u32 gEventObjectPic_OldWoman1_6[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/6.4bpp"); +const u32 gEventObjectPic_OldWoman1_7[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/7.4bpp"); +const u32 gEventObjectPic_OldWoman1_8[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_1/8.4bpp"); +const u32 gEventObjectPic_Man2_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/0.4bpp"); +const u32 gEventObjectPic_Man2_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/1.4bpp"); +const u32 gEventObjectPic_Man2_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/2.4bpp"); +const u32 gEventObjectPic_Man2_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/3.4bpp"); +const u32 gEventObjectPic_Man2_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/4.4bpp"); +const u32 gEventObjectPic_Man2_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/5.4bpp"); +const u32 gEventObjectPic_Man2_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/6.4bpp"); +const u32 gEventObjectPic_Man2_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/7.4bpp"); +const u32 gEventObjectPic_Man2_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_2/8.4bpp"); +const u32 gEventObjectPic_Woman4_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/0.4bpp"); +const u32 gEventObjectPic_Woman4_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/1.4bpp"); +const u32 gEventObjectPic_Woman4_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/2.4bpp"); +const u32 gEventObjectPic_Woman4_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/3.4bpp"); +const u32 gEventObjectPic_Woman4_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/4.4bpp"); +const u32 gEventObjectPic_Woman4_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/5.4bpp"); +const u32 gEventObjectPic_Woman4_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/6.4bpp"); +const u32 gEventObjectPic_Woman4_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/7.4bpp"); +const u32 gEventObjectPic_Woman4_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4/8.4bpp"); +const u32 gEventObjectPic_Man3_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/0.4bpp"); +const u32 gEventObjectPic_Man3_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/1.4bpp"); +const u32 gEventObjectPic_Man3_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/2.4bpp"); +const u32 gEventObjectPic_Man3_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/3.4bpp"); +const u32 gEventObjectPic_Man3_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/4.4bpp"); +const u32 gEventObjectPic_Man3_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/5.4bpp"); +const u32 gEventObjectPic_Man3_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/6.4bpp"); +const u32 gEventObjectPic_Man3_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/7.4bpp"); +const u32 gEventObjectPic_Man3_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_3/8.4bpp"); +const u32 gEventObjectPic_Woman5_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/0.4bpp"); +const u32 gEventObjectPic_Woman5_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/1.4bpp"); +const u32 gEventObjectPic_Woman5_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/2.4bpp"); +const u32 gEventObjectPic_Woman5_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/3.4bpp"); +const u32 gEventObjectPic_Woman5_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/4.4bpp"); +const u32 gEventObjectPic_Woman5_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/5.4bpp"); +const u32 gEventObjectPic_Woman5_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/6.4bpp"); +const u32 gEventObjectPic_Woman5_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/7.4bpp"); +const u32 gEventObjectPic_Woman5_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5/8.4bpp"); +const u32 gEventObjectPic_Cook_0[] = INCBIN_U32("graphics/event_objects/pics/people/cook/0.4bpp"); +const u32 gEventObjectPic_Cook_1[] = INCBIN_U32("graphics/event_objects/pics/people/cook/1.4bpp"); +const u32 gEventObjectPic_Cook_2[] = INCBIN_U32("graphics/event_objects/pics/people/cook/2.4bpp"); +const u32 gEventObjectPic_Woman6_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/0.4bpp"); +const u32 gEventObjectPic_Woman6_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/1.4bpp"); +const u32 gEventObjectPic_Woman6_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/2.4bpp"); +const u32 gEventObjectPic_Woman6_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/3.4bpp"); +const u32 gEventObjectPic_Woman6_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/4.4bpp"); +const u32 gEventObjectPic_Woman6_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/5.4bpp"); +const u32 gEventObjectPic_Woman6_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/6.4bpp"); +const u32 gEventObjectPic_Woman6_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/7.4bpp"); +const u32 gEventObjectPic_Woman6_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_6/8.4bpp"); +const u32 gEventObjectPic_OldMan2_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2/0.4bpp"); +const u32 gEventObjectPic_OldMan2_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2/1.4bpp"); +const u32 gEventObjectPic_OldMan2_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_man_2/2.4bpp"); +const u32 gEventObjectPic_OldWoman2_0[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/0.4bpp"); +const u32 gEventObjectPic_OldWoman2_1[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/1.4bpp"); +const u32 gEventObjectPic_OldWoman2_2[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/2.4bpp"); +const u32 gEventObjectPic_OldWoman2_3[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/3.4bpp"); +const u32 gEventObjectPic_OldWoman2_4[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/4.4bpp"); +const u32 gEventObjectPic_OldWoman2_5[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/5.4bpp"); +const u32 gEventObjectPic_OldWoman2_6[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/6.4bpp"); +const u32 gEventObjectPic_OldWoman2_7[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/7.4bpp"); +const u32 gEventObjectPic_OldWoman2_8[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman_2/8.4bpp"); +const u32 gEventObjectPic_Camper_0[] = INCBIN_U32("graphics/event_objects/pics/people/camper/0.4bpp"); +const u32 gEventObjectPic_Camper_1[] = INCBIN_U32("graphics/event_objects/pics/people/camper/1.4bpp"); +const u32 gEventObjectPic_Camper_2[] = INCBIN_U32("graphics/event_objects/pics/people/camper/2.4bpp"); +const u32 gEventObjectPic_Camper_3[] = INCBIN_U32("graphics/event_objects/pics/people/camper/3.4bpp"); +const u32 gEventObjectPic_Camper_4[] = INCBIN_U32("graphics/event_objects/pics/people/camper/4.4bpp"); +const u32 gEventObjectPic_Camper_5[] = INCBIN_U32("graphics/event_objects/pics/people/camper/5.4bpp"); +const u32 gEventObjectPic_Camper_6[] = INCBIN_U32("graphics/event_objects/pics/people/camper/6.4bpp"); +const u32 gEventObjectPic_Camper_7[] = INCBIN_U32("graphics/event_objects/pics/people/camper/7.4bpp"); +const u32 gEventObjectPic_Camper_8[] = INCBIN_U32("graphics/event_objects/pics/people/camper/8.4bpp"); +const u32 gEventObjectPic_Picnicker_0[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/0.4bpp"); +const u32 gEventObjectPic_Picnicker_1[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/1.4bpp"); +const u32 gEventObjectPic_Picnicker_2[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/2.4bpp"); +const u32 gEventObjectPic_Picnicker_3[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/3.4bpp"); +const u32 gEventObjectPic_Picnicker_4[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/4.4bpp"); +const u32 gEventObjectPic_Picnicker_5[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/5.4bpp"); +const u32 gEventObjectPic_Picnicker_6[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/6.4bpp"); +const u32 gEventObjectPic_Picnicker_7[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/7.4bpp"); +const u32 gEventObjectPic_Picnicker_8[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker/8.4bpp"); +const u32 gEventObjectPic_Man4_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/0.4bpp"); +const u32 gEventObjectPic_Man4_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/1.4bpp"); +const u32 gEventObjectPic_Man4_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/2.4bpp"); +const u32 gEventObjectPic_Man4_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/3.4bpp"); +const u32 gEventObjectPic_Man4_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/4.4bpp"); +const u32 gEventObjectPic_Man4_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/5.4bpp"); +const u32 gEventObjectPic_Man4_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/6.4bpp"); +const u32 gEventObjectPic_Man4_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/7.4bpp"); +const u32 gEventObjectPic_Man4_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_4/8.4bpp"); +const u32 gEventObjectPic_Woman7_0[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/0.4bpp"); +const u32 gEventObjectPic_Woman7_1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/1.4bpp"); +const u32 gEventObjectPic_Woman7_2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/2.4bpp"); +const u32 gEventObjectPic_Woman7_3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/3.4bpp"); +const u32 gEventObjectPic_Woman7_4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/4.4bpp"); +const u32 gEventObjectPic_Woman7_5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/5.4bpp"); +const u32 gEventObjectPic_Woman7_6[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/6.4bpp"); +const u32 gEventObjectPic_Woman7_7[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/7.4bpp"); +const u32 gEventObjectPic_Woman7_8[] = INCBIN_U32("graphics/event_objects/pics/people/woman_7/8.4bpp"); +const u32 gEventObjectPic_Youngster_0[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/0.4bpp"); +const u32 gEventObjectPic_Youngster_1[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/1.4bpp"); +const u32 gEventObjectPic_Youngster_2[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/2.4bpp"); +const u32 gEventObjectPic_Youngster_3[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/3.4bpp"); +const u32 gEventObjectPic_Youngster_4[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/4.4bpp"); +const u32 gEventObjectPic_Youngster_5[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/5.4bpp"); +const u32 gEventObjectPic_Youngster_6[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/6.4bpp"); +const u32 gEventObjectPic_Youngster_7[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/7.4bpp"); +const u32 gEventObjectPic_Youngster_8[] = INCBIN_U32("graphics/event_objects/pics/people/youngster/8.4bpp"); +const u32 gEventObjectPic_BugCatcher_0[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/0.4bpp"); +const u32 gEventObjectPic_BugCatcher_1[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/1.4bpp"); +const u32 gEventObjectPic_BugCatcher_2[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/2.4bpp"); +const u32 gEventObjectPic_BugCatcher_3[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/3.4bpp"); +const u32 gEventObjectPic_BugCatcher_4[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/4.4bpp"); +const u32 gEventObjectPic_BugCatcher_5[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/5.4bpp"); +const u32 gEventObjectPic_BugCatcher_6[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/6.4bpp"); +const u32 gEventObjectPic_BugCatcher_7[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/7.4bpp"); +const u32 gEventObjectPic_BugCatcher_8[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher/8.4bpp"); +const u32 gEventObjectPic_PsychicM_0[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/0.4bpp"); +const u32 gEventObjectPic_PsychicM_1[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/1.4bpp"); +const u32 gEventObjectPic_PsychicM_2[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/2.4bpp"); +const u32 gEventObjectPic_PsychicM_3[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/3.4bpp"); +const u32 gEventObjectPic_PsychicM_4[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/4.4bpp"); +const u32 gEventObjectPic_PsychicM_5[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/5.4bpp"); +const u32 gEventObjectPic_PsychicM_6[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/6.4bpp"); +const u32 gEventObjectPic_PsychicM_7[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/7.4bpp"); +const u32 gEventObjectPic_PsychicM_8[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m/8.4bpp"); +const u32 gEventObjectPic_SchoolKidM_0[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/0.4bpp"); +const u32 gEventObjectPic_SchoolKidM_1[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/1.4bpp"); +const u32 gEventObjectPic_SchoolKidM_2[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/2.4bpp"); +const u32 gEventObjectPic_SchoolKidM_3[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/3.4bpp"); +const u32 gEventObjectPic_SchoolKidM_4[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/4.4bpp"); +const u32 gEventObjectPic_SchoolKidM_5[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/5.4bpp"); +const u32 gEventObjectPic_SchoolKidM_6[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/6.4bpp"); +const u32 gEventObjectPic_SchoolKidM_7[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/7.4bpp"); +const u32 gEventObjectPic_SchoolKidM_8[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m/8.4bpp"); +const u32 gEventObjectPic_Maniac_0[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/0.4bpp"); +const u32 gEventObjectPic_Maniac_1[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/1.4bpp"); +const u32 gEventObjectPic_Maniac_2[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/2.4bpp"); +const u32 gEventObjectPic_Maniac_3[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/3.4bpp"); +const u32 gEventObjectPic_Maniac_4[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/4.4bpp"); +const u32 gEventObjectPic_Maniac_5[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/5.4bpp"); +const u32 gEventObjectPic_Maniac_6[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/6.4bpp"); +const u32 gEventObjectPic_Maniac_7[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/7.4bpp"); +const u32 gEventObjectPic_Maniac_8[] = INCBIN_U32("graphics/event_objects/pics/people/maniac/8.4bpp"); +const u32 gEventObjectPic_HexManiac_0[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/0.4bpp"); +const u32 gEventObjectPic_HexManiac_1[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/1.4bpp"); +const u32 gEventObjectPic_HexManiac_2[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/2.4bpp"); +const u32 gEventObjectPic_HexManiac_3[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/3.4bpp"); +const u32 gEventObjectPic_HexManiac_4[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/4.4bpp"); +const u32 gEventObjectPic_HexManiac_5[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/5.4bpp"); +const u32 gEventObjectPic_HexManiac_6[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/6.4bpp"); +const u32 gEventObjectPic_HexManiac_7[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/7.4bpp"); +const u32 gEventObjectPic_HexManiac_8[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac/8.4bpp"); +const u32 gEventObjectPic_UnusedWoman_0[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/0.4bpp"); +const u32 gEventObjectPic_UnusedWoman_1[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/1.4bpp"); +const u32 gEventObjectPic_UnusedWoman_2[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/2.4bpp"); +const u32 gEventObjectPic_UnusedWoman_3[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/3.4bpp"); +const u32 gEventObjectPic_UnusedWoman_4[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/4.4bpp"); +const u32 gEventObjectPic_UnusedWoman_5[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/5.4bpp"); +const u32 gEventObjectPic_UnusedWoman_6[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/6.4bpp"); +const u32 gEventObjectPic_UnusedWoman_7[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/7.4bpp"); +const u32 gEventObjectPic_UnusedWoman_8[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman/8.4bpp"); +const u32 gEventObjectPic_SwimmerM_0[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/0.4bpp"); +const u32 gEventObjectPic_SwimmerM_1[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/1.4bpp"); +const u32 gEventObjectPic_SwimmerM_2[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/2.4bpp"); +const u32 gEventObjectPic_SwimmerM_3[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/3.4bpp"); +const u32 gEventObjectPic_SwimmerM_4[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/4.4bpp"); +const u32 gEventObjectPic_SwimmerM_5[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/5.4bpp"); +const u32 gEventObjectPic_SwimmerM_6[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/6.4bpp"); +const u32 gEventObjectPic_SwimmerM_7[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/7.4bpp"); +const u32 gEventObjectPic_SwimmerM_8[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m/8.4bpp"); +const u32 gEventObjectPic_SwimmerF_0[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/0.4bpp"); +const u32 gEventObjectPic_SwimmerF_1[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/1.4bpp"); +const u32 gEventObjectPic_SwimmerF_2[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/2.4bpp"); +const u32 gEventObjectPic_SwimmerF_3[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/3.4bpp"); +const u32 gEventObjectPic_SwimmerF_4[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/4.4bpp"); +const u32 gEventObjectPic_SwimmerF_5[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/5.4bpp"); +const u32 gEventObjectPic_SwimmerF_6[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/6.4bpp"); +const u32 gEventObjectPic_SwimmerF_7[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/7.4bpp"); +const u32 gEventObjectPic_SwimmerF_8[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f/8.4bpp"); +const u32 gEventObjectPic_BlackBelt_0[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/0.4bpp"); +const u32 gEventObjectPic_BlackBelt_1[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/1.4bpp"); +const u32 gEventObjectPic_BlackBelt_2[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/2.4bpp"); +const u32 gEventObjectPic_BlackBelt_3[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/3.4bpp"); +const u32 gEventObjectPic_BlackBelt_4[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/4.4bpp"); +const u32 gEventObjectPic_BlackBelt_5[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/5.4bpp"); +const u32 gEventObjectPic_BlackBelt_6[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/6.4bpp"); +const u32 gEventObjectPic_BlackBelt_7[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/7.4bpp"); +const u32 gEventObjectPic_BlackBelt_8[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt/8.4bpp"); +const u32 gEventObjectPic_Beauty_0[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/0.4bpp"); +const u32 gEventObjectPic_Beauty_1[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/1.4bpp"); +const u32 gEventObjectPic_Beauty_2[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/2.4bpp"); +const u32 gEventObjectPic_Beauty_3[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/3.4bpp"); +const u32 gEventObjectPic_Beauty_4[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/4.4bpp"); +const u32 gEventObjectPic_Beauty_5[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/5.4bpp"); +const u32 gEventObjectPic_Beauty_6[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/6.4bpp"); +const u32 gEventObjectPic_Beauty_7[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/7.4bpp"); +const u32 gEventObjectPic_Beauty_8[] = INCBIN_U32("graphics/event_objects/pics/people/beauty/8.4bpp"); +const u32 gEventObjectPic_Scientist1_0[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/0.4bpp"); +const u32 gEventObjectPic_Scientist1_1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/1.4bpp"); +const u32 gEventObjectPic_Scientist1_2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/2.4bpp"); +const u32 gEventObjectPic_Scientist1_3[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/3.4bpp"); +const u32 gEventObjectPic_Scientist1_4[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/4.4bpp"); +const u32 gEventObjectPic_Scientist1_5[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/5.4bpp"); +const u32 gEventObjectPic_Scientist1_6[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/6.4bpp"); +const u32 gEventObjectPic_Scientist1_7[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/7.4bpp"); +const u32 gEventObjectPic_Scientist1_8[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1/8.4bpp"); +const u32 gEventObjectPic_Lass_0[] = INCBIN_U32("graphics/event_objects/pics/people/lass/0.4bpp"); +const u32 gEventObjectPic_Lass_1[] = INCBIN_U32("graphics/event_objects/pics/people/lass/1.4bpp"); +const u32 gEventObjectPic_Lass_2[] = INCBIN_U32("graphics/event_objects/pics/people/lass/2.4bpp"); +const u32 gEventObjectPic_Lass_3[] = INCBIN_U32("graphics/event_objects/pics/people/lass/3.4bpp"); +const u32 gEventObjectPic_Lass_4[] = INCBIN_U32("graphics/event_objects/pics/people/lass/4.4bpp"); +const u32 gEventObjectPic_Lass_5[] = INCBIN_U32("graphics/event_objects/pics/people/lass/5.4bpp"); +const u32 gEventObjectPic_Lass_6[] = INCBIN_U32("graphics/event_objects/pics/people/lass/6.4bpp"); +const u32 gEventObjectPic_Lass_7[] = INCBIN_U32("graphics/event_objects/pics/people/lass/7.4bpp"); +const u32 gEventObjectPic_Lass_8[] = INCBIN_U32("graphics/event_objects/pics/people/lass/8.4bpp"); +const u32 gEventObjectPic_Gentleman_0[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/0.4bpp"); +const u32 gEventObjectPic_Gentleman_1[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/1.4bpp"); +const u32 gEventObjectPic_Gentleman_2[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/2.4bpp"); +const u32 gEventObjectPic_Gentleman_3[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/3.4bpp"); +const u32 gEventObjectPic_Gentleman_4[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/4.4bpp"); +const u32 gEventObjectPic_Gentleman_5[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/5.4bpp"); +const u32 gEventObjectPic_Gentleman_6[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/6.4bpp"); +const u32 gEventObjectPic_Gentleman_7[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/7.4bpp"); +const u32 gEventObjectPic_Gentleman_8[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman/8.4bpp"); +const u32 gEventObjectPic_Sailor_0[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/0.4bpp"); +const u32 gEventObjectPic_Sailor_1[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/1.4bpp"); +const u32 gEventObjectPic_Sailor_2[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/2.4bpp"); +const u32 gEventObjectPic_Sailor_3[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/3.4bpp"); +const u32 gEventObjectPic_Sailor_4[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/4.4bpp"); +const u32 gEventObjectPic_Sailor_5[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/5.4bpp"); +const u32 gEventObjectPic_Sailor_6[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/6.4bpp"); +const u32 gEventObjectPic_Sailor_7[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/7.4bpp"); +const u32 gEventObjectPic_Sailor_8[] = INCBIN_U32("graphics/event_objects/pics/people/sailor/8.4bpp"); +const u32 gEventObjectPic_Fisherman_0[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/0.4bpp"); +const u32 gEventObjectPic_Fisherman_1[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/1.4bpp"); +const u32 gEventObjectPic_Fisherman_2[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/2.4bpp"); +const u32 gEventObjectPic_Fisherman_3[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/3.4bpp"); +const u32 gEventObjectPic_Fisherman_4[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/4.4bpp"); +const u32 gEventObjectPic_Fisherman_5[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/5.4bpp"); +const u32 gEventObjectPic_Fisherman_6[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/6.4bpp"); +const u32 gEventObjectPic_Fisherman_7[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/7.4bpp"); +const u32 gEventObjectPic_Fisherman_8[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman/8.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_0[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/0.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_1[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/1.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_2[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/2.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_3[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/3.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_4[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/4.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_5[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/5.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_6[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/6.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_7[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/7.4bpp"); +const u32 gEventObjectPic_RunningTriathleteM_8[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m/8.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_0[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/0.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_1[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/1.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_2[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/2.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_3[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/3.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_4[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/4.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_5[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/5.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_6[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/6.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_7[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/7.4bpp"); +const u32 gEventObjectPic_RunningTriathleteF_8[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f/8.4bpp"); +const u32 gEventObjectPic_TuberF_0[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/0.4bpp"); +const u32 gEventObjectPic_TuberF_1[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/1.4bpp"); +const u32 gEventObjectPic_TuberF_2[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/2.4bpp"); +const u32 gEventObjectPic_TuberF_3[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/3.4bpp"); +const u32 gEventObjectPic_TuberF_4[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/4.4bpp"); +const u32 gEventObjectPic_TuberF_5[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/5.4bpp"); +const u32 gEventObjectPic_TuberF_6[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/6.4bpp"); +const u32 gEventObjectPic_TuberF_7[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/7.4bpp"); +const u32 gEventObjectPic_TuberF_8[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f/8.4bpp"); +const u32 gEventObjectPic_TuberM_0[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/0.4bpp"); +const u32 gEventObjectPic_TuberM_1[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/1.4bpp"); +const u32 gEventObjectPic_TuberM_2[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/2.4bpp"); +const u32 gEventObjectPic_TuberM_3[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/3.4bpp"); +const u32 gEventObjectPic_TuberM_4[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/4.4bpp"); +const u32 gEventObjectPic_TuberM_5[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/5.4bpp"); +const u32 gEventObjectPic_TuberM_6[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/6.4bpp"); +const u32 gEventObjectPic_TuberM_7[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/7.4bpp"); +const u32 gEventObjectPic_TuberM_8[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m/8.4bpp"); +const u32 gEventObjectPic_Hiker_0[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/0.4bpp"); +const u32 gEventObjectPic_Hiker_1[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/1.4bpp"); +const u32 gEventObjectPic_Hiker_2[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/2.4bpp"); +const u32 gEventObjectPic_Hiker_3[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/3.4bpp"); +const u32 gEventObjectPic_Hiker_4[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/4.4bpp"); +const u32 gEventObjectPic_Hiker_5[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/5.4bpp"); +const u32 gEventObjectPic_Hiker_6[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/6.4bpp"); +const u32 gEventObjectPic_Hiker_7[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/7.4bpp"); +const u32 gEventObjectPic_Hiker_8[] = INCBIN_U32("graphics/event_objects/pics/people/hiker/8.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_0[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/0.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_1[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/1.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_2[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/2.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_3[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/3.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_4[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/4.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_5[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/5.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_6[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/6.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_7[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/7.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteM_8[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m/8.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_0[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/0.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_1[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/1.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_2[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/2.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_3[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/3.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_4[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/4.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_5[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/5.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_6[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/6.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_7[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/7.4bpp"); +const u32 gEventObjectPic_CyclingTriathleteF_8[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f/8.4bpp"); +const u32 gEventObjectPic_Man5_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/0.4bpp"); +const u32 gEventObjectPic_Man5_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/1.4bpp"); +const u32 gEventObjectPic_Man5_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/2.4bpp"); +const u32 gEventObjectPic_Man5_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/3.4bpp"); +const u32 gEventObjectPic_Man5_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/4.4bpp"); +const u32 gEventObjectPic_Man5_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/5.4bpp"); +const u32 gEventObjectPic_Man5_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/6.4bpp"); +const u32 gEventObjectPic_Man5_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/7.4bpp"); +const u32 gEventObjectPic_Man5_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_5/8.4bpp"); +const u32 gEventObjectPic_Man6_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/0.4bpp"); +const u32 gEventObjectPic_Man6_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/1.4bpp"); +const u32 gEventObjectPic_Man6_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/2.4bpp"); +const u32 gEventObjectPic_Man6_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/3.4bpp"); +const u32 gEventObjectPic_Man6_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/4.4bpp"); +const u32 gEventObjectPic_Man6_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/5.4bpp"); +const u32 gEventObjectPic_Man6_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/6.4bpp"); +const u32 gEventObjectPic_Man6_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/7.4bpp"); +const u32 gEventObjectPic_Man6_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_6/8.4bpp"); +const u32 gEventObjectPic_Nurse_0[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/0.4bpp"); +const u32 gEventObjectPic_Nurse_1[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/1.4bpp"); +const u32 gEventObjectPic_Nurse_2[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/2.4bpp"); +const u32 gEventObjectPic_Nurse_3[] = INCBIN_U32("graphics/event_objects/pics/people/nurse/3.4bpp"); +const u32 gEventObjectPic_ItemBall[] = INCBIN_U32("graphics/event_objects/pics/misc/item_ball.4bpp"); +const u32 gEventObjectPic_ProfBirch_0[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/0.4bpp"); +const u32 gEventObjectPic_ProfBirch_1[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/1.4bpp"); +const u32 gEventObjectPic_ProfBirch_2[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/2.4bpp"); +const u32 gEventObjectPic_ProfBirch_3[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/3.4bpp"); +const u32 gEventObjectPic_ProfBirch_4[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/4.4bpp"); +const u32 gEventObjectPic_ProfBirch_5[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/5.4bpp"); +const u32 gEventObjectPic_ProfBirch_6[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/6.4bpp"); +const u32 gEventObjectPic_ProfBirch_7[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/7.4bpp"); +const u32 gEventObjectPic_ProfBirch_8[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch/8.4bpp"); +const u32 gEventObjectPic_ReporterM_0[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/0.4bpp"); +const u32 gEventObjectPic_ReporterM_1[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/1.4bpp"); +const u32 gEventObjectPic_ReporterM_2[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/2.4bpp"); +const u32 gEventObjectPic_ReporterM_3[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/3.4bpp"); +const u32 gEventObjectPic_ReporterM_4[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/4.4bpp"); +const u32 gEventObjectPic_ReporterM_5[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/5.4bpp"); +const u32 gEventObjectPic_ReporterM_6[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/6.4bpp"); +const u32 gEventObjectPic_ReporterM_7[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/7.4bpp"); +const u32 gEventObjectPic_ReporterM_8[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m/8.4bpp"); +const u32 gEventObjectPic_ReporterF_0[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/0.4bpp"); +const u32 gEventObjectPic_ReporterF_1[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/1.4bpp"); +const u32 gEventObjectPic_ReporterF_2[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/2.4bpp"); +const u32 gEventObjectPic_ReporterF_3[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/3.4bpp"); +const u32 gEventObjectPic_ReporterF_4[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/4.4bpp"); +const u32 gEventObjectPic_ReporterF_5[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/5.4bpp"); +const u32 gEventObjectPic_ReporterF_6[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/6.4bpp"); +const u32 gEventObjectPic_ReporterF_7[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/7.4bpp"); +const u32 gEventObjectPic_ReporterF_8[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f/8.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_0[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/0.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/1.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/2.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_3[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/3.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_4[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/4.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_5[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/5.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_6[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/6.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_7[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/7.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan1_8[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1/8.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_0[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/0.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/1.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/2.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_3[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/3.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_4[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/4.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_5[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/5.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_6[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/6.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_7[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/7.4bpp"); +const u32 gEventObjectPic_MauvilleOldMan2_8[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2/8.4bpp"); +const u32 gEventObjectPic_MartEmployee_0[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/0.4bpp"); +const u32 gEventObjectPic_MartEmployee_1[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/1.4bpp"); +const u32 gEventObjectPic_MartEmployee_2[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/2.4bpp"); +const u32 gEventObjectPic_MartEmployee_3[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/3.4bpp"); +const u32 gEventObjectPic_MartEmployee_4[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/4.4bpp"); +const u32 gEventObjectPic_MartEmployee_5[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/5.4bpp"); +const u32 gEventObjectPic_MartEmployee_6[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/6.4bpp"); +const u32 gEventObjectPic_MartEmployee_7[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/7.4bpp"); +const u32 gEventObjectPic_MartEmployee_8[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee/8.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_0[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/0.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_1[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/1.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_2[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/2.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_3[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/3.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_4[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/4.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_5[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/5.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_6[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/6.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_7[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/7.4bpp"); +const u32 gEventObjectPic_RooftopSaleWoman_8[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman/8.4bpp"); +const u32 gEventObjectPic_Teala_0[] = INCBIN_U32("graphics/event_objects/pics/people/teala/0.4bpp"); +const u32 gEventObjectPic_Teala_1[] = INCBIN_U32("graphics/event_objects/pics/people/teala/1.4bpp"); +const u32 gEventObjectPic_Teala_2[] = INCBIN_U32("graphics/event_objects/pics/people/teala/2.4bpp"); +const u32 gEventObjectPic_Teala_3[] = INCBIN_U32("graphics/event_objects/pics/people/teala/3.4bpp"); +const u32 gEventObjectPic_Teala_4[] = INCBIN_U32("graphics/event_objects/pics/people/teala/4.4bpp"); +const u32 gEventObjectPic_Teala_5[] = INCBIN_U32("graphics/event_objects/pics/people/teala/5.4bpp"); +const u32 gEventObjectPic_Teala_6[] = INCBIN_U32("graphics/event_objects/pics/people/teala/6.4bpp"); +const u32 gEventObjectPic_Teala_7[] = INCBIN_U32("graphics/event_objects/pics/people/teala/7.4bpp"); +const u32 gEventObjectPic_Teala_8[] = INCBIN_U32("graphics/event_objects/pics/people/teala/8.4bpp"); +const u32 gEventObjectPic_Artist_0[] = INCBIN_U32("graphics/event_objects/pics/people/artist/0.4bpp"); +const u32 gEventObjectPic_Artist_1[] = INCBIN_U32("graphics/event_objects/pics/people/artist/1.4bpp"); +const u32 gEventObjectPic_Artist_2[] = INCBIN_U32("graphics/event_objects/pics/people/artist/2.4bpp"); +const u32 gEventObjectPic_Artist_3[] = INCBIN_U32("graphics/event_objects/pics/people/artist/3.4bpp"); +const u32 gEventObjectPic_Artist_4[] = INCBIN_U32("graphics/event_objects/pics/people/artist/4.4bpp"); +const u32 gEventObjectPic_Artist_5[] = INCBIN_U32("graphics/event_objects/pics/people/artist/5.4bpp"); +const u32 gEventObjectPic_Artist_6[] = INCBIN_U32("graphics/event_objects/pics/people/artist/6.4bpp"); +const u32 gEventObjectPic_Artist_7[] = INCBIN_U32("graphics/event_objects/pics/people/artist/7.4bpp"); +const u32 gEventObjectPic_Artist_8[] = INCBIN_U32("graphics/event_objects/pics/people/artist/8.4bpp"); +const u32 gEventObjectPic_Cameraman_0[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/0.4bpp"); +const u32 gEventObjectPic_Cameraman_1[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/1.4bpp"); +const u32 gEventObjectPic_Cameraman_2[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/2.4bpp"); +const u32 gEventObjectPic_Cameraman_3[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/3.4bpp"); +const u32 gEventObjectPic_Cameraman_4[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/4.4bpp"); +const u32 gEventObjectPic_Cameraman_5[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/5.4bpp"); +const u32 gEventObjectPic_Cameraman_6[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/6.4bpp"); +const u32 gEventObjectPic_Cameraman_7[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/7.4bpp"); +const u32 gEventObjectPic_Cameraman_8[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman/8.4bpp"); +const u32 gEventObjectPic_Scientist2_0[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/0.4bpp"); +const u32 gEventObjectPic_Scientist2_1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/1.4bpp"); +const u32 gEventObjectPic_Scientist2_2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/2.4bpp"); +const u32 gEventObjectPic_Scientist2_3[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/3.4bpp"); +const u32 gEventObjectPic_Scientist2_4[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/4.4bpp"); +const u32 gEventObjectPic_Scientist2_5[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/5.4bpp"); +const u32 gEventObjectPic_Scientist2_6[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/6.4bpp"); +const u32 gEventObjectPic_Scientist2_7[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/7.4bpp"); +const u32 gEventObjectPic_Scientist2_8[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2/8.4bpp"); +const u32 gEventObjectPic_Man7_0[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/0.4bpp"); +const u32 gEventObjectPic_Man7_1[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/1.4bpp"); +const u32 gEventObjectPic_Man7_2[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/2.4bpp"); +const u32 gEventObjectPic_Man7_3[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/3.4bpp"); +const u32 gEventObjectPic_Man7_4[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/4.4bpp"); +const u32 gEventObjectPic_Man7_5[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/5.4bpp"); +const u32 gEventObjectPic_Man7_6[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/6.4bpp"); +const u32 gEventObjectPic_Man7_7[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/7.4bpp"); +const u32 gEventObjectPic_Man7_8[] = INCBIN_U32("graphics/event_objects/pics/people/man_7/8.4bpp"); +const u32 gEventObjectPic_AquaMemberM_0[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/0.4bpp"); +const u32 gEventObjectPic_AquaMemberM_1[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/1.4bpp"); +const u32 gEventObjectPic_AquaMemberM_2[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/2.4bpp"); +const u32 gEventObjectPic_AquaMemberM_3[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/3.4bpp"); +const u32 gEventObjectPic_AquaMemberM_4[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/4.4bpp"); +const u32 gEventObjectPic_AquaMemberM_5[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/5.4bpp"); +const u32 gEventObjectPic_AquaMemberM_6[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/6.4bpp"); +const u32 gEventObjectPic_AquaMemberM_7[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/7.4bpp"); +const u32 gEventObjectPic_AquaMemberM_8[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_m/8.4bpp"); +const u32 gEventObjectPic_AquaMemberF_0[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/0.4bpp"); +const u32 gEventObjectPic_AquaMemberF_1[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/1.4bpp"); +const u32 gEventObjectPic_AquaMemberF_2[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/2.4bpp"); +const u32 gEventObjectPic_AquaMemberF_3[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/3.4bpp"); +const u32 gEventObjectPic_AquaMemberF_4[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/4.4bpp"); +const u32 gEventObjectPic_AquaMemberF_5[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/5.4bpp"); +const u32 gEventObjectPic_AquaMemberF_6[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/6.4bpp"); +const u32 gEventObjectPic_AquaMemberF_7[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/7.4bpp"); +const u32 gEventObjectPic_AquaMemberF_8[] = INCBIN_U32("graphics/event_objects/pics/people/aqua_member_f/8.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_0[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/0.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_1[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/1.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_2[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/2.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_3[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/3.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_4[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/4.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_5[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/5.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_6[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/6.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_7[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/7.4bpp"); +const u32 gEventObjectPic_MagmaMemberM_8[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_m/8.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_0[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/0.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_1[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/1.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_2[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/2.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_3[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/3.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_4[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/4.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_5[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/5.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_6[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/6.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_7[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/7.4bpp"); +const u32 gEventObjectPic_MagmaMemberF_8[] = INCBIN_U32("graphics/event_objects/pics/people/magma_member_f/8.4bpp"); +const u32 gEventObjectPic_Sidney_0[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/0.4bpp"); +const u32 gEventObjectPic_Sidney_1[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/1.4bpp"); +const u32 gEventObjectPic_Sidney_2[] = INCBIN_U32("graphics/event_objects/pics/people/sidney/2.4bpp"); +const u32 gEventObjectPic_Phoebe_0[] = INCBIN_U32("graphics/event_objects/pics/people/phoebe/0.4bpp"); +const u32 gEventObjectPic_Phoebe_1[] = INCBIN_U32("graphics/event_objects/pics/people/phoebe/1.4bpp"); +const u32 gEventObjectPic_Phoebe_2[] = INCBIN_U32("graphics/event_objects/pics/people/phoebe/2.4bpp"); +const u32 gEventObjectPic_Glacia_0[] = INCBIN_U32("graphics/event_objects/pics/people/glacia/0.4bpp"); +const u32 gEventObjectPic_Glacia_1[] = INCBIN_U32("graphics/event_objects/pics/people/glacia/1.4bpp"); +const u32 gEventObjectPic_Glacia_2[] = INCBIN_U32("graphics/event_objects/pics/people/glacia/2.4bpp"); +const u32 gEventObjectPic_Drake_0[] = INCBIN_U32("graphics/event_objects/pics/people/drake/0.4bpp"); +const u32 gEventObjectPic_Drake_1[] = INCBIN_U32("graphics/event_objects/pics/people/drake/1.4bpp"); +const u32 gEventObjectPic_Drake_2[] = INCBIN_U32("graphics/event_objects/pics/people/drake/2.4bpp"); +const u32 gEventObjectPic_Roxanne_0[] = INCBIN_U32("graphics/event_objects/pics/people/roxanne/0.4bpp"); +const u32 gEventObjectPic_Roxanne_1[] = INCBIN_U32("graphics/event_objects/pics/people/roxanne/1.4bpp"); +const u32 gEventObjectPic_Roxanne_2[] = INCBIN_U32("graphics/event_objects/pics/people/roxanne/2.4bpp"); +const u32 gEventObjectPic_Brawly_0[] = INCBIN_U32("graphics/event_objects/pics/people/brawly/0.4bpp"); +const u32 gEventObjectPic_Brawly_1[] = INCBIN_U32("graphics/event_objects/pics/people/brawly/1.4bpp"); +const u32 gEventObjectPic_Brawly_2[] = INCBIN_U32("graphics/event_objects/pics/people/brawly/2.4bpp"); +const u32 gEventObjectPic_Wattson_0[] = INCBIN_U32("graphics/event_objects/pics/people/wattson/0.4bpp"); +const u32 gEventObjectPic_Wattson_1[] = INCBIN_U32("graphics/event_objects/pics/people/wattson/1.4bpp"); +const u32 gEventObjectPic_Wattson_2[] = INCBIN_U32("graphics/event_objects/pics/people/wattson/2.4bpp"); +const u32 gEventObjectPic_Flannery_0[] = INCBIN_U32("graphics/event_objects/pics/people/flannery/0.4bpp"); +const u32 gEventObjectPic_Flannery_1[] = INCBIN_U32("graphics/event_objects/pics/people/flannery/1.4bpp"); +const u32 gEventObjectPic_Flannery_2[] = INCBIN_U32("graphics/event_objects/pics/people/flannery/2.4bpp"); +const u32 gEventObjectPic_Norman_0[] = INCBIN_U32("graphics/event_objects/pics/people/norman/0.4bpp"); +const u32 gEventObjectPic_Norman_1[] = INCBIN_U32("graphics/event_objects/pics/people/norman/1.4bpp"); +const u32 gEventObjectPic_Norman_2[] = INCBIN_U32("graphics/event_objects/pics/people/norman/2.4bpp"); +const u32 gEventObjectPic_Norman_3[] = INCBIN_U32("graphics/event_objects/pics/people/norman/3.4bpp"); +const u32 gEventObjectPic_Norman_4[] = INCBIN_U32("graphics/event_objects/pics/people/norman/4.4bpp"); +const u32 gEventObjectPic_Norman_5[] = INCBIN_U32("graphics/event_objects/pics/people/norman/5.4bpp"); +const u32 gEventObjectPic_Norman_6[] = INCBIN_U32("graphics/event_objects/pics/people/norman/6.4bpp"); +const u32 gEventObjectPic_Norman_7[] = INCBIN_U32("graphics/event_objects/pics/people/norman/7.4bpp"); +const u32 gEventObjectPic_Norman_8[] = INCBIN_U32("graphics/event_objects/pics/people/norman/8.4bpp"); +const u32 gEventObjectPic_Winona_0[] = INCBIN_U32("graphics/event_objects/pics/people/winona/0.4bpp"); +const u32 gEventObjectPic_Winona_1[] = INCBIN_U32("graphics/event_objects/pics/people/winona/1.4bpp"); +const u32 gEventObjectPic_Winona_2[] = INCBIN_U32("graphics/event_objects/pics/people/winona/2.4bpp"); +const u32 gEventObjectPic_Liza_0[] = INCBIN_U32("graphics/event_objects/pics/people/liza/0.4bpp"); +const u32 gEventObjectPic_Liza_1[] = INCBIN_U32("graphics/event_objects/pics/people/liza/1.4bpp"); +const u32 gEventObjectPic_Liza_2[] = INCBIN_U32("graphics/event_objects/pics/people/liza/2.4bpp"); +const u32 gEventObjectPic_Tate_0[] = INCBIN_U32("graphics/event_objects/pics/people/tate/0.4bpp"); +const u32 gEventObjectPic_Tate_1[] = INCBIN_U32("graphics/event_objects/pics/people/tate/1.4bpp"); +const u32 gEventObjectPic_Tate_2[] = INCBIN_U32("graphics/event_objects/pics/people/tate/2.4bpp"); +const u32 gEventObjectPic_Wallace_0[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/0.4bpp"); +const u32 gEventObjectPic_Wallace_1[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/1.4bpp"); +const u32 gEventObjectPic_Wallace_2[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/2.4bpp"); +const u32 gEventObjectPic_Wallace_3[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/3.4bpp"); +const u32 gEventObjectPic_Wallace_4[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/4.4bpp"); +const u32 gEventObjectPic_Wallace_5[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/5.4bpp"); +const u32 gEventObjectPic_Wallace_6[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/6.4bpp"); +const u32 gEventObjectPic_Wallace_7[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/7.4bpp"); +const u32 gEventObjectPic_Wallace_8[] = INCBIN_U32("graphics/event_objects/pics/people/wallace/8.4bpp"); +const u32 gEventObjectPic_Steven_0[] = INCBIN_U32("graphics/event_objects/pics/people/steven/0.4bpp"); +const u32 gEventObjectPic_Steven_1[] = INCBIN_U32("graphics/event_objects/pics/people/steven/1.4bpp"); +const u32 gEventObjectPic_Steven_2[] = INCBIN_U32("graphics/event_objects/pics/people/steven/2.4bpp"); +const u32 gEventObjectPic_Steven_3[] = INCBIN_U32("graphics/event_objects/pics/people/steven/3.4bpp"); +const u32 gEventObjectPic_Steven_4[] = INCBIN_U32("graphics/event_objects/pics/people/steven/4.4bpp"); +const u32 gEventObjectPic_Steven_5[] = INCBIN_U32("graphics/event_objects/pics/people/steven/5.4bpp"); +const u32 gEventObjectPic_Steven_6[] = INCBIN_U32("graphics/event_objects/pics/people/steven/6.4bpp"); +const u32 gEventObjectPic_Steven_7[] = INCBIN_U32("graphics/event_objects/pics/people/steven/7.4bpp"); +const u32 gEventObjectPic_Steven_8[] = INCBIN_U32("graphics/event_objects/pics/people/steven/8.4bpp"); +const u32 gEventObjectPic_Wally_0[] = INCBIN_U32("graphics/event_objects/pics/people/wally/0.4bpp"); +const u32 gEventObjectPic_Wally_1[] = INCBIN_U32("graphics/event_objects/pics/people/wally/1.4bpp"); +const u32 gEventObjectPic_Wally_2[] = INCBIN_U32("graphics/event_objects/pics/people/wally/2.4bpp"); +const u32 gEventObjectPic_Wally_3[] = INCBIN_U32("graphics/event_objects/pics/people/wally/3.4bpp"); +const u32 gEventObjectPic_Wally_4[] = INCBIN_U32("graphics/event_objects/pics/people/wally/4.4bpp"); +const u32 gEventObjectPic_Wally_5[] = INCBIN_U32("graphics/event_objects/pics/people/wally/5.4bpp"); +const u32 gEventObjectPic_Wally_6[] = INCBIN_U32("graphics/event_objects/pics/people/wally/6.4bpp"); +const u32 gEventObjectPic_Wally_7[] = INCBIN_U32("graphics/event_objects/pics/people/wally/7.4bpp"); +const u32 gEventObjectPic_Wally_8[] = INCBIN_U32("graphics/event_objects/pics/people/wally/8.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_0[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/0.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_1[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/1.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_2[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/2.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_3[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/3.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_4[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/4.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_5[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/5.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_6[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/6.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_7[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/7.4bpp"); +const u32 gEventObjectPic_RubySapphireLittleBoy_8[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_little_boy/8.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_0[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/0.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_1[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/1.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_2[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/2.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_3[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/3.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_4[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/4.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_5[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/5.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_6[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/6.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_7[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/7.4bpp"); +const u32 gEventObjectPic_HotSpringsOldWoman_8[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman/8.4bpp"); +const u32 gEventObjectPic_LatiasLatios_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios/0.4bpp"); +const u32 gEventObjectPic_LatiasLatios_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios/1.4bpp"); +const u32 gEventObjectPic_LatiasLatios_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios/2.4bpp"); +const u32 gEventObjectPic_Boy5_0[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5/0.4bpp"); +const u32 gEventObjectPic_Boy5_1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5/1.4bpp"); +const u32 gEventObjectPic_Boy5_2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_5/2.4bpp"); +const u32 gEventObjectPic_ContestOldMan_0[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/0.4bpp"); +const u32 gEventObjectPic_ContestOldMan_1[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/1.4bpp"); +const u32 gEventObjectPic_ContestOldMan_2[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/2.4bpp"); +const u32 gEventObjectPic_ContestOldMan_3[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/3.4bpp"); +const u32 gEventObjectPic_ContestOldMan_4[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/4.4bpp"); +const u32 gEventObjectPic_ContestOldMan_5[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/5.4bpp"); +const u32 gEventObjectPic_ContestOldMan_6[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/6.4bpp"); +const u32 gEventObjectPic_ContestOldMan_7[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/7.4bpp"); +const u32 gEventObjectPic_ContestOldMan_8[] = INCBIN_U32("graphics/event_objects/pics/people/contest_old_man/8.4bpp"); +const u32 gEventObjectPic_Archie_0[] = INCBIN_U32("graphics/event_objects/pics/people/archie/0.4bpp"); +const u32 gEventObjectPic_Archie_1[] = INCBIN_U32("graphics/event_objects/pics/people/archie/1.4bpp"); +const u32 gEventObjectPic_Archie_2[] = INCBIN_U32("graphics/event_objects/pics/people/archie/2.4bpp"); +const u32 gEventObjectPic_Archie_3[] = INCBIN_U32("graphics/event_objects/pics/people/archie/3.4bpp"); +const u32 gEventObjectPic_Archie_4[] = INCBIN_U32("graphics/event_objects/pics/people/archie/4.4bpp"); +const u32 gEventObjectPic_Archie_5[] = INCBIN_U32("graphics/event_objects/pics/people/archie/5.4bpp"); +const u32 gEventObjectPic_Archie_6[] = INCBIN_U32("graphics/event_objects/pics/people/archie/6.4bpp"); +const u32 gEventObjectPic_Archie_7[] = INCBIN_U32("graphics/event_objects/pics/people/archie/7.4bpp"); +const u32 gEventObjectPic_Archie_8[] = INCBIN_U32("graphics/event_objects/pics/people/archie/8.4bpp"); +const u32 gEventObjectPic_Maxie_0[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/0.4bpp"); +const u32 gEventObjectPic_Maxie_1[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/1.4bpp"); +const u32 gEventObjectPic_Maxie_2[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/2.4bpp"); +const u32 gEventObjectPic_Maxie_3[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/3.4bpp"); +const u32 gEventObjectPic_Maxie_4[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/4.4bpp"); +const u32 gEventObjectPic_Maxie_5[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/5.4bpp"); +const u32 gEventObjectPic_Maxie_6[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/6.4bpp"); +const u32 gEventObjectPic_Maxie_7[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/7.4bpp"); +const u32 gEventObjectPic_Maxie_8[] = INCBIN_U32("graphics/event_objects/pics/people/maxie/8.4bpp"); +const u32 gEventObjectPic_KyogreFront_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_front/0.4bpp"); +const u32 gEventObjectPic_KyogreFront_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_front/1.4bpp"); +const u32 gEventObjectPic_KyogreSide_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_side/0.4bpp"); +const u32 gEventObjectPic_KyogreSide_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre_side/1.4bpp"); +const u32 gEventObjectPic_GroudonFront_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon_front/0.4bpp"); +const u32 gEventObjectPic_GroudonFront_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon_front/1.4bpp"); +const u32 gEventObjectPic_GroudonSide_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon_side/0.4bpp"); +const u32 gEventObjectPic_GroudonSide_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon_side/1.4bpp"); +const u32 gEventObjectPic_Regi[] = INCBIN_U32("graphics/event_objects/pics/pokemon/regi.4bpp"); +const u32 gEventObjectPic_Skitty_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty/0.4bpp"); +const u32 gEventObjectPic_Skitty_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty/1.4bpp"); +const u32 gEventObjectPic_Skitty_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty/2.4bpp"); +const u32 gEventObjectPic_Kecleon_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon/0.4bpp"); +const u32 gEventObjectPic_Kecleon_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon/1.4bpp"); +const u32 gEventObjectPic_Kecleon_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon/2.4bpp"); +const u32 gEventObjectPic_Rayquaza_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/0.4bpp"); +const u32 gEventObjectPic_Rayquaza_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/1.4bpp"); +const u32 gEventObjectPic_Rayquaza_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/2.4bpp"); +const u32 gEventObjectPic_Rayquaza_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/3.4bpp"); +const u32 gEventObjectPic_Rayquaza_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza/4.4bpp"); +const u32 gEventObjectPic_RayquazaStill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza_still.4bpp"); +const u32 gEventObjectPic_Zigzagoon_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon/0.4bpp"); +const u32 gEventObjectPic_Zigzagoon_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon/1.4bpp"); +const u32 gEventObjectPic_Zigzagoon_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon/2.4bpp"); +const u32 gEventObjectPic_Pikachu_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu/0.4bpp"); +const u32 gEventObjectPic_Pikachu_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu/1.4bpp"); +const u32 gEventObjectPic_Pikachu_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu/2.4bpp"); +const u32 gEventObjectPic_Azumarill_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill/0.4bpp"); +const u32 gEventObjectPic_Azumarill_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill/1.4bpp"); +const u32 gEventObjectPic_Azumarill_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill/2.4bpp"); +const u32 gEventObjectPic_Wingull_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/0.4bpp"); +const u32 gEventObjectPic_Wingull_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/3.4bpp"); +const u32 gEventObjectPic_Wingull_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/1.4bpp"); +const u32 gEventObjectPic_Wingull_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/4.4bpp"); +const u32 gEventObjectPic_Wingull_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/2.4bpp"); +const u32 gEventObjectPic_Wingull_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull/5.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_0[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/0.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_1[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/1.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_2[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/2.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_3[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/3.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_4[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/4.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_5[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/5.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_6[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/6.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_7[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/7.4bpp"); +const u32 gEventObjectPic_TuberMSwimming_8[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming/8.4bpp"); +const u32 gEventObjectPic_Azurill_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill/0.4bpp"); +const u32 gEventObjectPic_Azurill_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill/1.4bpp"); +const u32 gEventObjectPic_Azurill_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill/2.4bpp"); +const u32 gEventObjectPic_Mom_0[] = INCBIN_U32("graphics/event_objects/pics/people/mom/0.4bpp"); +const u32 gEventObjectPic_Mom_1[] = INCBIN_U32("graphics/event_objects/pics/people/mom/1.4bpp"); +const u32 gEventObjectPic_Mom_2[] = INCBIN_U32("graphics/event_objects/pics/people/mom/2.4bpp"); +const u32 gEventObjectPic_Mom_3[] = INCBIN_U32("graphics/event_objects/pics/people/mom/3.4bpp"); +const u32 gEventObjectPic_Mom_4[] = INCBIN_U32("graphics/event_objects/pics/people/mom/4.4bpp"); +const u32 gEventObjectPic_Mom_5[] = INCBIN_U32("graphics/event_objects/pics/people/mom/5.4bpp"); +const u32 gEventObjectPic_Mom_6[] = INCBIN_U32("graphics/event_objects/pics/people/mom/6.4bpp"); +const u32 gEventObjectPic_Mom_7[] = INCBIN_U32("graphics/event_objects/pics/people/mom/7.4bpp"); +const u32 gEventObjectPic_Mom_8[] = INCBIN_U32("graphics/event_objects/pics/people/mom/8.4bpp"); +const u16 gEventObjectPalette22[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_22.gbapal"); +const u16 gEventObjectPalette23[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_23.gbapal"); +const u16 gEventObjectPalette24[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_24.gbapal"); +const u16 gEventObjectPalette25[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_25.gbapal"); +const u32 gEventObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_natu_doll.4bpp"); +const u32 gEventObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_magnemite_doll.4bpp"); +const u32 gEventObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_squirtle_doll.4bpp"); +const u32 gEventObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_wooper_doll.4bpp"); +const u32 gEventObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_pikachu_doll.4bpp"); +const u32 gEventObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_porygon2_doll.4bpp"); +const u32 gEventObjectPic_PichuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pichu_doll.4bpp"); +const u32 gEventObjectPic_PikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pikachu_doll.4bpp"); +const u32 gEventObjectPic_MarillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/marill_doll.4bpp"); +const u32 gEventObjectPic_TogepiDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/togepi_doll.4bpp"); +const u32 gEventObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/cyndaquil_doll.4bpp"); +const u32 gEventObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/chikorita_doll.4bpp"); +const u32 gEventObjectPic_TotodileDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/totodile_doll.4bpp"); +const u32 gEventObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/jigglypuff_doll.4bpp"); +const u32 gEventObjectPic_MeowthDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/meowth_doll.4bpp"); +const u32 gEventObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/clefairy_doll.4bpp"); +const u32 gEventObjectPic_DittoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/ditto_doll.4bpp"); +const u32 gEventObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/smoochum_doll.4bpp"); +const u32 gEventObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/treecko_doll.4bpp"); +const u32 gEventObjectPic_TorchicDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/torchic_doll.4bpp"); +const u32 gEventObjectPic_MudkipDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/mudkip_doll.4bpp"); +const u32 gEventObjectPic_DuskullDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/duskull_doll.4bpp"); +const u32 gEventObjectPic_WynautDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/wynaut_doll.4bpp"); +const u32 gEventObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/baltoy_doll.4bpp"); +const u32 gEventObjectPic_KecleonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/kecleon_doll.4bpp"); +const u32 gEventObjectPic_AzurillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/azurill_doll.4bpp"); +const u32 gEventObjectPic_SkittyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/skitty_doll.4bpp"); +const u32 gEventObjectPic_SwabluDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/swablu_doll.4bpp"); +const u32 gEventObjectPic_GulpinDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/gulpin_doll.4bpp"); +const u32 gEventObjectPic_LotadDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/lotad_doll.4bpp"); +const u32 gEventObjectPic_SeedotDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/seedot_doll.4bpp"); +const u32 gEventObjectPic_PikaCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/pika_cushion.4bpp"); +const u32 gEventObjectPic_RoundCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/round_cushion.4bpp"); +const u32 gEventObjectPic_KissCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/kiss_cushion.4bpp"); +const u32 gEventObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/zigzag_cushion.4bpp"); +const u32 gEventObjectPic_SpinCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/spin_cushion.4bpp"); +const u32 gEventObjectPic_DiamondCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/diamond_cushion.4bpp"); +const u32 gEventObjectPic_BallCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/ball_cushion.4bpp"); +const u32 gEventObjectPic_GrassCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/grass_cushion.4bpp"); +const u32 gEventObjectPic_FireCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/fire_cushion.4bpp"); +const u32 gEventObjectPic_WaterCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/water_cushion.4bpp"); +const u32 gEventObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_snorlax_doll.4bpp"); +const u32 gEventObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_rhydon_doll.4bpp"); +const u32 gEventObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_lapras_doll.4bpp"); +const u32 gEventObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_venusaur_doll.4bpp"); +const u32 gEventObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_charizard_doll.4bpp"); +const u32 gEventObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_blastoise_doll.4bpp"); +const u32 gEventObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_wailmer_doll.4bpp"); +const u32 gEventObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regirock_doll.4bpp"); +const u32 gEventObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regice_doll.4bpp"); +const u32 gEventObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_registeel_doll.4bpp"); +const u32 gEventObjectPic_CuttableTree_0[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/0.4bpp"); +const u32 gEventObjectPic_CuttableTree_1[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/1.4bpp"); +const u32 gEventObjectPic_CuttableTree_2[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/2.4bpp"); +const u32 gEventObjectPic_CuttableTree_3[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree/3.4bpp"); +const u32 gEventObjectPic_BreakableRock_0[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/0.4bpp"); +const u32 gEventObjectPic_BreakableRock_1[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/1.4bpp"); +const u32 gEventObjectPic_BreakableRock_2[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/2.4bpp"); +const u32 gEventObjectPic_BreakableRock_3[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock/3.4bpp"); +const u32 gEventObjectPic_PushableBoulder[] = INCBIN_U32("graphics/event_objects/pics/misc/pushable_boulder.4bpp"); +const u32 gEventObjectPic_MrBrineysBoat_0[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat/0.4bpp"); +const u32 gEventObjectPic_MrBrineysBoat_1[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat/1.4bpp"); +const u32 gEventObjectPic_MrBrineysBoat_2[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat/2.4bpp"); +const u32 gEventObjectPic_Fossil[] = INCBIN_U32("graphics/event_objects/pics/misc/fossil.4bpp"); +const u32 gEventObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/event_objects/pics/misc/submarine_shadow.4bpp"); +const u16 gEventObjectPalette26[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_26.gbapal"); +const u32 gEventObjectPic_Truck[] = INCBIN_U32("graphics/event_objects/pics/misc/truck.4bpp"); +const u16 gEventObjectPalette14[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_14.gbapal"); +const u32 gEventObjectPic_VigorothCarryingBox_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth_carrying_box/0.4bpp"); +const u32 gEventObjectPic_VigorothCarryingBox_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth_carrying_box/1.4bpp"); +const u32 gEventObjectPic_VigorothCarryingBox_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth_carrying_box/2.4bpp"); +const u32 gEventObjectPic_VigorothFacingAway_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth_facing_away/0.4bpp"); +const u32 gEventObjectPic_VigorothFacingAway_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth_facing_away/1.4bpp"); +const u16 gEventObjectPalette15[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_15.gbapal"); +const u32 gEventObjectPic_BirchsBag[] = INCBIN_U32("graphics/event_objects/pics/misc/birchs_bag.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/0.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/1.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/2.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/3.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/4.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/5.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/6.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/7.4bpp"); +const u32 gEventObjectPic_EnemyZigzagoon_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon/8.4bpp"); +const u16 gEventObjectPalette16[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_16.gbapal"); +const u32 gEventObjectPic_Poochyena_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/0.4bpp"); +const u32 gEventObjectPic_Poochyena_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/1.4bpp"); +const u32 gEventObjectPic_Poochyena_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/2.4bpp"); +const u32 gEventObjectPic_Poochyena_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/3.4bpp"); +const u32 gEventObjectPic_Poochyena_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/4.4bpp"); +const u32 gEventObjectPic_Poochyena_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/5.4bpp"); +const u32 gEventObjectPic_Poochyena_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/6.4bpp"); +const u32 gEventObjectPic_Poochyena_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/7.4bpp"); +const u32 gEventObjectPic_Poochyena_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena/8.4bpp"); +const u16 gEventObjectPalette27[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_27.gbapal"); +const u32 gEventObjectPic_CableCar[] = INCBIN_U32("graphics/event_objects/pics/misc/cable_car.4bpp"); +const u16 gEventObjectPalette20[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_20.gbapal"); +const u32 gEventObjectPic_SSTidal[] = INCBIN_U32("graphics/event_objects/pics/misc/ss_tidal.4bpp"); +const u16 gEventObjectPalette21[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_21.gbapal"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_0[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/0.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_1[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/1.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_2[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/2.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_3[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/3.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_4[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/4.4bpp"); +const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle_5[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle/5.4bpp"); +const u32 gEventObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/dirt_pile.4bpp"); +const u32 gEventObjectPic_BerryTreeSprout_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout/0.4bpp"); +const u32 gEventObjectPic_BerryTreeSprout_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout/1.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/0.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/1.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/2.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/3.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/4.4bpp"); +const u32 gEventObjectPic_PechaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha/5.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/0.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/1.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/2.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/3.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/4.4bpp"); +const u32 gEventObjectPic_KelpsyBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy/5.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/0.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/1.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/2.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/3.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/4.4bpp"); +const u32 gEventObjectPic_WepearBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear/5.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/0.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/1.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/2.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/3.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/4.4bpp"); +const u32 gEventObjectPic_IapapaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa/5.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/0.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/1.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/2.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/3.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/4.4bpp"); +const u32 gEventObjectPic_CheriBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri/5.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/0.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/1.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/2.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/3.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/4.4bpp"); +const u32 gEventObjectPic_FigyBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy/5.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/0.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/1.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/2.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/3.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/4.4bpp"); +const u32 gEventObjectPic_MagoBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago/5.4bpp"); +const u32 gEventObjectPic_LumBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/0.4bpp"); +const u32 gEventObjectPic_LumBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/1.4bpp"); +const u32 gEventObjectPic_LumBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/2.4bpp"); +const u32 gEventObjectPic_LumBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/3.4bpp"); +const u32 gEventObjectPic_LumBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/4.4bpp"); +const u32 gEventObjectPic_LumBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum/5.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/0.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/1.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/2.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/3.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/4.4bpp"); +const u32 gEventObjectPic_RazzBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz/5.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/0.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/1.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/2.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/3.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/4.4bpp"); +const u32 gEventObjectPic_GrepaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa/5.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/0.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/1.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/2.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/3.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/4.4bpp"); +const u32 gEventObjectPic_RabutaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta/5.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/0.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/1.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/2.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/3.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/4.4bpp"); +const u32 gEventObjectPic_NomelBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel/5.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/0.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/1.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/2.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/3.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/4.4bpp"); +const u32 gEventObjectPic_LeppaBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa/5.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/0.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/1.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/2.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/3.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/4.4bpp"); +const u32 gEventObjectPic_LiechiBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi/5.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/0.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/1.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/2.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/3.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/4.4bpp"); +const u32 gEventObjectPic_HondewBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew/5.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/0.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/1.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/2.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/3.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/4.4bpp"); +const u32 gEventObjectPic_AguavBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav/5.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/0.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/1.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/2.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/3.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/4.4bpp"); +const u32 gEventObjectPic_WikiBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki/5.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/0.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/1.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/2.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/3.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/4.4bpp"); +const u32 gEventObjectPic_PomegBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg/5.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/0.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/1.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/2.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/3.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/4.4bpp"); +const u32 gEventObjectPic_RawstBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst/5.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/0.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/1.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/2.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/3.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/4.4bpp"); +const u32 gEventObjectPic_SpelonBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon/5.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/0.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/1.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/2.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/3.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/4.4bpp"); +const u32 gEventObjectPic_ChestoBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto/5.4bpp"); +const u32 gEventObjectPic_OranBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/0.4bpp"); +const u32 gEventObjectPic_OranBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/1.4bpp"); +const u32 gEventObjectPic_OranBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/2.4bpp"); +const u32 gEventObjectPic_OranBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/3.4bpp"); +const u32 gEventObjectPic_OranBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/4.4bpp"); +const u32 gEventObjectPic_OranBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran/5.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/0.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/1.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/2.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/3.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/4.4bpp"); +const u32 gEventObjectPic_PersimBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim/5.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/0.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/1.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/2.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/3.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/4.4bpp"); +const u32 gEventObjectPic_SitrusBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus/5.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/0.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/1.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/2.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/3.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/4.4bpp"); +const u32 gEventObjectPic_AspearBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear/5.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/0.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/1.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/2.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/3.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/4.4bpp"); +const u32 gEventObjectPic_PamtreBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre/5.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/0.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/1.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/2.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/3.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/4.4bpp"); +const u32 gEventObjectPic_CornnBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn/5.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/0.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/1.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/2.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/3.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/4.4bpp"); +const u32 gEventObjectPic_LansatBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat/5.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/0.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/1.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/2.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/3.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/4.4bpp"); +const u32 gEventObjectPic_DurinBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin/5.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_0[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/0.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_1[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/1.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_2[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/2.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_3[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/3.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_4[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/4.4bpp"); +const u32 gEventObjectPic_TamatoBerryTree_5[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato/5.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob_0[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob/0.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob_1[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob/1.4bpp"); +const u32 gFieldEffectObjectPic_SurfBlob_2[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob/2.4bpp"); +const u32 gEventObjectPic_QuintyPlump_0[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/0.4bpp"); +const u32 gEventObjectPic_QuintyPlump_1[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/1.4bpp"); +const u32 gEventObjectPic_QuintyPlump_2[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/2.4bpp"); +const u32 gEventObjectPic_QuintyPlump_3[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/3.4bpp"); +const u32 gEventObjectPic_QuintyPlump_4[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/4.4bpp"); +const u32 gEventObjectPic_QuintyPlump_5[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/5.4bpp"); +const u32 gEventObjectPic_QuintyPlump_6[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump/6.4bpp"); +const u16 gEventObjectPalette12[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_12.gbapal"); +const u16 gEventObjectPalette13[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_13.gbapal"); +const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_small.4bpp"); +const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_medium.4bpp"); +const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_large.4bpp"); +const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_extra_large.4bpp"); +const u32 gUnknown_084F6D38[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_4F6D38/0.4bpp"); +const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_06.gbapal"); +const u32 gFieldEffectObjectPic_Ripple_0[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/0.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_1[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/1.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_2[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/2.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_3[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/3.4bpp"); +const u32 gFieldEffectObjectPic_Ripple_4[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/4.4bpp"); +const u32 gFieldEffectObjectPic_Ash_0[] = INCBIN_U32("graphics/event_objects/pics/effects/ash/0.4bpp"); +const u32 gFieldEffectObjectPic_Ash_1[] = INCBIN_U32("graphics/event_objects/pics/effects/ash/1.4bpp"); +const u32 gFieldEffectObjectPic_Ash_2[] = INCBIN_U32("graphics/event_objects/pics/effects/ash/2.4bpp"); +const u32 gFieldEffectObjectPic_Ash_3[] = INCBIN_U32("graphics/event_objects/pics/effects/ash/3.4bpp"); +const u32 gFieldEffectObjectPic_Ash_4[] = INCBIN_U32("graphics/event_objects/pics/effects/ash/4.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_0[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/0.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_1[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/1.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_2[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/2.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_3[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/3.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_4[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/4.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_5[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/5.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_6[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/6.4bpp"); +const u32 gFieldEffectObjectPic_Arrow_7[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow/7.4bpp"); +const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_00.gbapal"); +const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal"); +const u32 gFieldEffectObjectPic_GroundImpactDust_0[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/0.4bpp"); +const u32 gFieldEffectObjectPic_GroundImpactDust_1[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/1.4bpp"); +const u32 gFieldEffectObjectPic_GroundImpactDust_2[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopTallGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass/3.4bpp"); +const u32 gUnusedGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/0.4bpp"); +const u32 gUnusedGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/1.4bpp"); +const u32 gUnusedGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/2.4bpp"); +const u32 gUnusedGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/4.4bpp"); +const u32 gUnknown_084F7E38[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_4F7E38/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown16_5[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16/5.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/4.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_5[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/5.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_6[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/6.4bpp"); +const u32 gFieldEffectObjectPic_Unknown17_7[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17/7.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown18_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18/3.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/2.4bpp"); +const u32 gFieldEffectObjectPic_LongGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_2[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass/2.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_3[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass/3.4bpp"); +const u32 gFieldEffectObjectPic_TallGrass_4[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass/4.4bpp"); +const u32 gFieldEffectObjectPic_ShortGrass_0[] = INCBIN_U32("graphics/event_objects/pics/effects/short_grass/0.4bpp"); +const u32 gFieldEffectObjectPic_ShortGrass_1[] = INCBIN_U32("graphics/event_objects/pics/effects/short_grass/1.4bpp"); +const u32 gFieldEffectObjectPic_SandFootprints_0[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints/0.4bpp"); +const u32 gFieldEffectObjectPic_SandFootprints_1[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints/1.4bpp"); +const u32 gFieldEffectObjectPic_DeepSandFootprints_0[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints/0.4bpp"); +const u32 gFieldEffectObjectPic_DeepSandFootprints_1[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeTireTracks_3[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown19_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown29_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash/2.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopBigSplash_3[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash/3.4bpp"); +const u32 gFieldEffectObjectPic_Splash_0[] = INCBIN_U32("graphics/event_objects/pics/effects/splash/0.4bpp"); +const u32 gFieldEffectObjectPic_Splash_1[] = INCBIN_U32("graphics/event_objects/pics/effects/splash/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash/0.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash/1.4bpp"); +const u32 gFieldEffectObjectPic_BikeHopSmallSplash_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown20_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20/4.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_0[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/0.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_1[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/1.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_2[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/2.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_3[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/3.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_4[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/4.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_5[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/5.4bpp"); +const u32 gFieldEffectObjectPic_TreeDisguise_6[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise/6.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_0[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/0.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_1[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/1.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_2[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/2.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_3[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/3.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_4[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/4.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_5[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/5.4bpp"); +const u32 gFieldEffectObjectPic_MountainDisguise_6[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise/6.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_0[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/0.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_1[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/1.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_2[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/2.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_3[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/3.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_4[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/4.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_5[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/5.4bpp"); +const u32 gFieldEffectObjectPic_SandDisguisePlaceholder_6[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder/6.4bpp"); +const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp"); +const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_0[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash/0.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_1[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash/1.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_2[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash/2.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_3[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash/3.4bpp"); +const u32 gFieldEffectObjectPic_JumpOutOfAsh_4[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash/4.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/1.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_2[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/2.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_3[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/3.4bpp"); +const u32 gFieldEffectObjectPic_Unknown33_4[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_33/4.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_0[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/0.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_1[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/1.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_2[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/2.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_3[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/3.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_4[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/4.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_5[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/5.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_6[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/6.4bpp"); +const u32 gFieldEffectObjectPic_Bubbles_7[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles/7.4bpp"); +const u32 gFieldEffectObjectPic_Unknown35_0[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35/0.4bpp"); +const u32 gFieldEffectObjectPic_Unknown35_1[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35/1.4bpp"); +const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal"); +const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/event_objects/pics/effects/bird.4bpp"); +const u32 gEventObjectPic_Juan_0[] = INCBIN_U32("graphics/event_objects/pics/people/juan/0.4bpp"); +const u32 gEventObjectPic_Juan_1[] = INCBIN_U32("graphics/event_objects/pics/people/juan/1.4bpp"); +const u32 gEventObjectPic_Juan_2[] = INCBIN_U32("graphics/event_objects/pics/people/juan/2.4bpp"); +const u32 gEventObjectPic_Juan_3[] = INCBIN_U32("graphics/event_objects/pics/people/juan/3.4bpp"); +const u32 gEventObjectPic_Juan_4[] = INCBIN_U32("graphics/event_objects/pics/people/juan/4.4bpp"); +const u32 gEventObjectPic_Juan_5[] = INCBIN_U32("graphics/event_objects/pics/people/juan/5.4bpp"); +const u32 gEventObjectPic_Juan_6[] = INCBIN_U32("graphics/event_objects/pics/people/juan/6.4bpp"); +const u32 gEventObjectPic_Juan_7[] = INCBIN_U32("graphics/event_objects/pics/people/juan/7.4bpp"); +const u32 gEventObjectPic_Juan_8[] = INCBIN_U32("graphics/event_objects/pics/people/juan/8.4bpp"); +const u32 gEventObjectPic_Scott_0[] = INCBIN_U32("graphics/event_objects/pics/people/scott/0.4bpp"); +const u32 gEventObjectPic_Scott_1[] = INCBIN_U32("graphics/event_objects/pics/people/scott/1.4bpp"); +const u32 gEventObjectPic_Scott_2[] = INCBIN_U32("graphics/event_objects/pics/people/scott/2.4bpp"); +const u32 gEventObjectPic_Scott_3[] = INCBIN_U32("graphics/event_objects/pics/people/scott/3.4bpp"); +const u32 gEventObjectPic_Scott_4[] = INCBIN_U32("graphics/event_objects/pics/people/scott/4.4bpp"); +const u32 gEventObjectPic_Scott_5[] = INCBIN_U32("graphics/event_objects/pics/people/scott/5.4bpp"); +const u32 gEventObjectPic_Scott_6[] = INCBIN_U32("graphics/event_objects/pics/people/scott/6.4bpp"); +const u32 gEventObjectPic_Scott_7[] = INCBIN_U32("graphics/event_objects/pics/people/scott/7.4bpp"); +const u32 gEventObjectPic_Scott_8[] = INCBIN_U32("graphics/event_objects/pics/people/scott/8.4bpp"); +const u32 gEventObjectPic_Statue[] = INCBIN_U32("graphics/event_objects/pics/misc/statue.4bpp"); +const u32 gEventObjectPic_Kirlia_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/0.4bpp"); +const u32 gEventObjectPic_Kirlia_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/1.4bpp"); +const u32 gEventObjectPic_Kirlia_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/2.4bpp"); +const u32 gEventObjectPic_Kirlia_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/3.4bpp"); +const u32 gEventObjectPic_Kirlia_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/4.4bpp"); +const u32 gEventObjectPic_Kirlia_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/5.4bpp"); +const u32 gEventObjectPic_Kirlia_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/6.4bpp"); +const u32 gEventObjectPic_Kirlia_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/7.4bpp"); +const u32 gEventObjectPic_Kirlia_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia/8.4bpp"); +const u32 gEventObjectPic_Dusclops_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/0.4bpp"); +const u32 gEventObjectPic_Dusclops_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/1.4bpp"); +const u32 gEventObjectPic_Dusclops_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/2.4bpp"); +const u32 gEventObjectPic_Dusclops_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/3.4bpp"); +const u32 gEventObjectPic_Dusclops_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/4.4bpp"); +const u32 gEventObjectPic_Dusclops_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/5.4bpp"); +const u32 gEventObjectPic_Dusclops_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/6.4bpp"); +const u32 gEventObjectPic_Dusclops_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/7.4bpp"); +const u32 gEventObjectPic_Dusclops_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops/8.4bpp"); +const u32 gEventObjectPic_MysteryEventDeliveryman_0[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman/0.4bpp"); +const u32 gEventObjectPic_MysteryEventDeliveryman_1[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman/1.4bpp"); +const u32 gEventObjectPic_MysteryEventDeliveryman_2[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman/2.4bpp"); +const u32 gEventObjectPic_UnionRoomAttendant_0[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant/0.4bpp"); +const u32 gEventObjectPic_UnionRoomAttendant_1[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant/1.4bpp"); +const u32 gEventObjectPic_UnionRoomAttendant_2[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant/2.4bpp"); +const u32 gEventObjectPic_MovingBox[] = INCBIN_U32("graphics/event_objects/pics/misc/moving_box.4bpp"); +const u16 gEventObjectPalette19[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_19.gbapal"); +const u32 gEventObjectPic_Sudowoodo_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo/0.4bpp"); +const u32 gEventObjectPic_Sudowoodo_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo/1.4bpp"); +const u32 gEventObjectPic_Sudowoodo_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo/2.4bpp"); +const u32 gEventObjectPic_Mew_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/0.4bpp"); +const u32 gEventObjectPic_Mew_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/1.4bpp"); +const u32 gEventObjectPic_Mew_2[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/2.4bpp"); +const u32 gEventObjectPic_Mew_3[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/3.4bpp"); +const u32 gEventObjectPic_Mew_4[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/4.4bpp"); +const u32 gEventObjectPic_Mew_5[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/5.4bpp"); +const u32 gEventObjectPic_Mew_6[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/6.4bpp"); +const u32 gEventObjectPic_Mew_7[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/7.4bpp"); +const u32 gEventObjectPic_Mew_8[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew/8.4bpp"); +const u16 gEventObjectPalette28[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_28.gbapal"); +const u32 gEventObjectPic_Red_0[] = INCBIN_U32("graphics/event_objects/pics/people/red/0.4bpp"); +const u32 gEventObjectPic_Red_1[] = INCBIN_U32("graphics/event_objects/pics/people/red/1.4bpp"); +const u32 gEventObjectPic_Red_2[] = INCBIN_U32("graphics/event_objects/pics/people/red/2.4bpp"); +const u32 gEventObjectPic_Red_3[] = INCBIN_U32("graphics/event_objects/pics/people/red/3.4bpp"); +const u32 gEventObjectPic_Red_4[] = INCBIN_U32("graphics/event_objects/pics/people/red/4.4bpp"); +const u32 gEventObjectPic_Red_5[] = INCBIN_U32("graphics/event_objects/pics/people/red/5.4bpp"); +const u32 gEventObjectPic_Red_6[] = INCBIN_U32("graphics/event_objects/pics/people/red/6.4bpp"); +const u32 gEventObjectPic_Red_7[] = INCBIN_U32("graphics/event_objects/pics/people/red/7.4bpp"); +const u32 gEventObjectPic_Red_8[] = INCBIN_U32("graphics/event_objects/pics/people/red/8.4bpp"); +const u32 gEventObjectPic_Leaf_0[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/0.4bpp"); +const u32 gEventObjectPic_Leaf_1[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/1.4bpp"); +const u32 gEventObjectPic_Leaf_2[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/2.4bpp"); +const u32 gEventObjectPic_Leaf_3[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/3.4bpp"); +const u32 gEventObjectPic_Leaf_4[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/4.4bpp"); +const u32 gEventObjectPic_Leaf_5[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/5.4bpp"); +const u32 gEventObjectPic_Leaf_6[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/6.4bpp"); +const u32 gEventObjectPic_Leaf_7[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/7.4bpp"); +const u32 gEventObjectPic_Leaf_8[] = INCBIN_U32("graphics/event_objects/pics/people/leaf/8.4bpp"); +const u16 gEventObjectPalette30[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_30.gbapal"); +const u32 gEventObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/event_objects/pics/misc/birth_island_stone.4bpp"); +const u16 gEventObjectPalette29[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_29.gbapal"); +const u32 gEventObjectPic_Deoxys_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys/0.4bpp"); +const u32 gEventObjectPic_Deoxys_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys/1.4bpp"); +const u32 gEventObjectPic_Anabel_0[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/0.4bpp"); +const u32 gEventObjectPic_Anabel_1[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/1.4bpp"); +const u32 gEventObjectPic_Anabel_2[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/2.4bpp"); +const u32 gEventObjectPic_Anabel_3[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/3.4bpp"); +const u32 gEventObjectPic_Anabel_4[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/4.4bpp"); +const u32 gEventObjectPic_Anabel_5[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/5.4bpp"); +const u32 gEventObjectPic_Anabel_6[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/6.4bpp"); +const u32 gEventObjectPic_Anabel_7[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/7.4bpp"); +const u32 gEventObjectPic_Anabel_8[] = INCBIN_U32("graphics/event_objects/pics/people/anabel/8.4bpp"); +const u32 gEventObjectPic_Tucker_0[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/0.4bpp"); +const u32 gEventObjectPic_Tucker_1[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/1.4bpp"); +const u32 gEventObjectPic_Tucker_2[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/2.4bpp"); +const u32 gEventObjectPic_Tucker_3[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/3.4bpp"); +const u32 gEventObjectPic_Tucker_4[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/4.4bpp"); +const u32 gEventObjectPic_Tucker_5[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/5.4bpp"); +const u32 gEventObjectPic_Tucker_6[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/6.4bpp"); +const u32 gEventObjectPic_Tucker_7[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/7.4bpp"); +const u32 gEventObjectPic_Tucker_8[] = INCBIN_U32("graphics/event_objects/pics/people/tucker/8.4bpp"); +const u32 gEventObjectPic_Spenser_0[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/0.4bpp"); +const u32 gEventObjectPic_Spenser_1[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/1.4bpp"); +const u32 gEventObjectPic_Spenser_2[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/2.4bpp"); +const u32 gEventObjectPic_Spenser_3[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/3.4bpp"); +const u32 gEventObjectPic_Spenser_4[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/4.4bpp"); +const u32 gEventObjectPic_Spenser_5[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/5.4bpp"); +const u32 gEventObjectPic_Spenser_6[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/6.4bpp"); +const u32 gEventObjectPic_Spenser_7[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/7.4bpp"); +const u32 gEventObjectPic_Spenser_8[] = INCBIN_U32("graphics/event_objects/pics/people/spenser/8.4bpp"); +const u32 gEventObjectPic_Greta_0[] = INCBIN_U32("graphics/event_objects/pics/people/greta/0.4bpp"); +const u32 gEventObjectPic_Greta_1[] = INCBIN_U32("graphics/event_objects/pics/people/greta/1.4bpp"); +const u32 gEventObjectPic_Greta_2[] = INCBIN_U32("graphics/event_objects/pics/people/greta/2.4bpp"); +const u32 gEventObjectPic_Greta_3[] = INCBIN_U32("graphics/event_objects/pics/people/greta/3.4bpp"); +const u32 gEventObjectPic_Greta_4[] = INCBIN_U32("graphics/event_objects/pics/people/greta/4.4bpp"); +const u32 gEventObjectPic_Greta_5[] = INCBIN_U32("graphics/event_objects/pics/people/greta/5.4bpp"); +const u32 gEventObjectPic_Greta_6[] = INCBIN_U32("graphics/event_objects/pics/people/greta/6.4bpp"); +const u32 gEventObjectPic_Greta_7[] = INCBIN_U32("graphics/event_objects/pics/people/greta/7.4bpp"); +const u32 gEventObjectPic_Greta_8[] = INCBIN_U32("graphics/event_objects/pics/people/greta/8.4bpp"); +const u32 gEventObjectPic_Noland_0[] = INCBIN_U32("graphics/event_objects/pics/people/noland/0.4bpp"); +const u32 gEventObjectPic_Noland_1[] = INCBIN_U32("graphics/event_objects/pics/people/noland/1.4bpp"); +const u32 gEventObjectPic_Noland_2[] = INCBIN_U32("graphics/event_objects/pics/people/noland/2.4bpp"); +const u32 gEventObjectPic_Noland_3[] = INCBIN_U32("graphics/event_objects/pics/people/noland/3.4bpp"); +const u32 gEventObjectPic_Noland_4[] = INCBIN_U32("graphics/event_objects/pics/people/noland/4.4bpp"); +const u32 gEventObjectPic_Noland_5[] = INCBIN_U32("graphics/event_objects/pics/people/noland/5.4bpp"); +const u32 gEventObjectPic_Noland_6[] = INCBIN_U32("graphics/event_objects/pics/people/noland/6.4bpp"); +const u32 gEventObjectPic_Noland_7[] = INCBIN_U32("graphics/event_objects/pics/people/noland/7.4bpp"); +const u32 gEventObjectPic_Noland_8[] = INCBIN_U32("graphics/event_objects/pics/people/noland/8.4bpp"); +const u32 gEventObjectPic_Lucy_0[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/0.4bpp"); +const u32 gEventObjectPic_Lucy_1[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/1.4bpp"); +const u32 gEventObjectPic_Lucy_2[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/2.4bpp"); +const u32 gEventObjectPic_Lucy_3[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/3.4bpp"); +const u32 gEventObjectPic_Lucy_4[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/4.4bpp"); +const u32 gEventObjectPic_Lucy_5[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/5.4bpp"); +const u32 gEventObjectPic_Lucy_6[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/6.4bpp"); +const u32 gEventObjectPic_Lucy_7[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/7.4bpp"); +const u32 gEventObjectPic_Lucy_8[] = INCBIN_U32("graphics/event_objects/pics/people/lucy/8.4bpp"); +const u32 gEventObjectPic_Brandon_0[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/0.4bpp"); +const u32 gEventObjectPic_Brandon_1[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/1.4bpp"); +const u32 gEventObjectPic_Brandon_2[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/2.4bpp"); +const u32 gEventObjectPic_Brandon_3[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/3.4bpp"); +const u32 gEventObjectPic_Brandon_4[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/4.4bpp"); +const u32 gEventObjectPic_Brandon_5[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/5.4bpp"); +const u32 gEventObjectPic_Brandon_6[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/6.4bpp"); +const u32 gEventObjectPic_Brandon_7[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/7.4bpp"); +const u32 gEventObjectPic_Brandon_8[] = INCBIN_U32("graphics/event_objects/pics/people/brandon/8.4bpp"); +const u32 gEventObjectPic_Lugia_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia/0.4bpp"); +const u32 gEventObjectPic_Lugia_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia/1.4bpp"); +const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal"); +const u32 gEventObjectPic_HoOh_0[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh/0.4bpp"); +const u32 gEventObjectPic_HoOh_1[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh/1.4bpp"); +const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal"); #endif //GUARD_EVENT_OBJECT_GFX_H diff --git a/src/data/field_event_obj/event_object_graphics_info.h b/src/data/field_event_obj/event_object_graphics_info.h index 774109472..14ef4983d 100755 --- a/src/data/field_event_obj/event_object_graphics_info.h +++ b/src/data/field_event_obj/event_object_graphics_info.h @@ -1,250 +1,250 @@ #ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_H #define GUARD_EVENT_OBJECT_GRAPHICS_INFO_H -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanNormal = {0xFFFF, 0x1100, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_QuintyPlump = {0xFFFF, 0x110B, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_L, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_QuintyPlump, gFieldObjectPicTable_QuintyPlump, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy1 = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleBoy1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleGirl1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl1 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Girl1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Girl2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy2 = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleBoy2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl2 = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LittleGirl2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy3 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Girl3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy4 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy4, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman1 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FatMan = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_FatMan, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman2 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman3 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman1 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldWoman1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman4, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man3 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man3, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman5 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman5, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cook = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Cook, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman6 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman6, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman2 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_OldWoman2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Camper = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Camper, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Picnicker = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Picnicker, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man4 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man4, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Woman7, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Youngster = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Youngster, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BugCatcher = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BugCatcher, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PsychicM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_PsychicM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SchoolKidM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SchoolKidM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maniac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Maniac, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HexManiac = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_HexManiac, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza1 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_64x64, gFieldObjectSpriteOamTables_64x64, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RayquazaStill, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerM = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SwimmerM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SwimmerF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BlackBelt = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BlackBelt, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Beauty = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Beauty, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Scientist1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lass = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Lass, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Gentleman = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Gentleman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sailor = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Sailor, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fisherman = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Fisherman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RunningTriathleteM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RunningTriathleteF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberF = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_TuberF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberM = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_TuberM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hiker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Hiker, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteM = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_CyclingTriathleteM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteF = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_CyclingTriathleteF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Nurse = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Nurse, gFieldObjectPicTable_Nurse, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ItemBall = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ItemBall, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTree = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, NULL, gFieldObjectImageAnimTable_BerryTree, gFieldObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeEarlyStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_BerryTree, gFieldObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeLateStages = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BerryTree, gFieldObjectPicTable_PechaBerryTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ProfBirch = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ProfBirch, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man5 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man5, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man6 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man6, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ReporterM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ReporterF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Bard = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hipster = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Trader = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan1, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Storyteller = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Giddy = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan1 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan2 = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MauvilleOldMan2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedNatuDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedNatuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMagnemiteDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedMagnemiteDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedSquirtleDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedSquirtleDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedWooperDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedWooperDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedPikachuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPorygon2Doll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_UnusedPorygon2Doll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CuttableTree = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_CuttableTree, gFieldObjectPicTable_CuttableTree, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MartEmployee = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MartEmployee, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RooftopSaleWoman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RooftopSaleWoman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Teala = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Teala, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BreakableRock = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_BreakableRock, gFieldObjectPicTable_BreakableRock, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PushableBoulder = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PushableBoulder, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MrBrineysBoat = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MrBrineysBoat, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayNormal = {0xFFFF, 0x1110, 0x1102, 512, 16, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Truck = {0xFFFF, 0x110D, 0x11FF, 1152, 48, 48, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_Truck, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_Truck, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothCarryingBox = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_VigorothCarryingBox, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothFacingAway = {0xFFFF, 0x110E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_VigorothFacingAway, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirchsBag = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BirchsBag, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_EnemyZigzagoon = {0xFFFF, 0x110F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_EnemyZigzagoon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Poochyena = {0xFFFF, 0x111C, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Poochyena, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Artist = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Artist, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanNormal = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanMachBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanAcroBike = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_BrendanAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanSurfing = {0xFFFF, 0x1100, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_BrendanSurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanFieldMove = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_BrendanFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayNormal = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayMachBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayMachBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayAcroBike = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_AcroBike, gFieldObjectPicTable_MayAcroBike, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMaySurfing = {0xFFFF, 0x1110, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Surfing, gFieldObjectPicTable_MaySurfing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayFieldMove = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_FieldMove, gFieldObjectPicTable_MayFieldMove, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cameraman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Cameraman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanUnderwater, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayUnderwater = {0xFFFF, 0x1115, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayUnderwater, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MovingBox = {0xFFFF, 0x1112, 0x11FF, 128, 16, 16, 10, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MovingBox, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CableCar = {0xFFFF, 0x1113, 0x11FF, 2048, 64, 64, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_64x64, gFieldObjectSpriteOamTables_64x64, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_CableCar, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist2 = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Scientist2, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man7 = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Man7, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberM = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_AquaMemberM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberF = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_AquaMemberF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberM = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MagmaMemberM, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberF = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MagmaMemberF, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sidney = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Sidney, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Phoebe = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Phoebe, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Glacia = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Glacia, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Drake = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Drake, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Roxanne = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Roxanne, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brawly = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Brawly, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wattson = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wattson, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Flannery = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Flannery, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Norman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Norman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Winona = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Winona, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Liza = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Liza, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tate = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Tate, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wallace = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wallace, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Steven = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Steven, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wally = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wally, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireLittleBoy = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RubySapphireLittleBoy, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFishing = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Fishing, gFieldObjectPicTable_BrendanFishing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFishing = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Fishing, gFieldObjectPicTable_MayFishing, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HotSpringsOldWoman = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_HotSpringsOldWoman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SSTidal = {0xFFFF, 0x1114, 0x11FF, 1920, 96, 40, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_8x8, gFieldObjectSpriteOamTables_SSTidal, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SSTidal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SubmarineShadow = {0xFFFF, 0x111B, 0x11FF, 1408, 88, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_8x8, gFieldObjectSpriteOamTables_SubmarineShadow, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_SubmarineShadow, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PichuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PichuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikachuDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PikachuDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MarillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MarillDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TogepiDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TogepiDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyndaquilDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_CyndaquilDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ChikoritaDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ChikoritaDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TotodileDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TotodileDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_JigglypuffDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_JigglypuffDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MeowthDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MeowthDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ClefairyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ClefairyDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DittoDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_DittoDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SmoochumDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SmoochumDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TreeckoDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TreeckoDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TorchicDoll = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_TorchicDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MudkipDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MudkipDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DuskullDoll = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_DuskullDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WynautDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_WynautDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BaltoyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BaltoyDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KecleonDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_KecleonDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AzurillDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_AzurillDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SkittyDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SkittyDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwabluDoll = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SwabluDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GulpinDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_GulpinDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LotadDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_LotadDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SeedotDoll = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SeedotDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikaCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_PikaCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RoundCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_RoundCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KissCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_KissCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ZigzagCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_ZigzagCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SpinCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_SpinCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DiamondCushion = {0xFFFF, 0x1106, 0x11FF, 128, 16, 16, 5, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_DiamondCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BallCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BallCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GrassCushion = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_GrassCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FireCushion = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_FireCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WaterCushion = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_WaterCushion, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigSnorlaxDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigSnorlaxDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRhydonDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRhydonDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigLaprasDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigLaprasDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigVenusaurDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigVenusaurDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigCharizardDoll = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigCharizardDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigBlastoiseDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigBlastoiseDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigWailmerDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigWailmerDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegirockDoll = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRegirockDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegiceDoll = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRegiceDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegisteelDoll = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BigRegisteelDoll, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latias = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latios = {0xFFFF, 0x1103, 0x11FF, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_LatiasLatios, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy5 = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Boy5, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ContestOldMan = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_ContestOldMan, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanWatering = {0xFFFF, 0x1100, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_BrendanWatering, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayWatering = {0xFFFF, 0x1110, 0x1102, 512, 32, 32, 0, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MayWatering, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanDecorating = {0xFFFF, 0x1100, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BrendanDecorating, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayDecorating = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_MayDecorating, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Archie = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Archie, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maxie = {0xFFFF, 0x1104, 0x11FF, 256, 16, 32, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Maxie, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre1 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_KyogreFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon1 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_GroudonFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre3 = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_KyogreSide, gFieldObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon3 = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Groudon3, gFieldObjectPicTable_GroudonSide, gFieldObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fossil = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_S, TRUE, FALSE, TRACKS_NONE, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_Fossil, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regirock = {0xFFFF, 0x1104, 0x11FF, 512, 32, 32, 3, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regice = {0xFFFF, 0x1105, 0x11FF, 512, 32, 32, 4, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Registeel = {0xFFFF, 0x1106, 0x11FF, 512, 32, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Regi, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Skitty = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Skitty, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon1 = {0xFFFF, 0x1105, 0x11FF, 128, 16, 16, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre2 = {0xFFFF, 0x1116, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_KyogreFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon2 = {0xFFFF, 0x1118, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_GroudonFront, gFieldObjectRotScalAnimTable_KyogreGroudon}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza2 = {0xFFFF, 0x1105, 0x11FF, 2048, 64, 64, 4, SHADOW_SIZE_M, FALSE, TRUE, TRACKS_FOOT, &gFieldObjectBaseOam_64x64, gFieldObjectSpriteOamTables_64x64, gFieldObjectImageAnimTable_Rayquaza2, gFieldObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Zigzagoon = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Zigzagoon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Pikachu = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Pikachu, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azumarill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Azumarill, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wingull = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Wingull, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon2 = {0xFFFF, 0x1105, 0x1102, 128, 16, 16, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Kecleon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberMSwimming = {0xFFFF, 0x1104, 0x11FF, 128, 16, 16, 3, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_TuberMSwimming, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azurill = {0xFFFF, 0x1103, 0x11FF, 128, 16, 16, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x16, gFieldObjectSpriteOamTables_16x16, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Azurill, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mom = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Mom, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkBrendan = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_BrendanNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkMay = {0xFFFF, 0x1110, 0x1102, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_BrendanMayNormal, gFieldObjectPicTable_MayNormal, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Juan = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Juan, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scott = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Scott, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MysteryEventDeliveryman = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_MysteryEventDeliveryman, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Statue = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_Statue, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kirlia = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_S, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Kirlia, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Dusclops = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Dusclops, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnionRoomAttendant = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_UnionRoomAttendant, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Red = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Red, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Leaf = {0xFFFF, 0x111D, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Leaf, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sudowoodo = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Sudowoodo, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mew = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Mew, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Deoxys = {0xFFFF, 0x111E, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Deoxys, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirthIslandStone = {0xFFFF, 0x111F, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, TRUE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Inanimate, gFieldObjectPicTable_BirthIslandStone, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Anabel = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Anabel, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tucker = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Tucker, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Greta = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Greta, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Spenser = {0xFFFF, 0x1103, 0x11FF, 256, 16, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Spenser, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Noland = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Noland, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lucy = {0xFFFF, 0x1106, 0x11FF, 256, 16, 32, 5, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Lucy, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brandon = {0xFFFF, 0x1105, 0x11FF, 256, 16, 32, 4, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Brandon, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireBrendan = {0xFFFF, 0x1122, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RubySapphireBrendan, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireMay = {0xFFFF, 0x1123, 0x11FF, 256, 16, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_16x32, gFieldObjectSpriteOamTables_16x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_RubySapphireMay, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lugia = {0xFFFF, 0x1121, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_Standard, gFieldObjectPicTable_Lugia, gDummySpriteAffineAnimTable}; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HoOh = {0xFFFF, 0x1120, 0x11FF, 512, 32, 32, 10, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gFieldObjectBaseOam_32x32, gFieldObjectSpriteOamTables_32x32, gFieldObjectImageAnimTable_HoOh, gFieldObjectPicTable_HoOh, gDummySpriteAffineAnimTable}; +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 diff --git a/src/data/field_event_obj/event_object_graphics_info_pointers.h b/src/data/field_event_obj/event_object_graphics_info_pointers.h index 6793a9487..c0ca57b60 100755 --- a/src/data/field_event_obj/event_object_graphics_info_pointers.h +++ b/src/data/field_event_obj/event_object_graphics_info_pointers.h @@ -1,504 +1,504 @@ #ifndef GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H #define GUARD_EVENT_OBJECT_GRAPHICS_INFO_POINTERS_H -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanNormal; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanMachBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanSurfing; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFieldMove; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_QuintyPlump; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleBoy2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LittleGirl2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy3; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Girl3; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy4; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FatMan; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman3; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman4; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man3; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman5; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cook; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman6; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldMan2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_OldWoman2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Camper; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Picnicker; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man4; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Woman7; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Youngster; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BugCatcher; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PsychicM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SchoolKidM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maniac; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HexManiac; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwimmerF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BlackBelt; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Beauty; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lass; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Gentleman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sailor; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fisherman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RunningTriathleteF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hiker; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyclingTriathleteF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Nurse; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ItemBall; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTree; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeEarlyStages; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BerryTreeLateStages; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanAcroBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ProfBirch; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man5; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man6; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ReporterF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Bard; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Anabel; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tucker; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Greta; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Spenser; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Noland; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lucy; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedNatuDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMagnemiteDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedSquirtleDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedWooperDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPikachuDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedPorygon2Doll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CuttableTree; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MartEmployee; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RooftopSaleWoman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Teala; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BreakableRock; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PushableBoulder; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MrBrineysBoat; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayNormal; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayMachBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayAcroBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MaySurfing; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFieldMove; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Truck; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothCarryingBox; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_VigorothFacingAway; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirchsBag; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_EnemyZigzagoon; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Artist; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanNormal; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanMachBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanAcroBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanSurfing; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalBrendanFieldMove; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayNormal; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayMachBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayAcroBike; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMaySurfing; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RivalMayFieldMove; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Cameraman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanUnderwater; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayUnderwater; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MovingBox; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CableCar; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scientist2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Man7; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AquaMemberF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberM; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MagmaMemberF; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sidney; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Phoebe; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Glacia; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Drake; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Roxanne; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brawly; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wattson; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Flannery; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Norman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Winona; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Liza; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Tate; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wallace; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Steven; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wally; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireLittleBoy; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanFishing; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayFishing; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HotSpringsOldWoman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SSTidal; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SubmarineShadow; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PichuDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikachuDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MarillDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TogepiDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_CyndaquilDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ChikoritaDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TotodileDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_JigglypuffDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MeowthDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ClefairyDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DittoDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SmoochumDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TreeckoDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TorchicDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MudkipDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DuskullDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WynautDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BaltoyDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KecleonDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_AzurillDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SkittyDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SwabluDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GulpinDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LotadDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SeedotDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_PikaCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RoundCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_KissCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ZigzagCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_SpinCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_DiamondCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BallCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_GrassCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_FireCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_WaterCushion; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigSnorlaxDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRhydonDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigLaprasDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigVenusaurDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigCharizardDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigBlastoiseDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigWailmerDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegirockDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegiceDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BigRegisteelDoll; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latias; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Latios; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Boy5; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_ContestOldMan; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanWatering; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayWatering; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BrendanDecorating; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MayDecorating; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Archie; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Maxie; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Fossil; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regirock; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Regice; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Registeel; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Skitty; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Rayquaza2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Zigzagoon; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Pikachu; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azumarill; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Wingull; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kecleon2; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_TuberMSwimming; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Azurill; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mom; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkBrendan; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_LinkMay; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Juan; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Scott; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Poochyena; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kyogre3; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Groudon3; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_MysteryEventDeliveryman; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Statue; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Kirlia; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Dusclops; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnionRoomAttendant; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Sudowoodo; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Mew; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Red; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Leaf; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Deoxys; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_BirthIslandStone; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Brandon; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireBrendan; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_RubySapphireMay; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Lugia; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_HoOh; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Bard; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Hipster; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Trader; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Storyteller; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_Giddy; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan1; -const struct MapObjectGraphicsInfo gFieldObjectGraphicsInfo_UnusedMauvilleOldMan2; +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 MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[] = { - &gFieldObjectGraphicsInfo_BrendanNormal, - &gFieldObjectGraphicsInfo_BrendanMachBike, - &gFieldObjectGraphicsInfo_BrendanSurfing, - &gFieldObjectGraphicsInfo_BrendanFieldMove, - &gFieldObjectGraphicsInfo_QuintyPlump, - &gFieldObjectGraphicsInfo_LittleBoy1, - &gFieldObjectGraphicsInfo_LittleGirl1, - &gFieldObjectGraphicsInfo_Boy1, - &gFieldObjectGraphicsInfo_Girl1, - &gFieldObjectGraphicsInfo_Boy2, - &gFieldObjectGraphicsInfo_Girl2, - &gFieldObjectGraphicsInfo_LittleBoy2, - &gFieldObjectGraphicsInfo_LittleGirl2, - &gFieldObjectGraphicsInfo_Boy3, - &gFieldObjectGraphicsInfo_Girl3, - &gFieldObjectGraphicsInfo_Boy4, - &gFieldObjectGraphicsInfo_Woman1, - &gFieldObjectGraphicsInfo_FatMan, - &gFieldObjectGraphicsInfo_Woman2, - &gFieldObjectGraphicsInfo_Man1, - &gFieldObjectGraphicsInfo_Woman3, - &gFieldObjectGraphicsInfo_OldMan1, - &gFieldObjectGraphicsInfo_OldWoman1, - &gFieldObjectGraphicsInfo_Man2, - &gFieldObjectGraphicsInfo_Woman4, - &gFieldObjectGraphicsInfo_Man3, - &gFieldObjectGraphicsInfo_Woman5, - &gFieldObjectGraphicsInfo_Cook, - &gFieldObjectGraphicsInfo_Woman6, - &gFieldObjectGraphicsInfo_OldMan2, - &gFieldObjectGraphicsInfo_OldWoman2, - &gFieldObjectGraphicsInfo_Camper, - &gFieldObjectGraphicsInfo_Picnicker, - &gFieldObjectGraphicsInfo_Man4, - &gFieldObjectGraphicsInfo_Woman7, - &gFieldObjectGraphicsInfo_Youngster, - &gFieldObjectGraphicsInfo_BugCatcher, - &gFieldObjectGraphicsInfo_PsychicM, - &gFieldObjectGraphicsInfo_SchoolKidM, - &gFieldObjectGraphicsInfo_Maniac, - &gFieldObjectGraphicsInfo_HexManiac, - &gFieldObjectGraphicsInfo_Rayquaza1, - &gFieldObjectGraphicsInfo_SwimmerM, - &gFieldObjectGraphicsInfo_SwimmerF, - &gFieldObjectGraphicsInfo_BlackBelt, - &gFieldObjectGraphicsInfo_Beauty, - &gFieldObjectGraphicsInfo_Scientist1, - &gFieldObjectGraphicsInfo_Lass, - &gFieldObjectGraphicsInfo_Gentleman, - &gFieldObjectGraphicsInfo_Sailor, - &gFieldObjectGraphicsInfo_Fisherman, - &gFieldObjectGraphicsInfo_RunningTriathleteM, - &gFieldObjectGraphicsInfo_RunningTriathleteF, - &gFieldObjectGraphicsInfo_TuberF, - &gFieldObjectGraphicsInfo_TuberM, - &gFieldObjectGraphicsInfo_Hiker, - &gFieldObjectGraphicsInfo_CyclingTriathleteM, - &gFieldObjectGraphicsInfo_CyclingTriathleteF, - &gFieldObjectGraphicsInfo_Nurse, - &gFieldObjectGraphicsInfo_ItemBall, - &gFieldObjectGraphicsInfo_BerryTree, - &gFieldObjectGraphicsInfo_BerryTreeEarlyStages, - &gFieldObjectGraphicsInfo_BerryTreeLateStages, - &gFieldObjectGraphicsInfo_BrendanAcroBike, - &gFieldObjectGraphicsInfo_ProfBirch, - &gFieldObjectGraphicsInfo_Man5, - &gFieldObjectGraphicsInfo_Man6, - &gFieldObjectGraphicsInfo_ReporterM, - &gFieldObjectGraphicsInfo_ReporterF, - &gFieldObjectGraphicsInfo_Bard, - &gFieldObjectGraphicsInfo_Anabel, - &gFieldObjectGraphicsInfo_Tucker, - &gFieldObjectGraphicsInfo_Greta, - &gFieldObjectGraphicsInfo_Spenser, - &gFieldObjectGraphicsInfo_Noland, - &gFieldObjectGraphicsInfo_Lucy, - &gFieldObjectGraphicsInfo_UnusedNatuDoll, - &gFieldObjectGraphicsInfo_UnusedMagnemiteDoll, - &gFieldObjectGraphicsInfo_UnusedSquirtleDoll, - &gFieldObjectGraphicsInfo_UnusedWooperDoll, - &gFieldObjectGraphicsInfo_UnusedPikachuDoll, - &gFieldObjectGraphicsInfo_UnusedPorygon2Doll, - &gFieldObjectGraphicsInfo_CuttableTree, - &gFieldObjectGraphicsInfo_MartEmployee, - &gFieldObjectGraphicsInfo_RooftopSaleWoman, - &gFieldObjectGraphicsInfo_Teala, - &gFieldObjectGraphicsInfo_BreakableRock, - &gFieldObjectGraphicsInfo_PushableBoulder, - &gFieldObjectGraphicsInfo_MrBrineysBoat, - &gFieldObjectGraphicsInfo_MayNormal, - &gFieldObjectGraphicsInfo_MayMachBike, - &gFieldObjectGraphicsInfo_MayAcroBike, - &gFieldObjectGraphicsInfo_MaySurfing, - &gFieldObjectGraphicsInfo_MayFieldMove, - &gFieldObjectGraphicsInfo_Truck, - &gFieldObjectGraphicsInfo_VigorothCarryingBox, - &gFieldObjectGraphicsInfo_VigorothFacingAway, - &gFieldObjectGraphicsInfo_BirchsBag, - &gFieldObjectGraphicsInfo_EnemyZigzagoon, - &gFieldObjectGraphicsInfo_Artist, - &gFieldObjectGraphicsInfo_RivalBrendanNormal, - &gFieldObjectGraphicsInfo_RivalBrendanMachBike, - &gFieldObjectGraphicsInfo_RivalBrendanAcroBike, - &gFieldObjectGraphicsInfo_RivalBrendanSurfing, - &gFieldObjectGraphicsInfo_RivalBrendanFieldMove, - &gFieldObjectGraphicsInfo_RivalMayNormal, - &gFieldObjectGraphicsInfo_RivalMayMachBike, - &gFieldObjectGraphicsInfo_RivalMayAcroBike, - &gFieldObjectGraphicsInfo_RivalMaySurfing, - &gFieldObjectGraphicsInfo_RivalMayFieldMove, - &gFieldObjectGraphicsInfo_Cameraman, - &gFieldObjectGraphicsInfo_BrendanUnderwater, - &gFieldObjectGraphicsInfo_MayUnderwater, - &gFieldObjectGraphicsInfo_MovingBox, - &gFieldObjectGraphicsInfo_CableCar, - &gFieldObjectGraphicsInfo_Scientist2, - &gFieldObjectGraphicsInfo_Man7, - &gFieldObjectGraphicsInfo_AquaMemberM, - &gFieldObjectGraphicsInfo_AquaMemberF, - &gFieldObjectGraphicsInfo_MagmaMemberM, - &gFieldObjectGraphicsInfo_MagmaMemberF, - &gFieldObjectGraphicsInfo_Sidney, - &gFieldObjectGraphicsInfo_Phoebe, - &gFieldObjectGraphicsInfo_Glacia, - &gFieldObjectGraphicsInfo_Drake, - &gFieldObjectGraphicsInfo_Roxanne, - &gFieldObjectGraphicsInfo_Brawly, - &gFieldObjectGraphicsInfo_Wattson, - &gFieldObjectGraphicsInfo_Flannery, - &gFieldObjectGraphicsInfo_Norman, - &gFieldObjectGraphicsInfo_Winona, - &gFieldObjectGraphicsInfo_Liza, - &gFieldObjectGraphicsInfo_Tate, - &gFieldObjectGraphicsInfo_Wallace, - &gFieldObjectGraphicsInfo_Steven, - &gFieldObjectGraphicsInfo_Wally, - &gFieldObjectGraphicsInfo_RubySapphireLittleBoy, - &gFieldObjectGraphicsInfo_BrendanFishing, - &gFieldObjectGraphicsInfo_MayFishing, - &gFieldObjectGraphicsInfo_HotSpringsOldWoman, - &gFieldObjectGraphicsInfo_SSTidal, - &gFieldObjectGraphicsInfo_SubmarineShadow, - &gFieldObjectGraphicsInfo_PichuDoll, - &gFieldObjectGraphicsInfo_PikachuDoll, - &gFieldObjectGraphicsInfo_MarillDoll, - &gFieldObjectGraphicsInfo_TogepiDoll, - &gFieldObjectGraphicsInfo_CyndaquilDoll, - &gFieldObjectGraphicsInfo_ChikoritaDoll, - &gFieldObjectGraphicsInfo_TotodileDoll, - &gFieldObjectGraphicsInfo_JigglypuffDoll, - &gFieldObjectGraphicsInfo_MeowthDoll, - &gFieldObjectGraphicsInfo_ClefairyDoll, - &gFieldObjectGraphicsInfo_DittoDoll, - &gFieldObjectGraphicsInfo_SmoochumDoll, - &gFieldObjectGraphicsInfo_TreeckoDoll, - &gFieldObjectGraphicsInfo_TorchicDoll, - &gFieldObjectGraphicsInfo_MudkipDoll, - &gFieldObjectGraphicsInfo_DuskullDoll, - &gFieldObjectGraphicsInfo_WynautDoll, - &gFieldObjectGraphicsInfo_BaltoyDoll, - &gFieldObjectGraphicsInfo_KecleonDoll, - &gFieldObjectGraphicsInfo_AzurillDoll, - &gFieldObjectGraphicsInfo_SkittyDoll, - &gFieldObjectGraphicsInfo_SwabluDoll, - &gFieldObjectGraphicsInfo_GulpinDoll, - &gFieldObjectGraphicsInfo_LotadDoll, - &gFieldObjectGraphicsInfo_SeedotDoll, - &gFieldObjectGraphicsInfo_PikaCushion, - &gFieldObjectGraphicsInfo_RoundCushion, - &gFieldObjectGraphicsInfo_KissCushion, - &gFieldObjectGraphicsInfo_ZigzagCushion, - &gFieldObjectGraphicsInfo_SpinCushion, - &gFieldObjectGraphicsInfo_DiamondCushion, - &gFieldObjectGraphicsInfo_BallCushion, - &gFieldObjectGraphicsInfo_GrassCushion, - &gFieldObjectGraphicsInfo_FireCushion, - &gFieldObjectGraphicsInfo_WaterCushion, - &gFieldObjectGraphicsInfo_BigSnorlaxDoll, - &gFieldObjectGraphicsInfo_BigRhydonDoll, - &gFieldObjectGraphicsInfo_BigLaprasDoll, - &gFieldObjectGraphicsInfo_BigVenusaurDoll, - &gFieldObjectGraphicsInfo_BigCharizardDoll, - &gFieldObjectGraphicsInfo_BigBlastoiseDoll, - &gFieldObjectGraphicsInfo_BigWailmerDoll, - &gFieldObjectGraphicsInfo_BigRegirockDoll, - &gFieldObjectGraphicsInfo_BigRegiceDoll, - &gFieldObjectGraphicsInfo_BigRegisteelDoll, - &gFieldObjectGraphicsInfo_Latias, - &gFieldObjectGraphicsInfo_Latios, - &gFieldObjectGraphicsInfo_Boy5, - &gFieldObjectGraphicsInfo_ContestOldMan, - &gFieldObjectGraphicsInfo_BrendanWatering, - &gFieldObjectGraphicsInfo_MayWatering, - &gFieldObjectGraphicsInfo_BrendanDecorating, - &gFieldObjectGraphicsInfo_MayDecorating, - &gFieldObjectGraphicsInfo_Archie, - &gFieldObjectGraphicsInfo_Maxie, - &gFieldObjectGraphicsInfo_Kyogre1, - &gFieldObjectGraphicsInfo_Groudon1, - &gFieldObjectGraphicsInfo_Fossil, - &gFieldObjectGraphicsInfo_Regirock, - &gFieldObjectGraphicsInfo_Regice, - &gFieldObjectGraphicsInfo_Registeel, - &gFieldObjectGraphicsInfo_Skitty, - &gFieldObjectGraphicsInfo_Kecleon1, - &gFieldObjectGraphicsInfo_Kyogre2, - &gFieldObjectGraphicsInfo_Groudon2, - &gFieldObjectGraphicsInfo_Rayquaza2, - &gFieldObjectGraphicsInfo_Zigzagoon, - &gFieldObjectGraphicsInfo_Pikachu, - &gFieldObjectGraphicsInfo_Azumarill, - &gFieldObjectGraphicsInfo_Wingull, - &gFieldObjectGraphicsInfo_Kecleon2, - &gFieldObjectGraphicsInfo_TuberMSwimming, - &gFieldObjectGraphicsInfo_Azurill, - &gFieldObjectGraphicsInfo_Mom, - &gFieldObjectGraphicsInfo_LinkBrendan, - &gFieldObjectGraphicsInfo_LinkMay, - &gFieldObjectGraphicsInfo_Juan, - &gFieldObjectGraphicsInfo_Scott, - &gFieldObjectGraphicsInfo_Poochyena, - &gFieldObjectGraphicsInfo_Kyogre3, - &gFieldObjectGraphicsInfo_Groudon3, - &gFieldObjectGraphicsInfo_MysteryEventDeliveryman, - &gFieldObjectGraphicsInfo_Statue, - &gFieldObjectGraphicsInfo_Kirlia, - &gFieldObjectGraphicsInfo_Dusclops, - &gFieldObjectGraphicsInfo_UnionRoomAttendant, - &gFieldObjectGraphicsInfo_Sudowoodo, - &gFieldObjectGraphicsInfo_Mew, - &gFieldObjectGraphicsInfo_Red, - &gFieldObjectGraphicsInfo_Leaf, - &gFieldObjectGraphicsInfo_Deoxys, - &gFieldObjectGraphicsInfo_BirthIslandStone, - &gFieldObjectGraphicsInfo_Brandon, - &gFieldObjectGraphicsInfo_RubySapphireBrendan, - &gFieldObjectGraphicsInfo_RubySapphireMay, - &gFieldObjectGraphicsInfo_Lugia, - &gFieldObjectGraphicsInfo_HoOh, +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 MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = { - &gFieldObjectGraphicsInfo_Bard, - &gFieldObjectGraphicsInfo_Hipster, - &gFieldObjectGraphicsInfo_Trader, - &gFieldObjectGraphicsInfo_Storyteller, - &gFieldObjectGraphicsInfo_Giddy, - &gFieldObjectGraphicsInfo_UnusedMauvilleOldMan1, - &gFieldObjectGraphicsInfo_UnusedMauvilleOldMan2, +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 diff --git a/src/data/field_event_obj/event_object_pic_tables.h b/src/data/field_event_obj/event_object_pic_tables.h index f5d6a24c3..892af7e9b 100755 --- a/src/data/field_event_obj/event_object_pic_tables.h +++ b/src/data/field_event_obj/event_object_pic_tables.h @@ -1,2179 +1,2179 @@ #ifndef GUARD_EVENT_OBJECT_PIC_TABLES_H #define GUARD_EVENT_OBJECT_PIC_TABLES_H -const struct SpriteFrameImage gFieldObjectPicTable_BrendanNormal[] = { - obj_frame_tiles(gFieldObjectPic_BrendanNormal_0), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_1), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_2), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_3), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_4), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_5), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_6), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_7), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_8), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_9), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_10), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_11), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_12), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_13), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_14), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_15), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_16), - obj_frame_tiles(gFieldObjectPic_BrendanNormal_17), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BrendanMachBike[] = { - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_0), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_1), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_2), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_3), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_4), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_5), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_6), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_7), - obj_frame_tiles(gFieldObjectPic_BrendanMachBike_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BrendanAcroBike[] = { - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_0), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_1), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_2), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_3), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_4), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_5), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_6), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_7), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_8), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_9), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_10), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_11), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_12), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_13), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_14), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_15), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_16), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_17), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_18), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_19), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_20), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_21), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_22), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_23), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_24), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_25), - obj_frame_tiles(gFieldObjectPic_BrendanAcroBike_26), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BrendanSurfing[] = { - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_0), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_1), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_2), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_0), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_0), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_1), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_1), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_2), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_2), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_3), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_4), - obj_frame_tiles(gFieldObjectPic_BrendanSurfing_5), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BrendanUnderwater[] = { - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_2), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_0), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_1), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_2), - obj_frame_tiles(gFieldObjectPic_BrendanUnderwater_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BrendanFieldMove[] = { - obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_0), - obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_1), - obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_2), - obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_3), - obj_frame_tiles(gFieldObjectPic_BrendanFieldMove_4), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_QuintyPlump[] = { - obj_frame_tiles(gFieldObjectPic_QuintyPlump_0), - obj_frame_tiles(gFieldObjectPic_QuintyPlump_1), - obj_frame_tiles(gFieldObjectPic_QuintyPlump_2), - obj_frame_tiles(gFieldObjectPic_QuintyPlump_3), - obj_frame_tiles(gFieldObjectPic_QuintyPlump_4), - obj_frame_tiles(gFieldObjectPic_QuintyPlump_5), - obj_frame_tiles(gFieldObjectPic_QuintyPlump_6), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_LittleBoy1[] = { - obj_frame_tiles(gFieldObjectPic_LittleBoy1_0), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_1), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_2), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_3), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_4), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_5), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_6), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_7), - obj_frame_tiles(gFieldObjectPic_LittleBoy1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_LittleGirl1[] = { - obj_frame_tiles(gFieldObjectPic_LittleGirl1_0), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_1), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_2), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_3), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_4), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_5), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_6), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_7), - obj_frame_tiles(gFieldObjectPic_LittleGirl1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Boy1[] = { - obj_frame_tiles(gFieldObjectPic_Boy1_0), - obj_frame_tiles(gFieldObjectPic_Boy1_1), - obj_frame_tiles(gFieldObjectPic_Boy1_2), - obj_frame_tiles(gFieldObjectPic_Boy1_3), - obj_frame_tiles(gFieldObjectPic_Boy1_4), - obj_frame_tiles(gFieldObjectPic_Boy1_5), - obj_frame_tiles(gFieldObjectPic_Boy1_6), - obj_frame_tiles(gFieldObjectPic_Boy1_7), - obj_frame_tiles(gFieldObjectPic_Boy1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Girl1[] = { - obj_frame_tiles(gFieldObjectPic_Girl1_0), - obj_frame_tiles(gFieldObjectPic_Girl1_1), - obj_frame_tiles(gFieldObjectPic_Girl1_2), - obj_frame_tiles(gFieldObjectPic_Girl1_3), - obj_frame_tiles(gFieldObjectPic_Girl1_4), - obj_frame_tiles(gFieldObjectPic_Girl1_5), - obj_frame_tiles(gFieldObjectPic_Girl1_6), - obj_frame_tiles(gFieldObjectPic_Girl1_7), - obj_frame_tiles(gFieldObjectPic_Girl1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Boy2[] = { - obj_frame_tiles(gFieldObjectPic_Boy2_0), - obj_frame_tiles(gFieldObjectPic_Boy2_1), - obj_frame_tiles(gFieldObjectPic_Boy2_2), - obj_frame_tiles(gFieldObjectPic_Boy2_3), - obj_frame_tiles(gFieldObjectPic_Boy2_4), - obj_frame_tiles(gFieldObjectPic_Boy2_5), - obj_frame_tiles(gFieldObjectPic_Boy2_6), - obj_frame_tiles(gFieldObjectPic_Boy2_7), - obj_frame_tiles(gFieldObjectPic_Boy2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Girl2[] = { - obj_frame_tiles(gFieldObjectPic_Girl2_0), - obj_frame_tiles(gFieldObjectPic_Girl2_1), - obj_frame_tiles(gFieldObjectPic_Girl2_2), - obj_frame_tiles(gFieldObjectPic_Girl2_3), - obj_frame_tiles(gFieldObjectPic_Girl2_4), - obj_frame_tiles(gFieldObjectPic_Girl2_5), - obj_frame_tiles(gFieldObjectPic_Girl2_6), - obj_frame_tiles(gFieldObjectPic_Girl2_7), - obj_frame_tiles(gFieldObjectPic_Girl2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_LittleBoy2[] = { - obj_frame_tiles(gFieldObjectPic_LittleBoy2_0), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_1), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_2), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_3), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_4), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_5), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_6), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_7), - obj_frame_tiles(gFieldObjectPic_LittleBoy2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_LittleGirl2[] = { - obj_frame_tiles(gFieldObjectPic_LittleGirl2_0), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_1), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_2), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_3), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_4), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_5), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_6), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_7), - obj_frame_tiles(gFieldObjectPic_LittleGirl2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Boy3[] = { - obj_frame_tiles(gFieldObjectPic_Boy3_0), - obj_frame_tiles(gFieldObjectPic_Boy3_1), - obj_frame_tiles(gFieldObjectPic_Boy3_2), - obj_frame_tiles(gFieldObjectPic_Boy3_3), - obj_frame_tiles(gFieldObjectPic_Boy3_4), - obj_frame_tiles(gFieldObjectPic_Boy3_5), - obj_frame_tiles(gFieldObjectPic_Boy3_6), - obj_frame_tiles(gFieldObjectPic_Boy3_7), - obj_frame_tiles(gFieldObjectPic_Boy3_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Girl3[] = { - obj_frame_tiles(gFieldObjectPic_Girl3_0), - obj_frame_tiles(gFieldObjectPic_Girl3_1), - obj_frame_tiles(gFieldObjectPic_Girl3_2), - obj_frame_tiles(gFieldObjectPic_Girl3_3), - obj_frame_tiles(gFieldObjectPic_Girl3_4), - obj_frame_tiles(gFieldObjectPic_Girl3_5), - obj_frame_tiles(gFieldObjectPic_Girl3_6), - obj_frame_tiles(gFieldObjectPic_Girl3_7), - obj_frame_tiles(gFieldObjectPic_Girl3_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Boy4[] = { - obj_frame_tiles(gFieldObjectPic_Boy4_0), - obj_frame_tiles(gFieldObjectPic_Boy4_1), - obj_frame_tiles(gFieldObjectPic_Boy4_2), - obj_frame_tiles(gFieldObjectPic_Boy4_3), - obj_frame_tiles(gFieldObjectPic_Boy4_4), - obj_frame_tiles(gFieldObjectPic_Boy4_5), - obj_frame_tiles(gFieldObjectPic_Boy4_6), - obj_frame_tiles(gFieldObjectPic_Boy4_7), - obj_frame_tiles(gFieldObjectPic_Boy4_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman1[] = { - obj_frame_tiles(gFieldObjectPic_Woman1_0), - obj_frame_tiles(gFieldObjectPic_Woman1_1), - obj_frame_tiles(gFieldObjectPic_Woman1_2), - obj_frame_tiles(gFieldObjectPic_Woman1_3), - obj_frame_tiles(gFieldObjectPic_Woman1_4), - obj_frame_tiles(gFieldObjectPic_Woman1_5), - obj_frame_tiles(gFieldObjectPic_Woman1_6), - obj_frame_tiles(gFieldObjectPic_Woman1_7), - obj_frame_tiles(gFieldObjectPic_Woman1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_FatMan[] = { - obj_frame_tiles(gFieldObjectPic_FatMan_0), - obj_frame_tiles(gFieldObjectPic_FatMan_1), - obj_frame_tiles(gFieldObjectPic_FatMan_2), - obj_frame_tiles(gFieldObjectPic_FatMan_3), - obj_frame_tiles(gFieldObjectPic_FatMan_4), - obj_frame_tiles(gFieldObjectPic_FatMan_5), - obj_frame_tiles(gFieldObjectPic_FatMan_6), - obj_frame_tiles(gFieldObjectPic_FatMan_7), - obj_frame_tiles(gFieldObjectPic_FatMan_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman2[] = { - obj_frame_tiles(gFieldObjectPic_Woman2_0), - obj_frame_tiles(gFieldObjectPic_Woman2_1), - obj_frame_tiles(gFieldObjectPic_Woman2_2), - obj_frame_tiles(gFieldObjectPic_Woman2_3), - obj_frame_tiles(gFieldObjectPic_Woman2_4), - obj_frame_tiles(gFieldObjectPic_Woman2_5), - obj_frame_tiles(gFieldObjectPic_Woman2_6), - obj_frame_tiles(gFieldObjectPic_Woman2_7), - obj_frame_tiles(gFieldObjectPic_Woman2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man1[] = { - obj_frame_tiles(gFieldObjectPic_Man1_0), - obj_frame_tiles(gFieldObjectPic_Man1_1), - obj_frame_tiles(gFieldObjectPic_Man1_2), - obj_frame_tiles(gFieldObjectPic_Man1_3), - obj_frame_tiles(gFieldObjectPic_Man1_4), - obj_frame_tiles(gFieldObjectPic_Man1_5), - obj_frame_tiles(gFieldObjectPic_Man1_6), - obj_frame_tiles(gFieldObjectPic_Man1_7), - obj_frame_tiles(gFieldObjectPic_Man1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman3[] = { - obj_frame_tiles(gFieldObjectPic_Woman3_0), - obj_frame_tiles(gFieldObjectPic_Woman3_1), - obj_frame_tiles(gFieldObjectPic_Woman3_2), - obj_frame_tiles(gFieldObjectPic_Woman3_3), - obj_frame_tiles(gFieldObjectPic_Woman3_4), - obj_frame_tiles(gFieldObjectPic_Woman3_5), - obj_frame_tiles(gFieldObjectPic_Woman3_6), - obj_frame_tiles(gFieldObjectPic_Woman3_7), - obj_frame_tiles(gFieldObjectPic_Woman3_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_OldMan1[] = { - obj_frame_tiles(gFieldObjectPic_OldMan1_0), - obj_frame_tiles(gFieldObjectPic_OldMan1_1), - obj_frame_tiles(gFieldObjectPic_OldMan1_2), - obj_frame_tiles(gFieldObjectPic_OldMan1_3), - obj_frame_tiles(gFieldObjectPic_OldMan1_4), - obj_frame_tiles(gFieldObjectPic_OldMan1_5), - obj_frame_tiles(gFieldObjectPic_OldMan1_6), - obj_frame_tiles(gFieldObjectPic_OldMan1_7), - obj_frame_tiles(gFieldObjectPic_OldMan1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_OldWoman1[] = { - obj_frame_tiles(gFieldObjectPic_OldWoman1_0), - obj_frame_tiles(gFieldObjectPic_OldWoman1_1), - obj_frame_tiles(gFieldObjectPic_OldWoman1_2), - obj_frame_tiles(gFieldObjectPic_OldWoman1_3), - obj_frame_tiles(gFieldObjectPic_OldWoman1_4), - obj_frame_tiles(gFieldObjectPic_OldWoman1_5), - obj_frame_tiles(gFieldObjectPic_OldWoman1_6), - obj_frame_tiles(gFieldObjectPic_OldWoman1_7), - obj_frame_tiles(gFieldObjectPic_OldWoman1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man2[] = { - obj_frame_tiles(gFieldObjectPic_Man2_0), - obj_frame_tiles(gFieldObjectPic_Man2_1), - obj_frame_tiles(gFieldObjectPic_Man2_2), - obj_frame_tiles(gFieldObjectPic_Man2_3), - obj_frame_tiles(gFieldObjectPic_Man2_4), - obj_frame_tiles(gFieldObjectPic_Man2_5), - obj_frame_tiles(gFieldObjectPic_Man2_6), - obj_frame_tiles(gFieldObjectPic_Man2_7), - obj_frame_tiles(gFieldObjectPic_Man2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman4[] = { - obj_frame_tiles(gFieldObjectPic_Woman4_0), - obj_frame_tiles(gFieldObjectPic_Woman4_1), - obj_frame_tiles(gFieldObjectPic_Woman4_2), - obj_frame_tiles(gFieldObjectPic_Woman4_3), - obj_frame_tiles(gFieldObjectPic_Woman4_4), - obj_frame_tiles(gFieldObjectPic_Woman4_5), - obj_frame_tiles(gFieldObjectPic_Woman4_6), - obj_frame_tiles(gFieldObjectPic_Woman4_7), - obj_frame_tiles(gFieldObjectPic_Woman4_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man3[] = { - obj_frame_tiles(gFieldObjectPic_Man3_0), - obj_frame_tiles(gFieldObjectPic_Man3_1), - obj_frame_tiles(gFieldObjectPic_Man3_2), - obj_frame_tiles(gFieldObjectPic_Man3_3), - obj_frame_tiles(gFieldObjectPic_Man3_4), - obj_frame_tiles(gFieldObjectPic_Man3_5), - obj_frame_tiles(gFieldObjectPic_Man3_6), - obj_frame_tiles(gFieldObjectPic_Man3_7), - obj_frame_tiles(gFieldObjectPic_Man3_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman5[] = { - obj_frame_tiles(gFieldObjectPic_Woman5_0), - obj_frame_tiles(gFieldObjectPic_Woman5_1), - obj_frame_tiles(gFieldObjectPic_Woman5_2), - obj_frame_tiles(gFieldObjectPic_Woman5_3), - obj_frame_tiles(gFieldObjectPic_Woman5_4), - obj_frame_tiles(gFieldObjectPic_Woman5_5), - obj_frame_tiles(gFieldObjectPic_Woman5_6), - obj_frame_tiles(gFieldObjectPic_Woman5_7), - obj_frame_tiles(gFieldObjectPic_Woman5_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Cook[] = { - obj_frame_tiles(gFieldObjectPic_Cook_0), - obj_frame_tiles(gFieldObjectPic_Cook_1), - obj_frame_tiles(gFieldObjectPic_Cook_2), - obj_frame_tiles(gFieldObjectPic_Cook_0), - obj_frame_tiles(gFieldObjectPic_Cook_0), - obj_frame_tiles(gFieldObjectPic_Cook_1), - obj_frame_tiles(gFieldObjectPic_Cook_1), - obj_frame_tiles(gFieldObjectPic_Cook_2), - obj_frame_tiles(gFieldObjectPic_Cook_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman6[] = { - obj_frame_tiles(gFieldObjectPic_Woman6_0), - obj_frame_tiles(gFieldObjectPic_Woman6_1), - obj_frame_tiles(gFieldObjectPic_Woman6_2), - obj_frame_tiles(gFieldObjectPic_Woman6_3), - obj_frame_tiles(gFieldObjectPic_Woman6_4), - obj_frame_tiles(gFieldObjectPic_Woman6_5), - obj_frame_tiles(gFieldObjectPic_Woman6_6), - obj_frame_tiles(gFieldObjectPic_Woman6_7), - obj_frame_tiles(gFieldObjectPic_Woman6_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_OldMan2[] = { - obj_frame_tiles(gFieldObjectPic_OldMan2_0), - obj_frame_tiles(gFieldObjectPic_OldMan2_1), - obj_frame_tiles(gFieldObjectPic_OldMan2_2), - obj_frame_tiles(gFieldObjectPic_OldMan2_0), - obj_frame_tiles(gFieldObjectPic_OldMan2_0), - obj_frame_tiles(gFieldObjectPic_OldMan2_1), - obj_frame_tiles(gFieldObjectPic_OldMan2_1), - obj_frame_tiles(gFieldObjectPic_OldMan2_2), - obj_frame_tiles(gFieldObjectPic_OldMan2_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_OldWoman2[] = { - obj_frame_tiles(gFieldObjectPic_OldWoman2_0), - obj_frame_tiles(gFieldObjectPic_OldWoman2_1), - obj_frame_tiles(gFieldObjectPic_OldWoman2_2), - obj_frame_tiles(gFieldObjectPic_OldWoman2_3), - obj_frame_tiles(gFieldObjectPic_OldWoman2_4), - obj_frame_tiles(gFieldObjectPic_OldWoman2_5), - obj_frame_tiles(gFieldObjectPic_OldWoman2_6), - obj_frame_tiles(gFieldObjectPic_OldWoman2_7), - obj_frame_tiles(gFieldObjectPic_OldWoman2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Camper[] = { - obj_frame_tiles(gFieldObjectPic_Camper_0), - obj_frame_tiles(gFieldObjectPic_Camper_1), - obj_frame_tiles(gFieldObjectPic_Camper_2), - obj_frame_tiles(gFieldObjectPic_Camper_3), - obj_frame_tiles(gFieldObjectPic_Camper_4), - obj_frame_tiles(gFieldObjectPic_Camper_5), - obj_frame_tiles(gFieldObjectPic_Camper_6), - obj_frame_tiles(gFieldObjectPic_Camper_7), - obj_frame_tiles(gFieldObjectPic_Camper_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Picnicker[] = { - obj_frame_tiles(gFieldObjectPic_Picnicker_0), - obj_frame_tiles(gFieldObjectPic_Picnicker_1), - obj_frame_tiles(gFieldObjectPic_Picnicker_2), - obj_frame_tiles(gFieldObjectPic_Picnicker_3), - obj_frame_tiles(gFieldObjectPic_Picnicker_4), - obj_frame_tiles(gFieldObjectPic_Picnicker_5), - obj_frame_tiles(gFieldObjectPic_Picnicker_6), - obj_frame_tiles(gFieldObjectPic_Picnicker_7), - obj_frame_tiles(gFieldObjectPic_Picnicker_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man4[] = { - obj_frame_tiles(gFieldObjectPic_Man4_0), - obj_frame_tiles(gFieldObjectPic_Man4_1), - obj_frame_tiles(gFieldObjectPic_Man4_2), - obj_frame_tiles(gFieldObjectPic_Man4_3), - obj_frame_tiles(gFieldObjectPic_Man4_4), - obj_frame_tiles(gFieldObjectPic_Man4_5), - obj_frame_tiles(gFieldObjectPic_Man4_6), - obj_frame_tiles(gFieldObjectPic_Man4_7), - obj_frame_tiles(gFieldObjectPic_Man4_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Woman7[] = { - obj_frame_tiles(gFieldObjectPic_Woman7_0), - obj_frame_tiles(gFieldObjectPic_Woman7_1), - obj_frame_tiles(gFieldObjectPic_Woman7_2), - obj_frame_tiles(gFieldObjectPic_Woman7_3), - obj_frame_tiles(gFieldObjectPic_Woman7_4), - obj_frame_tiles(gFieldObjectPic_Woman7_5), - obj_frame_tiles(gFieldObjectPic_Woman7_6), - obj_frame_tiles(gFieldObjectPic_Woman7_7), - obj_frame_tiles(gFieldObjectPic_Woman7_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Youngster[] = { - obj_frame_tiles(gFieldObjectPic_Youngster_0), - obj_frame_tiles(gFieldObjectPic_Youngster_1), - obj_frame_tiles(gFieldObjectPic_Youngster_2), - obj_frame_tiles(gFieldObjectPic_Youngster_3), - obj_frame_tiles(gFieldObjectPic_Youngster_4), - obj_frame_tiles(gFieldObjectPic_Youngster_5), - obj_frame_tiles(gFieldObjectPic_Youngster_6), - obj_frame_tiles(gFieldObjectPic_Youngster_7), - obj_frame_tiles(gFieldObjectPic_Youngster_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BugCatcher[] = { - obj_frame_tiles(gFieldObjectPic_BugCatcher_0), - obj_frame_tiles(gFieldObjectPic_BugCatcher_1), - obj_frame_tiles(gFieldObjectPic_BugCatcher_2), - obj_frame_tiles(gFieldObjectPic_BugCatcher_3), - obj_frame_tiles(gFieldObjectPic_BugCatcher_4), - obj_frame_tiles(gFieldObjectPic_BugCatcher_5), - obj_frame_tiles(gFieldObjectPic_BugCatcher_6), - obj_frame_tiles(gFieldObjectPic_BugCatcher_7), - obj_frame_tiles(gFieldObjectPic_BugCatcher_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_PsychicM[] = { - obj_frame_tiles(gFieldObjectPic_PsychicM_0), - obj_frame_tiles(gFieldObjectPic_PsychicM_1), - obj_frame_tiles(gFieldObjectPic_PsychicM_2), - obj_frame_tiles(gFieldObjectPic_PsychicM_3), - obj_frame_tiles(gFieldObjectPic_PsychicM_4), - obj_frame_tiles(gFieldObjectPic_PsychicM_5), - obj_frame_tiles(gFieldObjectPic_PsychicM_6), - obj_frame_tiles(gFieldObjectPic_PsychicM_7), - obj_frame_tiles(gFieldObjectPic_PsychicM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_SchoolKidM[] = { - obj_frame_tiles(gFieldObjectPic_SchoolKidM_0), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_1), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_2), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_3), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_4), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_5), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_6), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_7), - obj_frame_tiles(gFieldObjectPic_SchoolKidM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Maniac[] = { - obj_frame_tiles(gFieldObjectPic_Maniac_0), - obj_frame_tiles(gFieldObjectPic_Maniac_1), - obj_frame_tiles(gFieldObjectPic_Maniac_2), - obj_frame_tiles(gFieldObjectPic_Maniac_3), - obj_frame_tiles(gFieldObjectPic_Maniac_4), - obj_frame_tiles(gFieldObjectPic_Maniac_5), - obj_frame_tiles(gFieldObjectPic_Maniac_6), - obj_frame_tiles(gFieldObjectPic_Maniac_7), - obj_frame_tiles(gFieldObjectPic_Maniac_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_HexManiac[] = { - obj_frame_tiles(gFieldObjectPic_HexManiac_0), - obj_frame_tiles(gFieldObjectPic_HexManiac_1), - obj_frame_tiles(gFieldObjectPic_HexManiac_2), - obj_frame_tiles(gFieldObjectPic_HexManiac_3), - obj_frame_tiles(gFieldObjectPic_HexManiac_4), - obj_frame_tiles(gFieldObjectPic_HexManiac_5), - obj_frame_tiles(gFieldObjectPic_HexManiac_6), - obj_frame_tiles(gFieldObjectPic_HexManiac_7), - obj_frame_tiles(gFieldObjectPic_HexManiac_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_SwimmerM[] = { - obj_frame_tiles(gFieldObjectPic_SwimmerM_0), - obj_frame_tiles(gFieldObjectPic_SwimmerM_1), - obj_frame_tiles(gFieldObjectPic_SwimmerM_2), - obj_frame_tiles(gFieldObjectPic_SwimmerM_3), - obj_frame_tiles(gFieldObjectPic_SwimmerM_4), - obj_frame_tiles(gFieldObjectPic_SwimmerM_5), - obj_frame_tiles(gFieldObjectPic_SwimmerM_6), - obj_frame_tiles(gFieldObjectPic_SwimmerM_7), - obj_frame_tiles(gFieldObjectPic_SwimmerM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_SwimmerF[] = { - obj_frame_tiles(gFieldObjectPic_SwimmerF_0), - obj_frame_tiles(gFieldObjectPic_SwimmerF_1), - obj_frame_tiles(gFieldObjectPic_SwimmerF_2), - obj_frame_tiles(gFieldObjectPic_SwimmerF_3), - obj_frame_tiles(gFieldObjectPic_SwimmerF_4), - obj_frame_tiles(gFieldObjectPic_SwimmerF_5), - obj_frame_tiles(gFieldObjectPic_SwimmerF_6), - obj_frame_tiles(gFieldObjectPic_SwimmerF_7), - obj_frame_tiles(gFieldObjectPic_SwimmerF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BlackBelt[] = { - obj_frame_tiles(gFieldObjectPic_BlackBelt_0), - obj_frame_tiles(gFieldObjectPic_BlackBelt_1), - obj_frame_tiles(gFieldObjectPic_BlackBelt_2), - obj_frame_tiles(gFieldObjectPic_BlackBelt_3), - obj_frame_tiles(gFieldObjectPic_BlackBelt_4), - obj_frame_tiles(gFieldObjectPic_BlackBelt_5), - obj_frame_tiles(gFieldObjectPic_BlackBelt_6), - obj_frame_tiles(gFieldObjectPic_BlackBelt_7), - obj_frame_tiles(gFieldObjectPic_BlackBelt_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Beauty[] = { - obj_frame_tiles(gFieldObjectPic_Beauty_0), - obj_frame_tiles(gFieldObjectPic_Beauty_1), - obj_frame_tiles(gFieldObjectPic_Beauty_2), - obj_frame_tiles(gFieldObjectPic_Beauty_3), - obj_frame_tiles(gFieldObjectPic_Beauty_4), - obj_frame_tiles(gFieldObjectPic_Beauty_5), - obj_frame_tiles(gFieldObjectPic_Beauty_6), - obj_frame_tiles(gFieldObjectPic_Beauty_7), - obj_frame_tiles(gFieldObjectPic_Beauty_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Scientist1[] = { - obj_frame_tiles(gFieldObjectPic_Scientist1_0), - obj_frame_tiles(gFieldObjectPic_Scientist1_1), - obj_frame_tiles(gFieldObjectPic_Scientist1_2), - obj_frame_tiles(gFieldObjectPic_Scientist1_3), - obj_frame_tiles(gFieldObjectPic_Scientist1_4), - obj_frame_tiles(gFieldObjectPic_Scientist1_5), - obj_frame_tiles(gFieldObjectPic_Scientist1_6), - obj_frame_tiles(gFieldObjectPic_Scientist1_7), - obj_frame_tiles(gFieldObjectPic_Scientist1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Lass[] = { - obj_frame_tiles(gFieldObjectPic_Lass_0), - obj_frame_tiles(gFieldObjectPic_Lass_1), - obj_frame_tiles(gFieldObjectPic_Lass_2), - obj_frame_tiles(gFieldObjectPic_Lass_3), - obj_frame_tiles(gFieldObjectPic_Lass_4), - obj_frame_tiles(gFieldObjectPic_Lass_5), - obj_frame_tiles(gFieldObjectPic_Lass_6), - obj_frame_tiles(gFieldObjectPic_Lass_7), - obj_frame_tiles(gFieldObjectPic_Lass_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Gentleman[] = { - obj_frame_tiles(gFieldObjectPic_Gentleman_0), - obj_frame_tiles(gFieldObjectPic_Gentleman_1), - obj_frame_tiles(gFieldObjectPic_Gentleman_2), - obj_frame_tiles(gFieldObjectPic_Gentleman_3), - obj_frame_tiles(gFieldObjectPic_Gentleman_4), - obj_frame_tiles(gFieldObjectPic_Gentleman_5), - obj_frame_tiles(gFieldObjectPic_Gentleman_6), - obj_frame_tiles(gFieldObjectPic_Gentleman_7), - obj_frame_tiles(gFieldObjectPic_Gentleman_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Sailor[] = { - obj_frame_tiles(gFieldObjectPic_Sailor_0), - obj_frame_tiles(gFieldObjectPic_Sailor_1), - obj_frame_tiles(gFieldObjectPic_Sailor_2), - obj_frame_tiles(gFieldObjectPic_Sailor_3), - obj_frame_tiles(gFieldObjectPic_Sailor_4), - obj_frame_tiles(gFieldObjectPic_Sailor_5), - obj_frame_tiles(gFieldObjectPic_Sailor_6), - obj_frame_tiles(gFieldObjectPic_Sailor_7), - obj_frame_tiles(gFieldObjectPic_Sailor_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Fisherman[] = { - obj_frame_tiles(gFieldObjectPic_Fisherman_0), - obj_frame_tiles(gFieldObjectPic_Fisherman_1), - obj_frame_tiles(gFieldObjectPic_Fisherman_2), - obj_frame_tiles(gFieldObjectPic_Fisherman_3), - obj_frame_tiles(gFieldObjectPic_Fisherman_4), - obj_frame_tiles(gFieldObjectPic_Fisherman_5), - obj_frame_tiles(gFieldObjectPic_Fisherman_6), - obj_frame_tiles(gFieldObjectPic_Fisherman_7), - obj_frame_tiles(gFieldObjectPic_Fisherman_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RunningTriathleteM[] = { - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_0), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_1), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_2), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_3), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_4), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_5), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_6), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_7), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RunningTriathleteF[] = { - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_0), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_1), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_2), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_3), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_4), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_5), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_6), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_7), - obj_frame_tiles(gFieldObjectPic_RunningTriathleteF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_TuberF[] = { - obj_frame_tiles(gFieldObjectPic_TuberF_0), - obj_frame_tiles(gFieldObjectPic_TuberF_1), - obj_frame_tiles(gFieldObjectPic_TuberF_2), - obj_frame_tiles(gFieldObjectPic_TuberF_3), - obj_frame_tiles(gFieldObjectPic_TuberF_4), - obj_frame_tiles(gFieldObjectPic_TuberF_5), - obj_frame_tiles(gFieldObjectPic_TuberF_6), - obj_frame_tiles(gFieldObjectPic_TuberF_7), - obj_frame_tiles(gFieldObjectPic_TuberF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_TuberM[] = { - obj_frame_tiles(gFieldObjectPic_TuberM_0), - obj_frame_tiles(gFieldObjectPic_TuberM_1), - obj_frame_tiles(gFieldObjectPic_TuberM_2), - obj_frame_tiles(gFieldObjectPic_TuberM_3), - obj_frame_tiles(gFieldObjectPic_TuberM_4), - obj_frame_tiles(gFieldObjectPic_TuberM_5), - obj_frame_tiles(gFieldObjectPic_TuberM_6), - obj_frame_tiles(gFieldObjectPic_TuberM_7), - obj_frame_tiles(gFieldObjectPic_TuberM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Hiker[] = { - obj_frame_tiles(gFieldObjectPic_Hiker_0), - obj_frame_tiles(gFieldObjectPic_Hiker_1), - obj_frame_tiles(gFieldObjectPic_Hiker_2), - obj_frame_tiles(gFieldObjectPic_Hiker_3), - obj_frame_tiles(gFieldObjectPic_Hiker_4), - obj_frame_tiles(gFieldObjectPic_Hiker_5), - obj_frame_tiles(gFieldObjectPic_Hiker_6), - obj_frame_tiles(gFieldObjectPic_Hiker_7), - obj_frame_tiles(gFieldObjectPic_Hiker_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_CyclingTriathleteM[] = { - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_0), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_1), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_2), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_3), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_4), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_5), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_6), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_7), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_CyclingTriathleteF[] = { - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_0), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_1), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_2), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_3), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_4), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_5), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_6), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_7), - obj_frame_tiles(gFieldObjectPic_CyclingTriathleteF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Nurse[] = { - obj_frame_tiles(gFieldObjectPic_Nurse_0), - obj_frame_tiles(gFieldObjectPic_Nurse_1), - obj_frame_tiles(gFieldObjectPic_Nurse_2), - obj_frame_tiles(gFieldObjectPic_Nurse_0), - obj_frame_tiles(gFieldObjectPic_Nurse_0), - obj_frame_tiles(gFieldObjectPic_Nurse_1), - obj_frame_tiles(gFieldObjectPic_Nurse_1), - obj_frame_tiles(gFieldObjectPic_Nurse_2), - obj_frame_tiles(gFieldObjectPic_Nurse_2), - obj_frame_tiles(gFieldObjectPic_Nurse_3), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_ItemBall[] = { - obj_frame_tiles(gFieldObjectPic_ItemBall), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_ProfBirch[] = { - obj_frame_tiles(gFieldObjectPic_ProfBirch_0), - obj_frame_tiles(gFieldObjectPic_ProfBirch_1), - obj_frame_tiles(gFieldObjectPic_ProfBirch_2), - obj_frame_tiles(gFieldObjectPic_ProfBirch_3), - obj_frame_tiles(gFieldObjectPic_ProfBirch_4), - obj_frame_tiles(gFieldObjectPic_ProfBirch_5), - obj_frame_tiles(gFieldObjectPic_ProfBirch_6), - obj_frame_tiles(gFieldObjectPic_ProfBirch_7), - obj_frame_tiles(gFieldObjectPic_ProfBirch_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man5[] = { - obj_frame_tiles(gFieldObjectPic_Man5_0), - obj_frame_tiles(gFieldObjectPic_Man5_1), - obj_frame_tiles(gFieldObjectPic_Man5_2), - obj_frame_tiles(gFieldObjectPic_Man5_3), - obj_frame_tiles(gFieldObjectPic_Man5_4), - obj_frame_tiles(gFieldObjectPic_Man5_5), - obj_frame_tiles(gFieldObjectPic_Man5_6), - obj_frame_tiles(gFieldObjectPic_Man5_7), - obj_frame_tiles(gFieldObjectPic_Man5_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man6[] = { - obj_frame_tiles(gFieldObjectPic_Man6_0), - obj_frame_tiles(gFieldObjectPic_Man6_1), - obj_frame_tiles(gFieldObjectPic_Man6_2), - obj_frame_tiles(gFieldObjectPic_Man6_3), - obj_frame_tiles(gFieldObjectPic_Man6_4), - obj_frame_tiles(gFieldObjectPic_Man6_5), - obj_frame_tiles(gFieldObjectPic_Man6_6), - obj_frame_tiles(gFieldObjectPic_Man6_7), - obj_frame_tiles(gFieldObjectPic_Man6_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_ReporterM[] = { - obj_frame_tiles(gFieldObjectPic_ReporterM_0), - obj_frame_tiles(gFieldObjectPic_ReporterM_1), - obj_frame_tiles(gFieldObjectPic_ReporterM_2), - obj_frame_tiles(gFieldObjectPic_ReporterM_3), - obj_frame_tiles(gFieldObjectPic_ReporterM_4), - obj_frame_tiles(gFieldObjectPic_ReporterM_5), - obj_frame_tiles(gFieldObjectPic_ReporterM_6), - obj_frame_tiles(gFieldObjectPic_ReporterM_7), - obj_frame_tiles(gFieldObjectPic_ReporterM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_ReporterF[] = { - obj_frame_tiles(gFieldObjectPic_ReporterF_0), - obj_frame_tiles(gFieldObjectPic_ReporterF_1), - obj_frame_tiles(gFieldObjectPic_ReporterF_2), - obj_frame_tiles(gFieldObjectPic_ReporterF_3), - obj_frame_tiles(gFieldObjectPic_ReporterF_4), - obj_frame_tiles(gFieldObjectPic_ReporterF_5), - obj_frame_tiles(gFieldObjectPic_ReporterF_6), - obj_frame_tiles(gFieldObjectPic_ReporterF_7), - obj_frame_tiles(gFieldObjectPic_ReporterF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MauvilleOldMan1[] = { - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_0), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_1), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_2), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_3), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_4), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_5), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_6), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_7), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan1_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MauvilleOldMan2[] = { - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_0), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_1), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_2), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_3), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_4), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_5), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_6), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_7), - obj_frame_tiles(gFieldObjectPic_MauvilleOldMan2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnusedNatuDoll[] = { - obj_frame_tiles(gFieldObjectPic_UnusedNatuDoll), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnusedMagnemiteDoll[] = { - obj_frame_tiles(gFieldObjectPic_UnusedMagnemiteDoll), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnusedSquirtleDoll[] = { - obj_frame_tiles(gFieldObjectPic_UnusedSquirtleDoll), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnusedWooperDoll[] = { - obj_frame_tiles(gFieldObjectPic_UnusedWooperDoll), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnusedPikachuDoll[] = { - obj_frame_tiles(gFieldObjectPic_UnusedPikachuDoll), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnusedPorygon2Doll[] = { - obj_frame_tiles(gFieldObjectPic_UnusedPorygon2Doll), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_CuttableTree[] = { - obj_frame_tiles(gFieldObjectPic_CuttableTree_0), - obj_frame_tiles(gFieldObjectPic_CuttableTree_1), - obj_frame_tiles(gFieldObjectPic_CuttableTree_2), - obj_frame_tiles(gFieldObjectPic_CuttableTree_3), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MartEmployee[] = { - obj_frame_tiles(gFieldObjectPic_MartEmployee_0), - obj_frame_tiles(gFieldObjectPic_MartEmployee_1), - obj_frame_tiles(gFieldObjectPic_MartEmployee_2), - obj_frame_tiles(gFieldObjectPic_MartEmployee_3), - obj_frame_tiles(gFieldObjectPic_MartEmployee_4), - obj_frame_tiles(gFieldObjectPic_MartEmployee_5), - obj_frame_tiles(gFieldObjectPic_MartEmployee_6), - obj_frame_tiles(gFieldObjectPic_MartEmployee_7), - obj_frame_tiles(gFieldObjectPic_MartEmployee_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RooftopSaleWoman[] = { - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_0), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_1), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_2), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_3), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_4), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_5), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_6), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_7), - obj_frame_tiles(gFieldObjectPic_RooftopSaleWoman_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Teala[] = { - obj_frame_tiles(gFieldObjectPic_Teala_0), - obj_frame_tiles(gFieldObjectPic_Teala_1), - obj_frame_tiles(gFieldObjectPic_Teala_2), - obj_frame_tiles(gFieldObjectPic_Teala_3), - obj_frame_tiles(gFieldObjectPic_Teala_4), - obj_frame_tiles(gFieldObjectPic_Teala_5), - obj_frame_tiles(gFieldObjectPic_Teala_6), - obj_frame_tiles(gFieldObjectPic_Teala_7), - obj_frame_tiles(gFieldObjectPic_Teala_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BreakableRock[] = { - obj_frame_tiles(gFieldObjectPic_BreakableRock_0), - obj_frame_tiles(gFieldObjectPic_BreakableRock_1), - obj_frame_tiles(gFieldObjectPic_BreakableRock_2), - obj_frame_tiles(gFieldObjectPic_BreakableRock_3), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_PushableBoulder[] = { - obj_frame_tiles(gFieldObjectPic_PushableBoulder), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MrBrineysBoat[] = { - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_2), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_0), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_1), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_2), - obj_frame_tiles(gFieldObjectPic_MrBrineysBoat_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Truck[] = { - obj_frame_tiles(gFieldObjectPic_Truck), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_VigorothCarryingBox[] = { - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_0), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_0), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_0), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_1), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_2), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_1), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_2), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_1), - obj_frame_tiles(gFieldObjectPic_VigorothCarryingBox_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_VigorothFacingAway[] = { - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_0), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_0), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_0), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), - obj_frame_tiles(gFieldObjectPic_VigorothFacingAway_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BirchsBag[] = { - obj_frame_tiles(gFieldObjectPic_BirchsBag), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_EnemyZigzagoon[] = { - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_0), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_1), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_2), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_3), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_4), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_5), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_6), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_7), - obj_frame_tiles(gFieldObjectPic_EnemyZigzagoon_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Poochyena[] = { - obj_frame_tiles(gFieldObjectPic_Poochyena_0), - obj_frame_tiles(gFieldObjectPic_Poochyena_1), - obj_frame_tiles(gFieldObjectPic_Poochyena_2), - obj_frame_tiles(gFieldObjectPic_Poochyena_3), - obj_frame_tiles(gFieldObjectPic_Poochyena_4), - obj_frame_tiles(gFieldObjectPic_Poochyena_5), - obj_frame_tiles(gFieldObjectPic_Poochyena_6), - obj_frame_tiles(gFieldObjectPic_Poochyena_7), - obj_frame_tiles(gFieldObjectPic_Poochyena_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Artist[] = { - obj_frame_tiles(gFieldObjectPic_Artist_0), - obj_frame_tiles(gFieldObjectPic_Artist_1), - obj_frame_tiles(gFieldObjectPic_Artist_2), - obj_frame_tiles(gFieldObjectPic_Artist_3), - obj_frame_tiles(gFieldObjectPic_Artist_4), - obj_frame_tiles(gFieldObjectPic_Artist_5), - obj_frame_tiles(gFieldObjectPic_Artist_6), - obj_frame_tiles(gFieldObjectPic_Artist_7), - obj_frame_tiles(gFieldObjectPic_Artist_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MayNormal[] = { - obj_frame_tiles(gFieldObjectPic_MayNormal_0), - obj_frame_tiles(gFieldObjectPic_MayNormal_1), - obj_frame_tiles(gFieldObjectPic_MayNormal_2), - obj_frame_tiles(gFieldObjectPic_MayNormal_3), - obj_frame_tiles(gFieldObjectPic_MayNormal_4), - obj_frame_tiles(gFieldObjectPic_MayNormal_5), - obj_frame_tiles(gFieldObjectPic_MayNormal_6), - obj_frame_tiles(gFieldObjectPic_MayNormal_7), - obj_frame_tiles(gFieldObjectPic_MayNormal_8), - obj_frame_tiles(gFieldObjectPic_MayNormal_9), - obj_frame_tiles(gFieldObjectPic_MayNormal_10), - obj_frame_tiles(gFieldObjectPic_MayNormal_11), - obj_frame_tiles(gFieldObjectPic_MayNormal_12), - obj_frame_tiles(gFieldObjectPic_MayNormal_13), - obj_frame_tiles(gFieldObjectPic_MayNormal_14), - obj_frame_tiles(gFieldObjectPic_MayNormal_15), - obj_frame_tiles(gFieldObjectPic_MayNormal_16), - obj_frame_tiles(gFieldObjectPic_MayNormal_17), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MayMachBike[] = { - obj_frame_tiles(gFieldObjectPic_MayMachBike_0), - obj_frame_tiles(gFieldObjectPic_MayMachBike_1), - obj_frame_tiles(gFieldObjectPic_MayMachBike_2), - obj_frame_tiles(gFieldObjectPic_MayMachBike_3), - obj_frame_tiles(gFieldObjectPic_MayMachBike_4), - obj_frame_tiles(gFieldObjectPic_MayMachBike_5), - obj_frame_tiles(gFieldObjectPic_MayMachBike_6), - obj_frame_tiles(gFieldObjectPic_MayMachBike_7), - obj_frame_tiles(gFieldObjectPic_MayMachBike_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MayAcroBike[] = { - obj_frame_tiles(gFieldObjectPic_MayAcroBike_0), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_1), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_2), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_3), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_4), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_5), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_6), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_7), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_8), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_9), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_10), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_11), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_12), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_13), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_14), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_15), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_16), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_17), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_18), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_19), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_20), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_21), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_22), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_23), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_24), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_25), - obj_frame_tiles(gFieldObjectPic_MayAcroBike_26), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MaySurfing[] = { - obj_frame_tiles(gFieldObjectPic_MaySurfing_0), - obj_frame_tiles(gFieldObjectPic_MaySurfing_1), - obj_frame_tiles(gFieldObjectPic_MaySurfing_2), - obj_frame_tiles(gFieldObjectPic_MaySurfing_0), - obj_frame_tiles(gFieldObjectPic_MaySurfing_0), - obj_frame_tiles(gFieldObjectPic_MaySurfing_1), - obj_frame_tiles(gFieldObjectPic_MaySurfing_1), - obj_frame_tiles(gFieldObjectPic_MaySurfing_2), - obj_frame_tiles(gFieldObjectPic_MaySurfing_2), - obj_frame_tiles(gFieldObjectPic_MaySurfing_3), - obj_frame_tiles(gFieldObjectPic_MaySurfing_4), - obj_frame_tiles(gFieldObjectPic_MaySurfing_5), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MayUnderwater[] = { - obj_frame_tiles(gFieldObjectPic_MayUnderwater_0), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_1), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_2), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_0), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_0), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_1), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_1), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_2), - obj_frame_tiles(gFieldObjectPic_MayUnderwater_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MayFieldMove[] = { - obj_frame_tiles(gFieldObjectPic_MayFieldMove_0), - obj_frame_tiles(gFieldObjectPic_MayFieldMove_1), - obj_frame_tiles(gFieldObjectPic_MayFieldMove_2), - obj_frame_tiles(gFieldObjectPic_MayFieldMove_3), - obj_frame_tiles(gFieldObjectPic_MayFieldMove_4), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Cameraman[] = { - obj_frame_tiles(gFieldObjectPic_Cameraman_0), - obj_frame_tiles(gFieldObjectPic_Cameraman_1), - obj_frame_tiles(gFieldObjectPic_Cameraman_2), - obj_frame_tiles(gFieldObjectPic_Cameraman_3), - obj_frame_tiles(gFieldObjectPic_Cameraman_4), - obj_frame_tiles(gFieldObjectPic_Cameraman_5), - obj_frame_tiles(gFieldObjectPic_Cameraman_6), - obj_frame_tiles(gFieldObjectPic_Cameraman_7), - obj_frame_tiles(gFieldObjectPic_Cameraman_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MovingBox[] = { - obj_frame_tiles(gFieldObjectPic_MovingBox), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_CableCar[] = { - obj_frame_tiles(gFieldObjectPic_CableCar), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Scientist2[] = { - obj_frame_tiles(gFieldObjectPic_Scientist2_0), - obj_frame_tiles(gFieldObjectPic_Scientist2_1), - obj_frame_tiles(gFieldObjectPic_Scientist2_2), - obj_frame_tiles(gFieldObjectPic_Scientist2_3), - obj_frame_tiles(gFieldObjectPic_Scientist2_4), - obj_frame_tiles(gFieldObjectPic_Scientist2_5), - obj_frame_tiles(gFieldObjectPic_Scientist2_6), - obj_frame_tiles(gFieldObjectPic_Scientist2_7), - obj_frame_tiles(gFieldObjectPic_Scientist2_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Man7[] = { - obj_frame_tiles(gFieldObjectPic_Man7_0), - obj_frame_tiles(gFieldObjectPic_Man7_1), - obj_frame_tiles(gFieldObjectPic_Man7_2), - obj_frame_tiles(gFieldObjectPic_Man7_3), - obj_frame_tiles(gFieldObjectPic_Man7_4), - obj_frame_tiles(gFieldObjectPic_Man7_5), - obj_frame_tiles(gFieldObjectPic_Man7_6), - obj_frame_tiles(gFieldObjectPic_Man7_7), - obj_frame_tiles(gFieldObjectPic_Man7_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_AquaMemberM[] = { - obj_frame_tiles(gFieldObjectPic_AquaMemberM_0), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_1), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_2), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_3), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_4), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_5), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_6), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_7), - obj_frame_tiles(gFieldObjectPic_AquaMemberM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_AquaMemberF[] = { - obj_frame_tiles(gFieldObjectPic_AquaMemberF_0), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_1), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_2), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_3), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_4), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_5), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_6), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_7), - obj_frame_tiles(gFieldObjectPic_AquaMemberF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MagmaMemberM[] = { - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_0), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_1), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_2), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_3), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_4), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_5), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_6), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_7), - obj_frame_tiles(gFieldObjectPic_MagmaMemberM_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MagmaMemberF[] = { - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_0), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_1), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_2), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_3), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_4), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_5), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_6), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_7), - obj_frame_tiles(gFieldObjectPic_MagmaMemberF_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Sidney[] = { - obj_frame_tiles(gFieldObjectPic_Sidney_0), - obj_frame_tiles(gFieldObjectPic_Sidney_1), - obj_frame_tiles(gFieldObjectPic_Sidney_2), - obj_frame_tiles(gFieldObjectPic_Sidney_0), - obj_frame_tiles(gFieldObjectPic_Sidney_0), - obj_frame_tiles(gFieldObjectPic_Sidney_1), - obj_frame_tiles(gFieldObjectPic_Sidney_1), - obj_frame_tiles(gFieldObjectPic_Sidney_2), - obj_frame_tiles(gFieldObjectPic_Sidney_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Phoebe[] = { - obj_frame_tiles(gFieldObjectPic_Phoebe_0), - obj_frame_tiles(gFieldObjectPic_Phoebe_1), - obj_frame_tiles(gFieldObjectPic_Phoebe_2), - obj_frame_tiles(gFieldObjectPic_Phoebe_0), - obj_frame_tiles(gFieldObjectPic_Phoebe_0), - obj_frame_tiles(gFieldObjectPic_Phoebe_1), - obj_frame_tiles(gFieldObjectPic_Phoebe_1), - obj_frame_tiles(gFieldObjectPic_Phoebe_2), - obj_frame_tiles(gFieldObjectPic_Phoebe_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Glacia[] = { - obj_frame_tiles(gFieldObjectPic_Glacia_0), - obj_frame_tiles(gFieldObjectPic_Glacia_1), - obj_frame_tiles(gFieldObjectPic_Glacia_2), - obj_frame_tiles(gFieldObjectPic_Glacia_0), - obj_frame_tiles(gFieldObjectPic_Glacia_0), - obj_frame_tiles(gFieldObjectPic_Glacia_1), - obj_frame_tiles(gFieldObjectPic_Glacia_1), - obj_frame_tiles(gFieldObjectPic_Glacia_2), - obj_frame_tiles(gFieldObjectPic_Glacia_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Drake[] = { - obj_frame_tiles(gFieldObjectPic_Drake_0), - obj_frame_tiles(gFieldObjectPic_Drake_1), - obj_frame_tiles(gFieldObjectPic_Drake_2), - obj_frame_tiles(gFieldObjectPic_Drake_0), - obj_frame_tiles(gFieldObjectPic_Drake_0), - obj_frame_tiles(gFieldObjectPic_Drake_1), - obj_frame_tiles(gFieldObjectPic_Drake_1), - obj_frame_tiles(gFieldObjectPic_Drake_2), - obj_frame_tiles(gFieldObjectPic_Drake_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Roxanne[] = { - obj_frame_tiles(gFieldObjectPic_Roxanne_0), - obj_frame_tiles(gFieldObjectPic_Roxanne_1), - obj_frame_tiles(gFieldObjectPic_Roxanne_2), - obj_frame_tiles(gFieldObjectPic_Roxanne_0), - obj_frame_tiles(gFieldObjectPic_Roxanne_0), - obj_frame_tiles(gFieldObjectPic_Roxanne_1), - obj_frame_tiles(gFieldObjectPic_Roxanne_1), - obj_frame_tiles(gFieldObjectPic_Roxanne_2), - obj_frame_tiles(gFieldObjectPic_Roxanne_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Brawly[] = { - obj_frame_tiles(gFieldObjectPic_Brawly_0), - obj_frame_tiles(gFieldObjectPic_Brawly_1), - obj_frame_tiles(gFieldObjectPic_Brawly_2), - obj_frame_tiles(gFieldObjectPic_Brawly_0), - obj_frame_tiles(gFieldObjectPic_Brawly_0), - obj_frame_tiles(gFieldObjectPic_Brawly_1), - obj_frame_tiles(gFieldObjectPic_Brawly_1), - obj_frame_tiles(gFieldObjectPic_Brawly_2), - obj_frame_tiles(gFieldObjectPic_Brawly_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Wattson[] = { - obj_frame_tiles(gFieldObjectPic_Wattson_0), - obj_frame_tiles(gFieldObjectPic_Wattson_1), - obj_frame_tiles(gFieldObjectPic_Wattson_2), - obj_frame_tiles(gFieldObjectPic_Wattson_0), - obj_frame_tiles(gFieldObjectPic_Wattson_0), - obj_frame_tiles(gFieldObjectPic_Wattson_1), - obj_frame_tiles(gFieldObjectPic_Wattson_1), - obj_frame_tiles(gFieldObjectPic_Wattson_2), - obj_frame_tiles(gFieldObjectPic_Wattson_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Flannery[] = { - obj_frame_tiles(gFieldObjectPic_Flannery_0), - obj_frame_tiles(gFieldObjectPic_Flannery_1), - obj_frame_tiles(gFieldObjectPic_Flannery_2), - obj_frame_tiles(gFieldObjectPic_Flannery_0), - obj_frame_tiles(gFieldObjectPic_Flannery_0), - obj_frame_tiles(gFieldObjectPic_Flannery_1), - obj_frame_tiles(gFieldObjectPic_Flannery_1), - obj_frame_tiles(gFieldObjectPic_Flannery_2), - obj_frame_tiles(gFieldObjectPic_Flannery_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Norman[] = { - obj_frame_tiles(gFieldObjectPic_Norman_0), - obj_frame_tiles(gFieldObjectPic_Norman_1), - obj_frame_tiles(gFieldObjectPic_Norman_2), - obj_frame_tiles(gFieldObjectPic_Norman_3), - obj_frame_tiles(gFieldObjectPic_Norman_4), - obj_frame_tiles(gFieldObjectPic_Norman_5), - obj_frame_tiles(gFieldObjectPic_Norman_6), - obj_frame_tiles(gFieldObjectPic_Norman_7), - obj_frame_tiles(gFieldObjectPic_Norman_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Winona[] = { - obj_frame_tiles(gFieldObjectPic_Winona_0), - obj_frame_tiles(gFieldObjectPic_Winona_1), - obj_frame_tiles(gFieldObjectPic_Winona_2), - obj_frame_tiles(gFieldObjectPic_Winona_0), - obj_frame_tiles(gFieldObjectPic_Winona_0), - obj_frame_tiles(gFieldObjectPic_Winona_1), - obj_frame_tiles(gFieldObjectPic_Winona_1), - obj_frame_tiles(gFieldObjectPic_Winona_2), - obj_frame_tiles(gFieldObjectPic_Winona_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Liza[] = { - obj_frame_tiles(gFieldObjectPic_Liza_0), - obj_frame_tiles(gFieldObjectPic_Liza_1), - obj_frame_tiles(gFieldObjectPic_Liza_2), - obj_frame_tiles(gFieldObjectPic_Liza_0), - obj_frame_tiles(gFieldObjectPic_Liza_0), - obj_frame_tiles(gFieldObjectPic_Liza_1), - obj_frame_tiles(gFieldObjectPic_Liza_1), - obj_frame_tiles(gFieldObjectPic_Liza_2), - obj_frame_tiles(gFieldObjectPic_Liza_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Tate[] = { - obj_frame_tiles(gFieldObjectPic_Tate_0), - obj_frame_tiles(gFieldObjectPic_Tate_1), - obj_frame_tiles(gFieldObjectPic_Tate_2), - obj_frame_tiles(gFieldObjectPic_Tate_0), - obj_frame_tiles(gFieldObjectPic_Tate_0), - obj_frame_tiles(gFieldObjectPic_Tate_1), - obj_frame_tiles(gFieldObjectPic_Tate_1), - obj_frame_tiles(gFieldObjectPic_Tate_2), - obj_frame_tiles(gFieldObjectPic_Tate_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Wallace[] = { - obj_frame_tiles(gFieldObjectPic_Wallace_0), - obj_frame_tiles(gFieldObjectPic_Wallace_1), - obj_frame_tiles(gFieldObjectPic_Wallace_2), - obj_frame_tiles(gFieldObjectPic_Wallace_3), - obj_frame_tiles(gFieldObjectPic_Wallace_4), - obj_frame_tiles(gFieldObjectPic_Wallace_5), - obj_frame_tiles(gFieldObjectPic_Wallace_6), - obj_frame_tiles(gFieldObjectPic_Wallace_7), - obj_frame_tiles(gFieldObjectPic_Wallace_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Steven[] = { - obj_frame_tiles(gFieldObjectPic_Steven_0), - obj_frame_tiles(gFieldObjectPic_Steven_1), - obj_frame_tiles(gFieldObjectPic_Steven_2), - obj_frame_tiles(gFieldObjectPic_Steven_3), - obj_frame_tiles(gFieldObjectPic_Steven_4), - obj_frame_tiles(gFieldObjectPic_Steven_5), - obj_frame_tiles(gFieldObjectPic_Steven_6), - obj_frame_tiles(gFieldObjectPic_Steven_7), - obj_frame_tiles(gFieldObjectPic_Steven_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Wally[] = { - obj_frame_tiles(gFieldObjectPic_Wally_0), - obj_frame_tiles(gFieldObjectPic_Wally_1), - obj_frame_tiles(gFieldObjectPic_Wally_2), - obj_frame_tiles(gFieldObjectPic_Wally_3), - obj_frame_tiles(gFieldObjectPic_Wally_4), - obj_frame_tiles(gFieldObjectPic_Wally_5), - obj_frame_tiles(gFieldObjectPic_Wally_6), - obj_frame_tiles(gFieldObjectPic_Wally_7), - obj_frame_tiles(gFieldObjectPic_Wally_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RubySapphireLittleBoy[] = { - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_0), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_1), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_2), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_3), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_4), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_5), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_6), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_7), - obj_frame_tiles(gFieldObjectPic_RubySapphireLittleBoy_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BrendanFishing[] = { - obj_frame_tiles(gFieldObjectPic_BrendanFishing_0), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_1), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_2), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_3), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_4), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_5), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_6), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_7), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_8), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_9), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_10), - obj_frame_tiles(gFieldObjectPic_BrendanFishing_11), +const struct SpriteFrameImage gEventObjectPicTable_BrendanNormal[] = { + obj_frame_tiles(gEventObjectPic_BrendanNormal_0), + obj_frame_tiles(gEventObjectPic_BrendanNormal_1), + obj_frame_tiles(gEventObjectPic_BrendanNormal_2), + obj_frame_tiles(gEventObjectPic_BrendanNormal_3), + obj_frame_tiles(gEventObjectPic_BrendanNormal_4), + obj_frame_tiles(gEventObjectPic_BrendanNormal_5), + obj_frame_tiles(gEventObjectPic_BrendanNormal_6), + obj_frame_tiles(gEventObjectPic_BrendanNormal_7), + obj_frame_tiles(gEventObjectPic_BrendanNormal_8), + obj_frame_tiles(gEventObjectPic_BrendanNormal_9), + obj_frame_tiles(gEventObjectPic_BrendanNormal_10), + obj_frame_tiles(gEventObjectPic_BrendanNormal_11), + obj_frame_tiles(gEventObjectPic_BrendanNormal_12), + obj_frame_tiles(gEventObjectPic_BrendanNormal_13), + obj_frame_tiles(gEventObjectPic_BrendanNormal_14), + obj_frame_tiles(gEventObjectPic_BrendanNormal_15), + obj_frame_tiles(gEventObjectPic_BrendanNormal_16), + obj_frame_tiles(gEventObjectPic_BrendanNormal_17), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanMachBike[] = { + obj_frame_tiles(gEventObjectPic_BrendanMachBike_0), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_1), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_2), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_3), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_4), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_5), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_6), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_7), + obj_frame_tiles(gEventObjectPic_BrendanMachBike_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanAcroBike[] = { + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_0), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_1), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_2), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_3), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_4), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_5), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_6), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_7), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_8), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_9), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_10), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_11), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_12), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_13), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_14), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_15), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_16), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_17), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_18), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_19), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_20), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_21), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_22), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_23), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_24), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_25), + obj_frame_tiles(gEventObjectPic_BrendanAcroBike_26), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanSurfing[] = { + obj_frame_tiles(gEventObjectPic_BrendanSurfing_0), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_1), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_2), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_0), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_0), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_1), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_1), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_2), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_2), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_3), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_4), + obj_frame_tiles(gEventObjectPic_BrendanSurfing_5), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanUnderwater[] = { + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_0), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_1), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_2), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_0), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_0), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_1), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_1), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_2), + obj_frame_tiles(gEventObjectPic_BrendanUnderwater_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanFieldMove[] = { + obj_frame_tiles(gEventObjectPic_BrendanFieldMove_0), + obj_frame_tiles(gEventObjectPic_BrendanFieldMove_1), + obj_frame_tiles(gEventObjectPic_BrendanFieldMove_2), + obj_frame_tiles(gEventObjectPic_BrendanFieldMove_3), + obj_frame_tiles(gEventObjectPic_BrendanFieldMove_4), +}; + +const struct SpriteFrameImage gEventObjectPicTable_QuintyPlump[] = { + obj_frame_tiles(gEventObjectPic_QuintyPlump_0), + obj_frame_tiles(gEventObjectPic_QuintyPlump_1), + obj_frame_tiles(gEventObjectPic_QuintyPlump_2), + obj_frame_tiles(gEventObjectPic_QuintyPlump_3), + obj_frame_tiles(gEventObjectPic_QuintyPlump_4), + obj_frame_tiles(gEventObjectPic_QuintyPlump_5), + obj_frame_tiles(gEventObjectPic_QuintyPlump_6), +}; + +const struct SpriteFrameImage gEventObjectPicTable_LittleBoy1[] = { + obj_frame_tiles(gEventObjectPic_LittleBoy1_0), + obj_frame_tiles(gEventObjectPic_LittleBoy1_1), + obj_frame_tiles(gEventObjectPic_LittleBoy1_2), + obj_frame_tiles(gEventObjectPic_LittleBoy1_3), + obj_frame_tiles(gEventObjectPic_LittleBoy1_4), + obj_frame_tiles(gEventObjectPic_LittleBoy1_5), + obj_frame_tiles(gEventObjectPic_LittleBoy1_6), + obj_frame_tiles(gEventObjectPic_LittleBoy1_7), + obj_frame_tiles(gEventObjectPic_LittleBoy1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_LittleGirl1[] = { + obj_frame_tiles(gEventObjectPic_LittleGirl1_0), + obj_frame_tiles(gEventObjectPic_LittleGirl1_1), + obj_frame_tiles(gEventObjectPic_LittleGirl1_2), + obj_frame_tiles(gEventObjectPic_LittleGirl1_3), + obj_frame_tiles(gEventObjectPic_LittleGirl1_4), + obj_frame_tiles(gEventObjectPic_LittleGirl1_5), + obj_frame_tiles(gEventObjectPic_LittleGirl1_6), + obj_frame_tiles(gEventObjectPic_LittleGirl1_7), + obj_frame_tiles(gEventObjectPic_LittleGirl1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Boy1[] = { + obj_frame_tiles(gEventObjectPic_Boy1_0), + obj_frame_tiles(gEventObjectPic_Boy1_1), + obj_frame_tiles(gEventObjectPic_Boy1_2), + obj_frame_tiles(gEventObjectPic_Boy1_3), + obj_frame_tiles(gEventObjectPic_Boy1_4), + obj_frame_tiles(gEventObjectPic_Boy1_5), + obj_frame_tiles(gEventObjectPic_Boy1_6), + obj_frame_tiles(gEventObjectPic_Boy1_7), + obj_frame_tiles(gEventObjectPic_Boy1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Girl1[] = { + obj_frame_tiles(gEventObjectPic_Girl1_0), + obj_frame_tiles(gEventObjectPic_Girl1_1), + obj_frame_tiles(gEventObjectPic_Girl1_2), + obj_frame_tiles(gEventObjectPic_Girl1_3), + obj_frame_tiles(gEventObjectPic_Girl1_4), + obj_frame_tiles(gEventObjectPic_Girl1_5), + obj_frame_tiles(gEventObjectPic_Girl1_6), + obj_frame_tiles(gEventObjectPic_Girl1_7), + obj_frame_tiles(gEventObjectPic_Girl1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Boy2[] = { + obj_frame_tiles(gEventObjectPic_Boy2_0), + obj_frame_tiles(gEventObjectPic_Boy2_1), + obj_frame_tiles(gEventObjectPic_Boy2_2), + obj_frame_tiles(gEventObjectPic_Boy2_3), + obj_frame_tiles(gEventObjectPic_Boy2_4), + obj_frame_tiles(gEventObjectPic_Boy2_5), + obj_frame_tiles(gEventObjectPic_Boy2_6), + obj_frame_tiles(gEventObjectPic_Boy2_7), + obj_frame_tiles(gEventObjectPic_Boy2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Girl2[] = { + obj_frame_tiles(gEventObjectPic_Girl2_0), + obj_frame_tiles(gEventObjectPic_Girl2_1), + obj_frame_tiles(gEventObjectPic_Girl2_2), + obj_frame_tiles(gEventObjectPic_Girl2_3), + obj_frame_tiles(gEventObjectPic_Girl2_4), + obj_frame_tiles(gEventObjectPic_Girl2_5), + obj_frame_tiles(gEventObjectPic_Girl2_6), + obj_frame_tiles(gEventObjectPic_Girl2_7), + obj_frame_tiles(gEventObjectPic_Girl2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_LittleBoy2[] = { + obj_frame_tiles(gEventObjectPic_LittleBoy2_0), + obj_frame_tiles(gEventObjectPic_LittleBoy2_1), + obj_frame_tiles(gEventObjectPic_LittleBoy2_2), + obj_frame_tiles(gEventObjectPic_LittleBoy2_3), + obj_frame_tiles(gEventObjectPic_LittleBoy2_4), + obj_frame_tiles(gEventObjectPic_LittleBoy2_5), + obj_frame_tiles(gEventObjectPic_LittleBoy2_6), + obj_frame_tiles(gEventObjectPic_LittleBoy2_7), + obj_frame_tiles(gEventObjectPic_LittleBoy2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_LittleGirl2[] = { + obj_frame_tiles(gEventObjectPic_LittleGirl2_0), + obj_frame_tiles(gEventObjectPic_LittleGirl2_1), + obj_frame_tiles(gEventObjectPic_LittleGirl2_2), + obj_frame_tiles(gEventObjectPic_LittleGirl2_3), + obj_frame_tiles(gEventObjectPic_LittleGirl2_4), + obj_frame_tiles(gEventObjectPic_LittleGirl2_5), + obj_frame_tiles(gEventObjectPic_LittleGirl2_6), + obj_frame_tiles(gEventObjectPic_LittleGirl2_7), + obj_frame_tiles(gEventObjectPic_LittleGirl2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Boy3[] = { + obj_frame_tiles(gEventObjectPic_Boy3_0), + obj_frame_tiles(gEventObjectPic_Boy3_1), + obj_frame_tiles(gEventObjectPic_Boy3_2), + obj_frame_tiles(gEventObjectPic_Boy3_3), + obj_frame_tiles(gEventObjectPic_Boy3_4), + obj_frame_tiles(gEventObjectPic_Boy3_5), + obj_frame_tiles(gEventObjectPic_Boy3_6), + obj_frame_tiles(gEventObjectPic_Boy3_7), + obj_frame_tiles(gEventObjectPic_Boy3_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Girl3[] = { + obj_frame_tiles(gEventObjectPic_Girl3_0), + obj_frame_tiles(gEventObjectPic_Girl3_1), + obj_frame_tiles(gEventObjectPic_Girl3_2), + obj_frame_tiles(gEventObjectPic_Girl3_3), + obj_frame_tiles(gEventObjectPic_Girl3_4), + obj_frame_tiles(gEventObjectPic_Girl3_5), + obj_frame_tiles(gEventObjectPic_Girl3_6), + obj_frame_tiles(gEventObjectPic_Girl3_7), + obj_frame_tiles(gEventObjectPic_Girl3_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Boy4[] = { + obj_frame_tiles(gEventObjectPic_Boy4_0), + obj_frame_tiles(gEventObjectPic_Boy4_1), + obj_frame_tiles(gEventObjectPic_Boy4_2), + obj_frame_tiles(gEventObjectPic_Boy4_3), + obj_frame_tiles(gEventObjectPic_Boy4_4), + obj_frame_tiles(gEventObjectPic_Boy4_5), + obj_frame_tiles(gEventObjectPic_Boy4_6), + obj_frame_tiles(gEventObjectPic_Boy4_7), + obj_frame_tiles(gEventObjectPic_Boy4_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman1[] = { + obj_frame_tiles(gEventObjectPic_Woman1_0), + obj_frame_tiles(gEventObjectPic_Woman1_1), + obj_frame_tiles(gEventObjectPic_Woman1_2), + obj_frame_tiles(gEventObjectPic_Woman1_3), + obj_frame_tiles(gEventObjectPic_Woman1_4), + obj_frame_tiles(gEventObjectPic_Woman1_5), + obj_frame_tiles(gEventObjectPic_Woman1_6), + obj_frame_tiles(gEventObjectPic_Woman1_7), + obj_frame_tiles(gEventObjectPic_Woman1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_FatMan[] = { + obj_frame_tiles(gEventObjectPic_FatMan_0), + obj_frame_tiles(gEventObjectPic_FatMan_1), + obj_frame_tiles(gEventObjectPic_FatMan_2), + obj_frame_tiles(gEventObjectPic_FatMan_3), + obj_frame_tiles(gEventObjectPic_FatMan_4), + obj_frame_tiles(gEventObjectPic_FatMan_5), + obj_frame_tiles(gEventObjectPic_FatMan_6), + obj_frame_tiles(gEventObjectPic_FatMan_7), + obj_frame_tiles(gEventObjectPic_FatMan_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman2[] = { + obj_frame_tiles(gEventObjectPic_Woman2_0), + obj_frame_tiles(gEventObjectPic_Woman2_1), + obj_frame_tiles(gEventObjectPic_Woman2_2), + obj_frame_tiles(gEventObjectPic_Woman2_3), + obj_frame_tiles(gEventObjectPic_Woman2_4), + obj_frame_tiles(gEventObjectPic_Woman2_5), + obj_frame_tiles(gEventObjectPic_Woman2_6), + obj_frame_tiles(gEventObjectPic_Woman2_7), + obj_frame_tiles(gEventObjectPic_Woman2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man1[] = { + obj_frame_tiles(gEventObjectPic_Man1_0), + obj_frame_tiles(gEventObjectPic_Man1_1), + obj_frame_tiles(gEventObjectPic_Man1_2), + obj_frame_tiles(gEventObjectPic_Man1_3), + obj_frame_tiles(gEventObjectPic_Man1_4), + obj_frame_tiles(gEventObjectPic_Man1_5), + obj_frame_tiles(gEventObjectPic_Man1_6), + obj_frame_tiles(gEventObjectPic_Man1_7), + obj_frame_tiles(gEventObjectPic_Man1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman3[] = { + obj_frame_tiles(gEventObjectPic_Woman3_0), + obj_frame_tiles(gEventObjectPic_Woman3_1), + obj_frame_tiles(gEventObjectPic_Woman3_2), + obj_frame_tiles(gEventObjectPic_Woman3_3), + obj_frame_tiles(gEventObjectPic_Woman3_4), + obj_frame_tiles(gEventObjectPic_Woman3_5), + obj_frame_tiles(gEventObjectPic_Woman3_6), + obj_frame_tiles(gEventObjectPic_Woman3_7), + obj_frame_tiles(gEventObjectPic_Woman3_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_OldMan1[] = { + obj_frame_tiles(gEventObjectPic_OldMan1_0), + obj_frame_tiles(gEventObjectPic_OldMan1_1), + obj_frame_tiles(gEventObjectPic_OldMan1_2), + obj_frame_tiles(gEventObjectPic_OldMan1_3), + obj_frame_tiles(gEventObjectPic_OldMan1_4), + obj_frame_tiles(gEventObjectPic_OldMan1_5), + obj_frame_tiles(gEventObjectPic_OldMan1_6), + obj_frame_tiles(gEventObjectPic_OldMan1_7), + obj_frame_tiles(gEventObjectPic_OldMan1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_OldWoman1[] = { + obj_frame_tiles(gEventObjectPic_OldWoman1_0), + obj_frame_tiles(gEventObjectPic_OldWoman1_1), + obj_frame_tiles(gEventObjectPic_OldWoman1_2), + obj_frame_tiles(gEventObjectPic_OldWoman1_3), + obj_frame_tiles(gEventObjectPic_OldWoman1_4), + obj_frame_tiles(gEventObjectPic_OldWoman1_5), + obj_frame_tiles(gEventObjectPic_OldWoman1_6), + obj_frame_tiles(gEventObjectPic_OldWoman1_7), + obj_frame_tiles(gEventObjectPic_OldWoman1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man2[] = { + obj_frame_tiles(gEventObjectPic_Man2_0), + obj_frame_tiles(gEventObjectPic_Man2_1), + obj_frame_tiles(gEventObjectPic_Man2_2), + obj_frame_tiles(gEventObjectPic_Man2_3), + obj_frame_tiles(gEventObjectPic_Man2_4), + obj_frame_tiles(gEventObjectPic_Man2_5), + obj_frame_tiles(gEventObjectPic_Man2_6), + obj_frame_tiles(gEventObjectPic_Man2_7), + obj_frame_tiles(gEventObjectPic_Man2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman4[] = { + obj_frame_tiles(gEventObjectPic_Woman4_0), + obj_frame_tiles(gEventObjectPic_Woman4_1), + obj_frame_tiles(gEventObjectPic_Woman4_2), + obj_frame_tiles(gEventObjectPic_Woman4_3), + obj_frame_tiles(gEventObjectPic_Woman4_4), + obj_frame_tiles(gEventObjectPic_Woman4_5), + obj_frame_tiles(gEventObjectPic_Woman4_6), + obj_frame_tiles(gEventObjectPic_Woman4_7), + obj_frame_tiles(gEventObjectPic_Woman4_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man3[] = { + obj_frame_tiles(gEventObjectPic_Man3_0), + obj_frame_tiles(gEventObjectPic_Man3_1), + obj_frame_tiles(gEventObjectPic_Man3_2), + obj_frame_tiles(gEventObjectPic_Man3_3), + obj_frame_tiles(gEventObjectPic_Man3_4), + obj_frame_tiles(gEventObjectPic_Man3_5), + obj_frame_tiles(gEventObjectPic_Man3_6), + obj_frame_tiles(gEventObjectPic_Man3_7), + obj_frame_tiles(gEventObjectPic_Man3_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman5[] = { + obj_frame_tiles(gEventObjectPic_Woman5_0), + obj_frame_tiles(gEventObjectPic_Woman5_1), + obj_frame_tiles(gEventObjectPic_Woman5_2), + obj_frame_tiles(gEventObjectPic_Woman5_3), + obj_frame_tiles(gEventObjectPic_Woman5_4), + obj_frame_tiles(gEventObjectPic_Woman5_5), + obj_frame_tiles(gEventObjectPic_Woman5_6), + obj_frame_tiles(gEventObjectPic_Woman5_7), + obj_frame_tiles(gEventObjectPic_Woman5_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Cook[] = { + obj_frame_tiles(gEventObjectPic_Cook_0), + obj_frame_tiles(gEventObjectPic_Cook_1), + obj_frame_tiles(gEventObjectPic_Cook_2), + obj_frame_tiles(gEventObjectPic_Cook_0), + obj_frame_tiles(gEventObjectPic_Cook_0), + obj_frame_tiles(gEventObjectPic_Cook_1), + obj_frame_tiles(gEventObjectPic_Cook_1), + obj_frame_tiles(gEventObjectPic_Cook_2), + obj_frame_tiles(gEventObjectPic_Cook_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman6[] = { + obj_frame_tiles(gEventObjectPic_Woman6_0), + obj_frame_tiles(gEventObjectPic_Woman6_1), + obj_frame_tiles(gEventObjectPic_Woman6_2), + obj_frame_tiles(gEventObjectPic_Woman6_3), + obj_frame_tiles(gEventObjectPic_Woman6_4), + obj_frame_tiles(gEventObjectPic_Woman6_5), + obj_frame_tiles(gEventObjectPic_Woman6_6), + obj_frame_tiles(gEventObjectPic_Woman6_7), + obj_frame_tiles(gEventObjectPic_Woman6_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_OldMan2[] = { + obj_frame_tiles(gEventObjectPic_OldMan2_0), + obj_frame_tiles(gEventObjectPic_OldMan2_1), + obj_frame_tiles(gEventObjectPic_OldMan2_2), + obj_frame_tiles(gEventObjectPic_OldMan2_0), + obj_frame_tiles(gEventObjectPic_OldMan2_0), + obj_frame_tiles(gEventObjectPic_OldMan2_1), + obj_frame_tiles(gEventObjectPic_OldMan2_1), + obj_frame_tiles(gEventObjectPic_OldMan2_2), + obj_frame_tiles(gEventObjectPic_OldMan2_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_OldWoman2[] = { + obj_frame_tiles(gEventObjectPic_OldWoman2_0), + obj_frame_tiles(gEventObjectPic_OldWoman2_1), + obj_frame_tiles(gEventObjectPic_OldWoman2_2), + obj_frame_tiles(gEventObjectPic_OldWoman2_3), + obj_frame_tiles(gEventObjectPic_OldWoman2_4), + obj_frame_tiles(gEventObjectPic_OldWoman2_5), + obj_frame_tiles(gEventObjectPic_OldWoman2_6), + obj_frame_tiles(gEventObjectPic_OldWoman2_7), + obj_frame_tiles(gEventObjectPic_OldWoman2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Camper[] = { + obj_frame_tiles(gEventObjectPic_Camper_0), + obj_frame_tiles(gEventObjectPic_Camper_1), + obj_frame_tiles(gEventObjectPic_Camper_2), + obj_frame_tiles(gEventObjectPic_Camper_3), + obj_frame_tiles(gEventObjectPic_Camper_4), + obj_frame_tiles(gEventObjectPic_Camper_5), + obj_frame_tiles(gEventObjectPic_Camper_6), + obj_frame_tiles(gEventObjectPic_Camper_7), + obj_frame_tiles(gEventObjectPic_Camper_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Picnicker[] = { + obj_frame_tiles(gEventObjectPic_Picnicker_0), + obj_frame_tiles(gEventObjectPic_Picnicker_1), + obj_frame_tiles(gEventObjectPic_Picnicker_2), + obj_frame_tiles(gEventObjectPic_Picnicker_3), + obj_frame_tiles(gEventObjectPic_Picnicker_4), + obj_frame_tiles(gEventObjectPic_Picnicker_5), + obj_frame_tiles(gEventObjectPic_Picnicker_6), + obj_frame_tiles(gEventObjectPic_Picnicker_7), + obj_frame_tiles(gEventObjectPic_Picnicker_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man4[] = { + obj_frame_tiles(gEventObjectPic_Man4_0), + obj_frame_tiles(gEventObjectPic_Man4_1), + obj_frame_tiles(gEventObjectPic_Man4_2), + obj_frame_tiles(gEventObjectPic_Man4_3), + obj_frame_tiles(gEventObjectPic_Man4_4), + obj_frame_tiles(gEventObjectPic_Man4_5), + obj_frame_tiles(gEventObjectPic_Man4_6), + obj_frame_tiles(gEventObjectPic_Man4_7), + obj_frame_tiles(gEventObjectPic_Man4_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Woman7[] = { + obj_frame_tiles(gEventObjectPic_Woman7_0), + obj_frame_tiles(gEventObjectPic_Woman7_1), + obj_frame_tiles(gEventObjectPic_Woman7_2), + obj_frame_tiles(gEventObjectPic_Woman7_3), + obj_frame_tiles(gEventObjectPic_Woman7_4), + obj_frame_tiles(gEventObjectPic_Woman7_5), + obj_frame_tiles(gEventObjectPic_Woman7_6), + obj_frame_tiles(gEventObjectPic_Woman7_7), + obj_frame_tiles(gEventObjectPic_Woman7_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Youngster[] = { + obj_frame_tiles(gEventObjectPic_Youngster_0), + obj_frame_tiles(gEventObjectPic_Youngster_1), + obj_frame_tiles(gEventObjectPic_Youngster_2), + obj_frame_tiles(gEventObjectPic_Youngster_3), + obj_frame_tiles(gEventObjectPic_Youngster_4), + obj_frame_tiles(gEventObjectPic_Youngster_5), + obj_frame_tiles(gEventObjectPic_Youngster_6), + obj_frame_tiles(gEventObjectPic_Youngster_7), + obj_frame_tiles(gEventObjectPic_Youngster_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BugCatcher[] = { + obj_frame_tiles(gEventObjectPic_BugCatcher_0), + obj_frame_tiles(gEventObjectPic_BugCatcher_1), + obj_frame_tiles(gEventObjectPic_BugCatcher_2), + obj_frame_tiles(gEventObjectPic_BugCatcher_3), + obj_frame_tiles(gEventObjectPic_BugCatcher_4), + obj_frame_tiles(gEventObjectPic_BugCatcher_5), + obj_frame_tiles(gEventObjectPic_BugCatcher_6), + obj_frame_tiles(gEventObjectPic_BugCatcher_7), + obj_frame_tiles(gEventObjectPic_BugCatcher_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_PsychicM[] = { + obj_frame_tiles(gEventObjectPic_PsychicM_0), + obj_frame_tiles(gEventObjectPic_PsychicM_1), + obj_frame_tiles(gEventObjectPic_PsychicM_2), + obj_frame_tiles(gEventObjectPic_PsychicM_3), + obj_frame_tiles(gEventObjectPic_PsychicM_4), + obj_frame_tiles(gEventObjectPic_PsychicM_5), + obj_frame_tiles(gEventObjectPic_PsychicM_6), + obj_frame_tiles(gEventObjectPic_PsychicM_7), + obj_frame_tiles(gEventObjectPic_PsychicM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_SchoolKidM[] = { + obj_frame_tiles(gEventObjectPic_SchoolKidM_0), + obj_frame_tiles(gEventObjectPic_SchoolKidM_1), + obj_frame_tiles(gEventObjectPic_SchoolKidM_2), + obj_frame_tiles(gEventObjectPic_SchoolKidM_3), + obj_frame_tiles(gEventObjectPic_SchoolKidM_4), + obj_frame_tiles(gEventObjectPic_SchoolKidM_5), + obj_frame_tiles(gEventObjectPic_SchoolKidM_6), + obj_frame_tiles(gEventObjectPic_SchoolKidM_7), + obj_frame_tiles(gEventObjectPic_SchoolKidM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Maniac[] = { + obj_frame_tiles(gEventObjectPic_Maniac_0), + obj_frame_tiles(gEventObjectPic_Maniac_1), + obj_frame_tiles(gEventObjectPic_Maniac_2), + obj_frame_tiles(gEventObjectPic_Maniac_3), + obj_frame_tiles(gEventObjectPic_Maniac_4), + obj_frame_tiles(gEventObjectPic_Maniac_5), + obj_frame_tiles(gEventObjectPic_Maniac_6), + obj_frame_tiles(gEventObjectPic_Maniac_7), + obj_frame_tiles(gEventObjectPic_Maniac_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_HexManiac[] = { + obj_frame_tiles(gEventObjectPic_HexManiac_0), + obj_frame_tiles(gEventObjectPic_HexManiac_1), + obj_frame_tiles(gEventObjectPic_HexManiac_2), + obj_frame_tiles(gEventObjectPic_HexManiac_3), + obj_frame_tiles(gEventObjectPic_HexManiac_4), + obj_frame_tiles(gEventObjectPic_HexManiac_5), + obj_frame_tiles(gEventObjectPic_HexManiac_6), + obj_frame_tiles(gEventObjectPic_HexManiac_7), + obj_frame_tiles(gEventObjectPic_HexManiac_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_SwimmerM[] = { + obj_frame_tiles(gEventObjectPic_SwimmerM_0), + obj_frame_tiles(gEventObjectPic_SwimmerM_1), + obj_frame_tiles(gEventObjectPic_SwimmerM_2), + obj_frame_tiles(gEventObjectPic_SwimmerM_3), + obj_frame_tiles(gEventObjectPic_SwimmerM_4), + obj_frame_tiles(gEventObjectPic_SwimmerM_5), + obj_frame_tiles(gEventObjectPic_SwimmerM_6), + obj_frame_tiles(gEventObjectPic_SwimmerM_7), + obj_frame_tiles(gEventObjectPic_SwimmerM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_SwimmerF[] = { + obj_frame_tiles(gEventObjectPic_SwimmerF_0), + obj_frame_tiles(gEventObjectPic_SwimmerF_1), + obj_frame_tiles(gEventObjectPic_SwimmerF_2), + obj_frame_tiles(gEventObjectPic_SwimmerF_3), + obj_frame_tiles(gEventObjectPic_SwimmerF_4), + obj_frame_tiles(gEventObjectPic_SwimmerF_5), + obj_frame_tiles(gEventObjectPic_SwimmerF_6), + obj_frame_tiles(gEventObjectPic_SwimmerF_7), + obj_frame_tiles(gEventObjectPic_SwimmerF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BlackBelt[] = { + obj_frame_tiles(gEventObjectPic_BlackBelt_0), + obj_frame_tiles(gEventObjectPic_BlackBelt_1), + obj_frame_tiles(gEventObjectPic_BlackBelt_2), + obj_frame_tiles(gEventObjectPic_BlackBelt_3), + obj_frame_tiles(gEventObjectPic_BlackBelt_4), + obj_frame_tiles(gEventObjectPic_BlackBelt_5), + obj_frame_tiles(gEventObjectPic_BlackBelt_6), + obj_frame_tiles(gEventObjectPic_BlackBelt_7), + obj_frame_tiles(gEventObjectPic_BlackBelt_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Beauty[] = { + obj_frame_tiles(gEventObjectPic_Beauty_0), + obj_frame_tiles(gEventObjectPic_Beauty_1), + obj_frame_tiles(gEventObjectPic_Beauty_2), + obj_frame_tiles(gEventObjectPic_Beauty_3), + obj_frame_tiles(gEventObjectPic_Beauty_4), + obj_frame_tiles(gEventObjectPic_Beauty_5), + obj_frame_tiles(gEventObjectPic_Beauty_6), + obj_frame_tiles(gEventObjectPic_Beauty_7), + obj_frame_tiles(gEventObjectPic_Beauty_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Scientist1[] = { + obj_frame_tiles(gEventObjectPic_Scientist1_0), + obj_frame_tiles(gEventObjectPic_Scientist1_1), + obj_frame_tiles(gEventObjectPic_Scientist1_2), + obj_frame_tiles(gEventObjectPic_Scientist1_3), + obj_frame_tiles(gEventObjectPic_Scientist1_4), + obj_frame_tiles(gEventObjectPic_Scientist1_5), + obj_frame_tiles(gEventObjectPic_Scientist1_6), + obj_frame_tiles(gEventObjectPic_Scientist1_7), + obj_frame_tiles(gEventObjectPic_Scientist1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Lass[] = { + obj_frame_tiles(gEventObjectPic_Lass_0), + obj_frame_tiles(gEventObjectPic_Lass_1), + obj_frame_tiles(gEventObjectPic_Lass_2), + obj_frame_tiles(gEventObjectPic_Lass_3), + obj_frame_tiles(gEventObjectPic_Lass_4), + obj_frame_tiles(gEventObjectPic_Lass_5), + obj_frame_tiles(gEventObjectPic_Lass_6), + obj_frame_tiles(gEventObjectPic_Lass_7), + obj_frame_tiles(gEventObjectPic_Lass_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Gentleman[] = { + obj_frame_tiles(gEventObjectPic_Gentleman_0), + obj_frame_tiles(gEventObjectPic_Gentleman_1), + obj_frame_tiles(gEventObjectPic_Gentleman_2), + obj_frame_tiles(gEventObjectPic_Gentleman_3), + obj_frame_tiles(gEventObjectPic_Gentleman_4), + obj_frame_tiles(gEventObjectPic_Gentleman_5), + obj_frame_tiles(gEventObjectPic_Gentleman_6), + obj_frame_tiles(gEventObjectPic_Gentleman_7), + obj_frame_tiles(gEventObjectPic_Gentleman_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Sailor[] = { + obj_frame_tiles(gEventObjectPic_Sailor_0), + obj_frame_tiles(gEventObjectPic_Sailor_1), + obj_frame_tiles(gEventObjectPic_Sailor_2), + obj_frame_tiles(gEventObjectPic_Sailor_3), + obj_frame_tiles(gEventObjectPic_Sailor_4), + obj_frame_tiles(gEventObjectPic_Sailor_5), + obj_frame_tiles(gEventObjectPic_Sailor_6), + obj_frame_tiles(gEventObjectPic_Sailor_7), + obj_frame_tiles(gEventObjectPic_Sailor_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Fisherman[] = { + obj_frame_tiles(gEventObjectPic_Fisherman_0), + obj_frame_tiles(gEventObjectPic_Fisherman_1), + obj_frame_tiles(gEventObjectPic_Fisherman_2), + obj_frame_tiles(gEventObjectPic_Fisherman_3), + obj_frame_tiles(gEventObjectPic_Fisherman_4), + obj_frame_tiles(gEventObjectPic_Fisherman_5), + obj_frame_tiles(gEventObjectPic_Fisherman_6), + obj_frame_tiles(gEventObjectPic_Fisherman_7), + obj_frame_tiles(gEventObjectPic_Fisherman_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteM[] = { + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_0), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_1), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_2), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_3), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_4), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_5), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_6), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_7), + obj_frame_tiles(gEventObjectPic_RunningTriathleteM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RunningTriathleteF[] = { + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_0), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_1), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_2), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_3), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_4), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_5), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_6), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_7), + obj_frame_tiles(gEventObjectPic_RunningTriathleteF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_TuberF[] = { + obj_frame_tiles(gEventObjectPic_TuberF_0), + obj_frame_tiles(gEventObjectPic_TuberF_1), + obj_frame_tiles(gEventObjectPic_TuberF_2), + obj_frame_tiles(gEventObjectPic_TuberF_3), + obj_frame_tiles(gEventObjectPic_TuberF_4), + obj_frame_tiles(gEventObjectPic_TuberF_5), + obj_frame_tiles(gEventObjectPic_TuberF_6), + obj_frame_tiles(gEventObjectPic_TuberF_7), + obj_frame_tiles(gEventObjectPic_TuberF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_TuberM[] = { + obj_frame_tiles(gEventObjectPic_TuberM_0), + obj_frame_tiles(gEventObjectPic_TuberM_1), + obj_frame_tiles(gEventObjectPic_TuberM_2), + obj_frame_tiles(gEventObjectPic_TuberM_3), + obj_frame_tiles(gEventObjectPic_TuberM_4), + obj_frame_tiles(gEventObjectPic_TuberM_5), + obj_frame_tiles(gEventObjectPic_TuberM_6), + obj_frame_tiles(gEventObjectPic_TuberM_7), + obj_frame_tiles(gEventObjectPic_TuberM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Hiker[] = { + obj_frame_tiles(gEventObjectPic_Hiker_0), + obj_frame_tiles(gEventObjectPic_Hiker_1), + obj_frame_tiles(gEventObjectPic_Hiker_2), + obj_frame_tiles(gEventObjectPic_Hiker_3), + obj_frame_tiles(gEventObjectPic_Hiker_4), + obj_frame_tiles(gEventObjectPic_Hiker_5), + obj_frame_tiles(gEventObjectPic_Hiker_6), + obj_frame_tiles(gEventObjectPic_Hiker_7), + obj_frame_tiles(gEventObjectPic_Hiker_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteM[] = { + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_0), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_1), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_2), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_3), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_4), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_5), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_6), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_7), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_CyclingTriathleteF[] = { + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_0), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_1), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_2), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_3), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_4), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_5), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_6), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_7), + obj_frame_tiles(gEventObjectPic_CyclingTriathleteF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Nurse[] = { + obj_frame_tiles(gEventObjectPic_Nurse_0), + obj_frame_tiles(gEventObjectPic_Nurse_1), + obj_frame_tiles(gEventObjectPic_Nurse_2), + obj_frame_tiles(gEventObjectPic_Nurse_0), + obj_frame_tiles(gEventObjectPic_Nurse_0), + obj_frame_tiles(gEventObjectPic_Nurse_1), + obj_frame_tiles(gEventObjectPic_Nurse_1), + obj_frame_tiles(gEventObjectPic_Nurse_2), + obj_frame_tiles(gEventObjectPic_Nurse_2), + obj_frame_tiles(gEventObjectPic_Nurse_3), +}; + +const struct SpriteFrameImage gEventObjectPicTable_ItemBall[] = { + obj_frame_tiles(gEventObjectPic_ItemBall), +}; + +const struct SpriteFrameImage gEventObjectPicTable_ProfBirch[] = { + obj_frame_tiles(gEventObjectPic_ProfBirch_0), + obj_frame_tiles(gEventObjectPic_ProfBirch_1), + obj_frame_tiles(gEventObjectPic_ProfBirch_2), + obj_frame_tiles(gEventObjectPic_ProfBirch_3), + obj_frame_tiles(gEventObjectPic_ProfBirch_4), + obj_frame_tiles(gEventObjectPic_ProfBirch_5), + obj_frame_tiles(gEventObjectPic_ProfBirch_6), + obj_frame_tiles(gEventObjectPic_ProfBirch_7), + obj_frame_tiles(gEventObjectPic_ProfBirch_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man5[] = { + obj_frame_tiles(gEventObjectPic_Man5_0), + obj_frame_tiles(gEventObjectPic_Man5_1), + obj_frame_tiles(gEventObjectPic_Man5_2), + obj_frame_tiles(gEventObjectPic_Man5_3), + obj_frame_tiles(gEventObjectPic_Man5_4), + obj_frame_tiles(gEventObjectPic_Man5_5), + obj_frame_tiles(gEventObjectPic_Man5_6), + obj_frame_tiles(gEventObjectPic_Man5_7), + obj_frame_tiles(gEventObjectPic_Man5_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man6[] = { + obj_frame_tiles(gEventObjectPic_Man6_0), + obj_frame_tiles(gEventObjectPic_Man6_1), + obj_frame_tiles(gEventObjectPic_Man6_2), + obj_frame_tiles(gEventObjectPic_Man6_3), + obj_frame_tiles(gEventObjectPic_Man6_4), + obj_frame_tiles(gEventObjectPic_Man6_5), + obj_frame_tiles(gEventObjectPic_Man6_6), + obj_frame_tiles(gEventObjectPic_Man6_7), + obj_frame_tiles(gEventObjectPic_Man6_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_ReporterM[] = { + obj_frame_tiles(gEventObjectPic_ReporterM_0), + obj_frame_tiles(gEventObjectPic_ReporterM_1), + obj_frame_tiles(gEventObjectPic_ReporterM_2), + obj_frame_tiles(gEventObjectPic_ReporterM_3), + obj_frame_tiles(gEventObjectPic_ReporterM_4), + obj_frame_tiles(gEventObjectPic_ReporterM_5), + obj_frame_tiles(gEventObjectPic_ReporterM_6), + obj_frame_tiles(gEventObjectPic_ReporterM_7), + obj_frame_tiles(gEventObjectPic_ReporterM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_ReporterF[] = { + obj_frame_tiles(gEventObjectPic_ReporterF_0), + obj_frame_tiles(gEventObjectPic_ReporterF_1), + obj_frame_tiles(gEventObjectPic_ReporterF_2), + obj_frame_tiles(gEventObjectPic_ReporterF_3), + obj_frame_tiles(gEventObjectPic_ReporterF_4), + obj_frame_tiles(gEventObjectPic_ReporterF_5), + obj_frame_tiles(gEventObjectPic_ReporterF_6), + obj_frame_tiles(gEventObjectPic_ReporterF_7), + obj_frame_tiles(gEventObjectPic_ReporterF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan1[] = { + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_0), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_1), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_2), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_3), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_4), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_5), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_6), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_7), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan1_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MauvilleOldMan2[] = { + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_0), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_1), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_2), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_3), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_4), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_5), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_6), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_7), + obj_frame_tiles(gEventObjectPic_MauvilleOldMan2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedNatuDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedNatuDoll), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedMagnemiteDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedMagnemiteDoll), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedSquirtleDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedSquirtleDoll), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedWooperDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedWooperDoll), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedPikachuDoll[] = { + obj_frame_tiles(gEventObjectPic_UnusedPikachuDoll), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnusedPorygon2Doll[] = { + obj_frame_tiles(gEventObjectPic_UnusedPorygon2Doll), +}; + +const struct SpriteFrameImage gEventObjectPicTable_CuttableTree[] = { + obj_frame_tiles(gEventObjectPic_CuttableTree_0), + obj_frame_tiles(gEventObjectPic_CuttableTree_1), + obj_frame_tiles(gEventObjectPic_CuttableTree_2), + obj_frame_tiles(gEventObjectPic_CuttableTree_3), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MartEmployee[] = { + obj_frame_tiles(gEventObjectPic_MartEmployee_0), + obj_frame_tiles(gEventObjectPic_MartEmployee_1), + obj_frame_tiles(gEventObjectPic_MartEmployee_2), + obj_frame_tiles(gEventObjectPic_MartEmployee_3), + obj_frame_tiles(gEventObjectPic_MartEmployee_4), + obj_frame_tiles(gEventObjectPic_MartEmployee_5), + obj_frame_tiles(gEventObjectPic_MartEmployee_6), + obj_frame_tiles(gEventObjectPic_MartEmployee_7), + obj_frame_tiles(gEventObjectPic_MartEmployee_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RooftopSaleWoman[] = { + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_0), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_1), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_2), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_3), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_4), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_5), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_6), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_7), + obj_frame_tiles(gEventObjectPic_RooftopSaleWoman_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Teala[] = { + obj_frame_tiles(gEventObjectPic_Teala_0), + obj_frame_tiles(gEventObjectPic_Teala_1), + obj_frame_tiles(gEventObjectPic_Teala_2), + obj_frame_tiles(gEventObjectPic_Teala_3), + obj_frame_tiles(gEventObjectPic_Teala_4), + obj_frame_tiles(gEventObjectPic_Teala_5), + obj_frame_tiles(gEventObjectPic_Teala_6), + obj_frame_tiles(gEventObjectPic_Teala_7), + obj_frame_tiles(gEventObjectPic_Teala_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BreakableRock[] = { + obj_frame_tiles(gEventObjectPic_BreakableRock_0), + obj_frame_tiles(gEventObjectPic_BreakableRock_1), + obj_frame_tiles(gEventObjectPic_BreakableRock_2), + obj_frame_tiles(gEventObjectPic_BreakableRock_3), +}; + +const struct SpriteFrameImage gEventObjectPicTable_PushableBoulder[] = { + obj_frame_tiles(gEventObjectPic_PushableBoulder), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MrBrineysBoat[] = { + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_0), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_1), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_2), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_0), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_0), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_1), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_1), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_2), + obj_frame_tiles(gEventObjectPic_MrBrineysBoat_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Truck[] = { + obj_frame_tiles(gEventObjectPic_Truck), +}; + +const struct SpriteFrameImage gEventObjectPicTable_VigorothCarryingBox[] = { + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_0), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_0), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_0), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_1), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_2), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_1), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_2), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_1), + obj_frame_tiles(gEventObjectPic_VigorothCarryingBox_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_VigorothFacingAway[] = { + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_0), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_0), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_0), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), + obj_frame_tiles(gEventObjectPic_VigorothFacingAway_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BirchsBag[] = { + obj_frame_tiles(gEventObjectPic_BirchsBag), +}; + +const struct SpriteFrameImage gEventObjectPicTable_EnemyZigzagoon[] = { + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_0), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_1), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_2), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_3), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_4), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_5), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_6), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_7), + obj_frame_tiles(gEventObjectPic_EnemyZigzagoon_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Poochyena[] = { + obj_frame_tiles(gEventObjectPic_Poochyena_0), + obj_frame_tiles(gEventObjectPic_Poochyena_1), + obj_frame_tiles(gEventObjectPic_Poochyena_2), + obj_frame_tiles(gEventObjectPic_Poochyena_3), + obj_frame_tiles(gEventObjectPic_Poochyena_4), + obj_frame_tiles(gEventObjectPic_Poochyena_5), + obj_frame_tiles(gEventObjectPic_Poochyena_6), + obj_frame_tiles(gEventObjectPic_Poochyena_7), + obj_frame_tiles(gEventObjectPic_Poochyena_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Artist[] = { + obj_frame_tiles(gEventObjectPic_Artist_0), + obj_frame_tiles(gEventObjectPic_Artist_1), + obj_frame_tiles(gEventObjectPic_Artist_2), + obj_frame_tiles(gEventObjectPic_Artist_3), + obj_frame_tiles(gEventObjectPic_Artist_4), + obj_frame_tiles(gEventObjectPic_Artist_5), + obj_frame_tiles(gEventObjectPic_Artist_6), + obj_frame_tiles(gEventObjectPic_Artist_7), + obj_frame_tiles(gEventObjectPic_Artist_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MayNormal[] = { + obj_frame_tiles(gEventObjectPic_MayNormal_0), + obj_frame_tiles(gEventObjectPic_MayNormal_1), + obj_frame_tiles(gEventObjectPic_MayNormal_2), + obj_frame_tiles(gEventObjectPic_MayNormal_3), + obj_frame_tiles(gEventObjectPic_MayNormal_4), + obj_frame_tiles(gEventObjectPic_MayNormal_5), + obj_frame_tiles(gEventObjectPic_MayNormal_6), + obj_frame_tiles(gEventObjectPic_MayNormal_7), + obj_frame_tiles(gEventObjectPic_MayNormal_8), + obj_frame_tiles(gEventObjectPic_MayNormal_9), + obj_frame_tiles(gEventObjectPic_MayNormal_10), + obj_frame_tiles(gEventObjectPic_MayNormal_11), + obj_frame_tiles(gEventObjectPic_MayNormal_12), + obj_frame_tiles(gEventObjectPic_MayNormal_13), + obj_frame_tiles(gEventObjectPic_MayNormal_14), + obj_frame_tiles(gEventObjectPic_MayNormal_15), + obj_frame_tiles(gEventObjectPic_MayNormal_16), + obj_frame_tiles(gEventObjectPic_MayNormal_17), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MayMachBike[] = { + obj_frame_tiles(gEventObjectPic_MayMachBike_0), + obj_frame_tiles(gEventObjectPic_MayMachBike_1), + obj_frame_tiles(gEventObjectPic_MayMachBike_2), + obj_frame_tiles(gEventObjectPic_MayMachBike_3), + obj_frame_tiles(gEventObjectPic_MayMachBike_4), + obj_frame_tiles(gEventObjectPic_MayMachBike_5), + obj_frame_tiles(gEventObjectPic_MayMachBike_6), + obj_frame_tiles(gEventObjectPic_MayMachBike_7), + obj_frame_tiles(gEventObjectPic_MayMachBike_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MayAcroBike[] = { + obj_frame_tiles(gEventObjectPic_MayAcroBike_0), + obj_frame_tiles(gEventObjectPic_MayAcroBike_1), + obj_frame_tiles(gEventObjectPic_MayAcroBike_2), + obj_frame_tiles(gEventObjectPic_MayAcroBike_3), + obj_frame_tiles(gEventObjectPic_MayAcroBike_4), + obj_frame_tiles(gEventObjectPic_MayAcroBike_5), + obj_frame_tiles(gEventObjectPic_MayAcroBike_6), + obj_frame_tiles(gEventObjectPic_MayAcroBike_7), + obj_frame_tiles(gEventObjectPic_MayAcroBike_8), + obj_frame_tiles(gEventObjectPic_MayAcroBike_9), + obj_frame_tiles(gEventObjectPic_MayAcroBike_10), + obj_frame_tiles(gEventObjectPic_MayAcroBike_11), + obj_frame_tiles(gEventObjectPic_MayAcroBike_12), + obj_frame_tiles(gEventObjectPic_MayAcroBike_13), + obj_frame_tiles(gEventObjectPic_MayAcroBike_14), + obj_frame_tiles(gEventObjectPic_MayAcroBike_15), + obj_frame_tiles(gEventObjectPic_MayAcroBike_16), + obj_frame_tiles(gEventObjectPic_MayAcroBike_17), + obj_frame_tiles(gEventObjectPic_MayAcroBike_18), + obj_frame_tiles(gEventObjectPic_MayAcroBike_19), + obj_frame_tiles(gEventObjectPic_MayAcroBike_20), + obj_frame_tiles(gEventObjectPic_MayAcroBike_21), + obj_frame_tiles(gEventObjectPic_MayAcroBike_22), + obj_frame_tiles(gEventObjectPic_MayAcroBike_23), + obj_frame_tiles(gEventObjectPic_MayAcroBike_24), + obj_frame_tiles(gEventObjectPic_MayAcroBike_25), + obj_frame_tiles(gEventObjectPic_MayAcroBike_26), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MaySurfing[] = { + obj_frame_tiles(gEventObjectPic_MaySurfing_0), + obj_frame_tiles(gEventObjectPic_MaySurfing_1), + obj_frame_tiles(gEventObjectPic_MaySurfing_2), + obj_frame_tiles(gEventObjectPic_MaySurfing_0), + obj_frame_tiles(gEventObjectPic_MaySurfing_0), + obj_frame_tiles(gEventObjectPic_MaySurfing_1), + obj_frame_tiles(gEventObjectPic_MaySurfing_1), + obj_frame_tiles(gEventObjectPic_MaySurfing_2), + obj_frame_tiles(gEventObjectPic_MaySurfing_2), + obj_frame_tiles(gEventObjectPic_MaySurfing_3), + obj_frame_tiles(gEventObjectPic_MaySurfing_4), + obj_frame_tiles(gEventObjectPic_MaySurfing_5), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MayUnderwater[] = { + obj_frame_tiles(gEventObjectPic_MayUnderwater_0), + obj_frame_tiles(gEventObjectPic_MayUnderwater_1), + obj_frame_tiles(gEventObjectPic_MayUnderwater_2), + obj_frame_tiles(gEventObjectPic_MayUnderwater_0), + obj_frame_tiles(gEventObjectPic_MayUnderwater_0), + obj_frame_tiles(gEventObjectPic_MayUnderwater_1), + obj_frame_tiles(gEventObjectPic_MayUnderwater_1), + obj_frame_tiles(gEventObjectPic_MayUnderwater_2), + obj_frame_tiles(gEventObjectPic_MayUnderwater_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MayFieldMove[] = { + obj_frame_tiles(gEventObjectPic_MayFieldMove_0), + obj_frame_tiles(gEventObjectPic_MayFieldMove_1), + obj_frame_tiles(gEventObjectPic_MayFieldMove_2), + obj_frame_tiles(gEventObjectPic_MayFieldMove_3), + obj_frame_tiles(gEventObjectPic_MayFieldMove_4), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Cameraman[] = { + obj_frame_tiles(gEventObjectPic_Cameraman_0), + obj_frame_tiles(gEventObjectPic_Cameraman_1), + obj_frame_tiles(gEventObjectPic_Cameraman_2), + obj_frame_tiles(gEventObjectPic_Cameraman_3), + obj_frame_tiles(gEventObjectPic_Cameraman_4), + obj_frame_tiles(gEventObjectPic_Cameraman_5), + obj_frame_tiles(gEventObjectPic_Cameraman_6), + obj_frame_tiles(gEventObjectPic_Cameraman_7), + obj_frame_tiles(gEventObjectPic_Cameraman_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MovingBox[] = { + obj_frame_tiles(gEventObjectPic_MovingBox), +}; + +const struct SpriteFrameImage gEventObjectPicTable_CableCar[] = { + obj_frame_tiles(gEventObjectPic_CableCar), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Scientist2[] = { + obj_frame_tiles(gEventObjectPic_Scientist2_0), + obj_frame_tiles(gEventObjectPic_Scientist2_1), + obj_frame_tiles(gEventObjectPic_Scientist2_2), + obj_frame_tiles(gEventObjectPic_Scientist2_3), + obj_frame_tiles(gEventObjectPic_Scientist2_4), + obj_frame_tiles(gEventObjectPic_Scientist2_5), + obj_frame_tiles(gEventObjectPic_Scientist2_6), + obj_frame_tiles(gEventObjectPic_Scientist2_7), + obj_frame_tiles(gEventObjectPic_Scientist2_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Man7[] = { + obj_frame_tiles(gEventObjectPic_Man7_0), + obj_frame_tiles(gEventObjectPic_Man7_1), + obj_frame_tiles(gEventObjectPic_Man7_2), + obj_frame_tiles(gEventObjectPic_Man7_3), + obj_frame_tiles(gEventObjectPic_Man7_4), + obj_frame_tiles(gEventObjectPic_Man7_5), + obj_frame_tiles(gEventObjectPic_Man7_6), + obj_frame_tiles(gEventObjectPic_Man7_7), + obj_frame_tiles(gEventObjectPic_Man7_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_AquaMemberM[] = { + obj_frame_tiles(gEventObjectPic_AquaMemberM_0), + obj_frame_tiles(gEventObjectPic_AquaMemberM_1), + obj_frame_tiles(gEventObjectPic_AquaMemberM_2), + obj_frame_tiles(gEventObjectPic_AquaMemberM_3), + obj_frame_tiles(gEventObjectPic_AquaMemberM_4), + obj_frame_tiles(gEventObjectPic_AquaMemberM_5), + obj_frame_tiles(gEventObjectPic_AquaMemberM_6), + obj_frame_tiles(gEventObjectPic_AquaMemberM_7), + obj_frame_tiles(gEventObjectPic_AquaMemberM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_AquaMemberF[] = { + obj_frame_tiles(gEventObjectPic_AquaMemberF_0), + obj_frame_tiles(gEventObjectPic_AquaMemberF_1), + obj_frame_tiles(gEventObjectPic_AquaMemberF_2), + obj_frame_tiles(gEventObjectPic_AquaMemberF_3), + obj_frame_tiles(gEventObjectPic_AquaMemberF_4), + obj_frame_tiles(gEventObjectPic_AquaMemberF_5), + obj_frame_tiles(gEventObjectPic_AquaMemberF_6), + obj_frame_tiles(gEventObjectPic_AquaMemberF_7), + obj_frame_tiles(gEventObjectPic_AquaMemberF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberM[] = { + obj_frame_tiles(gEventObjectPic_MagmaMemberM_0), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_1), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_2), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_3), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_4), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_5), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_6), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_7), + obj_frame_tiles(gEventObjectPic_MagmaMemberM_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MagmaMemberF[] = { + obj_frame_tiles(gEventObjectPic_MagmaMemberF_0), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_1), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_2), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_3), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_4), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_5), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_6), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_7), + obj_frame_tiles(gEventObjectPic_MagmaMemberF_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Sidney[] = { + obj_frame_tiles(gEventObjectPic_Sidney_0), + obj_frame_tiles(gEventObjectPic_Sidney_1), + obj_frame_tiles(gEventObjectPic_Sidney_2), + obj_frame_tiles(gEventObjectPic_Sidney_0), + obj_frame_tiles(gEventObjectPic_Sidney_0), + obj_frame_tiles(gEventObjectPic_Sidney_1), + obj_frame_tiles(gEventObjectPic_Sidney_1), + obj_frame_tiles(gEventObjectPic_Sidney_2), + obj_frame_tiles(gEventObjectPic_Sidney_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Phoebe[] = { + obj_frame_tiles(gEventObjectPic_Phoebe_0), + obj_frame_tiles(gEventObjectPic_Phoebe_1), + obj_frame_tiles(gEventObjectPic_Phoebe_2), + obj_frame_tiles(gEventObjectPic_Phoebe_0), + obj_frame_tiles(gEventObjectPic_Phoebe_0), + obj_frame_tiles(gEventObjectPic_Phoebe_1), + obj_frame_tiles(gEventObjectPic_Phoebe_1), + obj_frame_tiles(gEventObjectPic_Phoebe_2), + obj_frame_tiles(gEventObjectPic_Phoebe_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Glacia[] = { + obj_frame_tiles(gEventObjectPic_Glacia_0), + obj_frame_tiles(gEventObjectPic_Glacia_1), + obj_frame_tiles(gEventObjectPic_Glacia_2), + obj_frame_tiles(gEventObjectPic_Glacia_0), + obj_frame_tiles(gEventObjectPic_Glacia_0), + obj_frame_tiles(gEventObjectPic_Glacia_1), + obj_frame_tiles(gEventObjectPic_Glacia_1), + obj_frame_tiles(gEventObjectPic_Glacia_2), + obj_frame_tiles(gEventObjectPic_Glacia_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Drake[] = { + obj_frame_tiles(gEventObjectPic_Drake_0), + obj_frame_tiles(gEventObjectPic_Drake_1), + obj_frame_tiles(gEventObjectPic_Drake_2), + obj_frame_tiles(gEventObjectPic_Drake_0), + obj_frame_tiles(gEventObjectPic_Drake_0), + obj_frame_tiles(gEventObjectPic_Drake_1), + obj_frame_tiles(gEventObjectPic_Drake_1), + obj_frame_tiles(gEventObjectPic_Drake_2), + obj_frame_tiles(gEventObjectPic_Drake_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Roxanne[] = { + obj_frame_tiles(gEventObjectPic_Roxanne_0), + obj_frame_tiles(gEventObjectPic_Roxanne_1), + obj_frame_tiles(gEventObjectPic_Roxanne_2), + obj_frame_tiles(gEventObjectPic_Roxanne_0), + obj_frame_tiles(gEventObjectPic_Roxanne_0), + obj_frame_tiles(gEventObjectPic_Roxanne_1), + obj_frame_tiles(gEventObjectPic_Roxanne_1), + obj_frame_tiles(gEventObjectPic_Roxanne_2), + obj_frame_tiles(gEventObjectPic_Roxanne_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Brawly[] = { + obj_frame_tiles(gEventObjectPic_Brawly_0), + obj_frame_tiles(gEventObjectPic_Brawly_1), + obj_frame_tiles(gEventObjectPic_Brawly_2), + obj_frame_tiles(gEventObjectPic_Brawly_0), + obj_frame_tiles(gEventObjectPic_Brawly_0), + obj_frame_tiles(gEventObjectPic_Brawly_1), + obj_frame_tiles(gEventObjectPic_Brawly_1), + obj_frame_tiles(gEventObjectPic_Brawly_2), + obj_frame_tiles(gEventObjectPic_Brawly_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Wattson[] = { + obj_frame_tiles(gEventObjectPic_Wattson_0), + obj_frame_tiles(gEventObjectPic_Wattson_1), + obj_frame_tiles(gEventObjectPic_Wattson_2), + obj_frame_tiles(gEventObjectPic_Wattson_0), + obj_frame_tiles(gEventObjectPic_Wattson_0), + obj_frame_tiles(gEventObjectPic_Wattson_1), + obj_frame_tiles(gEventObjectPic_Wattson_1), + obj_frame_tiles(gEventObjectPic_Wattson_2), + obj_frame_tiles(gEventObjectPic_Wattson_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Flannery[] = { + obj_frame_tiles(gEventObjectPic_Flannery_0), + obj_frame_tiles(gEventObjectPic_Flannery_1), + obj_frame_tiles(gEventObjectPic_Flannery_2), + obj_frame_tiles(gEventObjectPic_Flannery_0), + obj_frame_tiles(gEventObjectPic_Flannery_0), + obj_frame_tiles(gEventObjectPic_Flannery_1), + obj_frame_tiles(gEventObjectPic_Flannery_1), + obj_frame_tiles(gEventObjectPic_Flannery_2), + obj_frame_tiles(gEventObjectPic_Flannery_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Norman[] = { + obj_frame_tiles(gEventObjectPic_Norman_0), + obj_frame_tiles(gEventObjectPic_Norman_1), + obj_frame_tiles(gEventObjectPic_Norman_2), + obj_frame_tiles(gEventObjectPic_Norman_3), + obj_frame_tiles(gEventObjectPic_Norman_4), + obj_frame_tiles(gEventObjectPic_Norman_5), + obj_frame_tiles(gEventObjectPic_Norman_6), + obj_frame_tiles(gEventObjectPic_Norman_7), + obj_frame_tiles(gEventObjectPic_Norman_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Winona[] = { + obj_frame_tiles(gEventObjectPic_Winona_0), + obj_frame_tiles(gEventObjectPic_Winona_1), + obj_frame_tiles(gEventObjectPic_Winona_2), + obj_frame_tiles(gEventObjectPic_Winona_0), + obj_frame_tiles(gEventObjectPic_Winona_0), + obj_frame_tiles(gEventObjectPic_Winona_1), + obj_frame_tiles(gEventObjectPic_Winona_1), + obj_frame_tiles(gEventObjectPic_Winona_2), + obj_frame_tiles(gEventObjectPic_Winona_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Liza[] = { + obj_frame_tiles(gEventObjectPic_Liza_0), + obj_frame_tiles(gEventObjectPic_Liza_1), + obj_frame_tiles(gEventObjectPic_Liza_2), + obj_frame_tiles(gEventObjectPic_Liza_0), + obj_frame_tiles(gEventObjectPic_Liza_0), + obj_frame_tiles(gEventObjectPic_Liza_1), + obj_frame_tiles(gEventObjectPic_Liza_1), + obj_frame_tiles(gEventObjectPic_Liza_2), + obj_frame_tiles(gEventObjectPic_Liza_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Tate[] = { + obj_frame_tiles(gEventObjectPic_Tate_0), + obj_frame_tiles(gEventObjectPic_Tate_1), + obj_frame_tiles(gEventObjectPic_Tate_2), + obj_frame_tiles(gEventObjectPic_Tate_0), + obj_frame_tiles(gEventObjectPic_Tate_0), + obj_frame_tiles(gEventObjectPic_Tate_1), + obj_frame_tiles(gEventObjectPic_Tate_1), + obj_frame_tiles(gEventObjectPic_Tate_2), + obj_frame_tiles(gEventObjectPic_Tate_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Wallace[] = { + obj_frame_tiles(gEventObjectPic_Wallace_0), + obj_frame_tiles(gEventObjectPic_Wallace_1), + obj_frame_tiles(gEventObjectPic_Wallace_2), + obj_frame_tiles(gEventObjectPic_Wallace_3), + obj_frame_tiles(gEventObjectPic_Wallace_4), + obj_frame_tiles(gEventObjectPic_Wallace_5), + obj_frame_tiles(gEventObjectPic_Wallace_6), + obj_frame_tiles(gEventObjectPic_Wallace_7), + obj_frame_tiles(gEventObjectPic_Wallace_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Steven[] = { + obj_frame_tiles(gEventObjectPic_Steven_0), + obj_frame_tiles(gEventObjectPic_Steven_1), + obj_frame_tiles(gEventObjectPic_Steven_2), + obj_frame_tiles(gEventObjectPic_Steven_3), + obj_frame_tiles(gEventObjectPic_Steven_4), + obj_frame_tiles(gEventObjectPic_Steven_5), + obj_frame_tiles(gEventObjectPic_Steven_6), + obj_frame_tiles(gEventObjectPic_Steven_7), + obj_frame_tiles(gEventObjectPic_Steven_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Wally[] = { + obj_frame_tiles(gEventObjectPic_Wally_0), + obj_frame_tiles(gEventObjectPic_Wally_1), + obj_frame_tiles(gEventObjectPic_Wally_2), + obj_frame_tiles(gEventObjectPic_Wally_3), + obj_frame_tiles(gEventObjectPic_Wally_4), + obj_frame_tiles(gEventObjectPic_Wally_5), + obj_frame_tiles(gEventObjectPic_Wally_6), + obj_frame_tiles(gEventObjectPic_Wally_7), + obj_frame_tiles(gEventObjectPic_Wally_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RubySapphireLittleBoy[] = { + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_0), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_1), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_2), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_3), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_4), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_5), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_6), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_7), + obj_frame_tiles(gEventObjectPic_RubySapphireLittleBoy_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BrendanFishing[] = { + obj_frame_tiles(gEventObjectPic_BrendanFishing_0), + obj_frame_tiles(gEventObjectPic_BrendanFishing_1), + obj_frame_tiles(gEventObjectPic_BrendanFishing_2), + obj_frame_tiles(gEventObjectPic_BrendanFishing_3), + obj_frame_tiles(gEventObjectPic_BrendanFishing_4), + obj_frame_tiles(gEventObjectPic_BrendanFishing_5), + obj_frame_tiles(gEventObjectPic_BrendanFishing_6), + obj_frame_tiles(gEventObjectPic_BrendanFishing_7), + obj_frame_tiles(gEventObjectPic_BrendanFishing_8), + obj_frame_tiles(gEventObjectPic_BrendanFishing_9), + obj_frame_tiles(gEventObjectPic_BrendanFishing_10), + obj_frame_tiles(gEventObjectPic_BrendanFishing_11), }; -const struct SpriteFrameImage gFieldObjectPicTable_MayFishing[] = { - obj_frame_tiles(gFieldObjectPic_MayFishing_0), - obj_frame_tiles(gFieldObjectPic_MayFishing_1), - obj_frame_tiles(gFieldObjectPic_MayFishing_2), - obj_frame_tiles(gFieldObjectPic_MayFishing_3), - obj_frame_tiles(gFieldObjectPic_MayFishing_4), - obj_frame_tiles(gFieldObjectPic_MayFishing_5), - obj_frame_tiles(gFieldObjectPic_MayFishing_6), - obj_frame_tiles(gFieldObjectPic_MayFishing_7), - obj_frame_tiles(gFieldObjectPic_MayFishing_8), - obj_frame_tiles(gFieldObjectPic_MayFishing_9), - obj_frame_tiles(gFieldObjectPic_MayFishing_10), - obj_frame_tiles(gFieldObjectPic_MayFishing_11), +const struct SpriteFrameImage gEventObjectPicTable_MayFishing[] = { + obj_frame_tiles(gEventObjectPic_MayFishing_0), + obj_frame_tiles(gEventObjectPic_MayFishing_1), + obj_frame_tiles(gEventObjectPic_MayFishing_2), + obj_frame_tiles(gEventObjectPic_MayFishing_3), + obj_frame_tiles(gEventObjectPic_MayFishing_4), + obj_frame_tiles(gEventObjectPic_MayFishing_5), + obj_frame_tiles(gEventObjectPic_MayFishing_6), + obj_frame_tiles(gEventObjectPic_MayFishing_7), + obj_frame_tiles(gEventObjectPic_MayFishing_8), + obj_frame_tiles(gEventObjectPic_MayFishing_9), + obj_frame_tiles(gEventObjectPic_MayFishing_10), + obj_frame_tiles(gEventObjectPic_MayFishing_11), }; -const struct SpriteFrameImage gFieldObjectPicTable_HotSpringsOldWoman[] = { - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_0), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_1), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_2), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_3), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_4), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_5), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_6), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_7), - obj_frame_tiles(gFieldObjectPic_HotSpringsOldWoman_8), +const struct SpriteFrameImage gEventObjectPicTable_HotSpringsOldWoman[] = { + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_0), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_1), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_2), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_3), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_4), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_5), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_6), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_7), + obj_frame_tiles(gEventObjectPic_HotSpringsOldWoman_8), }; -const struct SpriteFrameImage gFieldObjectPicTable_SSTidal[] = { - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), - obj_frame_tiles(gFieldObjectPic_SSTidal), +const struct SpriteFrameImage gEventObjectPicTable_SSTidal[] = { + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), + obj_frame_tiles(gEventObjectPic_SSTidal), }; -const struct SpriteFrameImage gFieldObjectPicTable_SubmarineShadow[] = { - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), - obj_frame_tiles(gFieldObjectPic_SubmarineShadow), +const struct SpriteFrameImage gEventObjectPicTable_SubmarineShadow[] = { + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), + obj_frame_tiles(gEventObjectPic_SubmarineShadow), }; -const struct SpriteFrameImage gFieldObjectPicTable_PichuDoll[] = { - obj_frame_tiles(gFieldObjectPic_PichuDoll), +const struct SpriteFrameImage gEventObjectPicTable_PichuDoll[] = { + obj_frame_tiles(gEventObjectPic_PichuDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_PikachuDoll[] = { - obj_frame_tiles(gFieldObjectPic_PikachuDoll), +const struct SpriteFrameImage gEventObjectPicTable_PikachuDoll[] = { + obj_frame_tiles(gEventObjectPic_PikachuDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_MarillDoll[] = { - obj_frame_tiles(gFieldObjectPic_MarillDoll), +const struct SpriteFrameImage gEventObjectPicTable_MarillDoll[] = { + obj_frame_tiles(gEventObjectPic_MarillDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_TogepiDoll[] = { - obj_frame_tiles(gFieldObjectPic_TogepiDoll), +const struct SpriteFrameImage gEventObjectPicTable_TogepiDoll[] = { + obj_frame_tiles(gEventObjectPic_TogepiDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_CyndaquilDoll[] = { - obj_frame_tiles(gFieldObjectPic_CyndaquilDoll), +const struct SpriteFrameImage gEventObjectPicTable_CyndaquilDoll[] = { + obj_frame_tiles(gEventObjectPic_CyndaquilDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_ChikoritaDoll[] = { - obj_frame_tiles(gFieldObjectPic_ChikoritaDoll), +const struct SpriteFrameImage gEventObjectPicTable_ChikoritaDoll[] = { + obj_frame_tiles(gEventObjectPic_ChikoritaDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_TotodileDoll[] = { - obj_frame_tiles(gFieldObjectPic_TotodileDoll), +const struct SpriteFrameImage gEventObjectPicTable_TotodileDoll[] = { + obj_frame_tiles(gEventObjectPic_TotodileDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_JigglypuffDoll[] = { - obj_frame_tiles(gFieldObjectPic_JigglypuffDoll), +const struct SpriteFrameImage gEventObjectPicTable_JigglypuffDoll[] = { + obj_frame_tiles(gEventObjectPic_JigglypuffDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_MeowthDoll[] = { - obj_frame_tiles(gFieldObjectPic_MeowthDoll), +const struct SpriteFrameImage gEventObjectPicTable_MeowthDoll[] = { + obj_frame_tiles(gEventObjectPic_MeowthDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_ClefairyDoll[] = { - obj_frame_tiles(gFieldObjectPic_ClefairyDoll), +const struct SpriteFrameImage gEventObjectPicTable_ClefairyDoll[] = { + obj_frame_tiles(gEventObjectPic_ClefairyDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_DittoDoll[] = { - obj_frame_tiles(gFieldObjectPic_DittoDoll), +const struct SpriteFrameImage gEventObjectPicTable_DittoDoll[] = { + obj_frame_tiles(gEventObjectPic_DittoDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_SmoochumDoll[] = { - obj_frame_tiles(gFieldObjectPic_SmoochumDoll), +const struct SpriteFrameImage gEventObjectPicTable_SmoochumDoll[] = { + obj_frame_tiles(gEventObjectPic_SmoochumDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_TreeckoDoll[] = { - obj_frame_tiles(gFieldObjectPic_TreeckoDoll), +const struct SpriteFrameImage gEventObjectPicTable_TreeckoDoll[] = { + obj_frame_tiles(gEventObjectPic_TreeckoDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_TorchicDoll[] = { - obj_frame_tiles(gFieldObjectPic_TorchicDoll), +const struct SpriteFrameImage gEventObjectPicTable_TorchicDoll[] = { + obj_frame_tiles(gEventObjectPic_TorchicDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_MudkipDoll[] = { - obj_frame_tiles(gFieldObjectPic_MudkipDoll), +const struct SpriteFrameImage gEventObjectPicTable_MudkipDoll[] = { + obj_frame_tiles(gEventObjectPic_MudkipDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_DuskullDoll[] = { - obj_frame_tiles(gFieldObjectPic_DuskullDoll), +const struct SpriteFrameImage gEventObjectPicTable_DuskullDoll[] = { + obj_frame_tiles(gEventObjectPic_DuskullDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_WynautDoll[] = { - obj_frame_tiles(gFieldObjectPic_WynautDoll), +const struct SpriteFrameImage gEventObjectPicTable_WynautDoll[] = { + obj_frame_tiles(gEventObjectPic_WynautDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BaltoyDoll[] = { - obj_frame_tiles(gFieldObjectPic_BaltoyDoll), +const struct SpriteFrameImage gEventObjectPicTable_BaltoyDoll[] = { + obj_frame_tiles(gEventObjectPic_BaltoyDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_KecleonDoll[] = { - obj_frame_tiles(gFieldObjectPic_KecleonDoll), +const struct SpriteFrameImage gEventObjectPicTable_KecleonDoll[] = { + obj_frame_tiles(gEventObjectPic_KecleonDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_AzurillDoll[] = { - obj_frame_tiles(gFieldObjectPic_AzurillDoll), +const struct SpriteFrameImage gEventObjectPicTable_AzurillDoll[] = { + obj_frame_tiles(gEventObjectPic_AzurillDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_SkittyDoll[] = { - obj_frame_tiles(gFieldObjectPic_SkittyDoll), +const struct SpriteFrameImage gEventObjectPicTable_SkittyDoll[] = { + obj_frame_tiles(gEventObjectPic_SkittyDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_SwabluDoll[] = { - obj_frame_tiles(gFieldObjectPic_SwabluDoll), +const struct SpriteFrameImage gEventObjectPicTable_SwabluDoll[] = { + obj_frame_tiles(gEventObjectPic_SwabluDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_GulpinDoll[] = { - obj_frame_tiles(gFieldObjectPic_GulpinDoll), +const struct SpriteFrameImage gEventObjectPicTable_GulpinDoll[] = { + obj_frame_tiles(gEventObjectPic_GulpinDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_LotadDoll[] = { - obj_frame_tiles(gFieldObjectPic_LotadDoll), +const struct SpriteFrameImage gEventObjectPicTable_LotadDoll[] = { + obj_frame_tiles(gEventObjectPic_LotadDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_SeedotDoll[] = { - obj_frame_tiles(gFieldObjectPic_SeedotDoll), +const struct SpriteFrameImage gEventObjectPicTable_SeedotDoll[] = { + obj_frame_tiles(gEventObjectPic_SeedotDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_PikaCushion[] = { - obj_frame_tiles(gFieldObjectPic_PikaCushion), +const struct SpriteFrameImage gEventObjectPicTable_PikaCushion[] = { + obj_frame_tiles(gEventObjectPic_PikaCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_RoundCushion[] = { - obj_frame_tiles(gFieldObjectPic_RoundCushion), +const struct SpriteFrameImage gEventObjectPicTable_RoundCushion[] = { + obj_frame_tiles(gEventObjectPic_RoundCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_KissCushion[] = { - obj_frame_tiles(gFieldObjectPic_KissCushion), +const struct SpriteFrameImage gEventObjectPicTable_KissCushion[] = { + obj_frame_tiles(gEventObjectPic_KissCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_ZigzagCushion[] = { - obj_frame_tiles(gFieldObjectPic_ZigzagCushion), +const struct SpriteFrameImage gEventObjectPicTable_ZigzagCushion[] = { + obj_frame_tiles(gEventObjectPic_ZigzagCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_SpinCushion[] = { - obj_frame_tiles(gFieldObjectPic_SpinCushion), +const struct SpriteFrameImage gEventObjectPicTable_SpinCushion[] = { + obj_frame_tiles(gEventObjectPic_SpinCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_DiamondCushion[] = { - obj_frame_tiles(gFieldObjectPic_DiamondCushion), +const struct SpriteFrameImage gEventObjectPicTable_DiamondCushion[] = { + obj_frame_tiles(gEventObjectPic_DiamondCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_BallCushion[] = { - obj_frame_tiles(gFieldObjectPic_BallCushion), +const struct SpriteFrameImage gEventObjectPicTable_BallCushion[] = { + obj_frame_tiles(gEventObjectPic_BallCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_GrassCushion[] = { - obj_frame_tiles(gFieldObjectPic_GrassCushion), +const struct SpriteFrameImage gEventObjectPicTable_GrassCushion[] = { + obj_frame_tiles(gEventObjectPic_GrassCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_FireCushion[] = { - obj_frame_tiles(gFieldObjectPic_FireCushion), +const struct SpriteFrameImage gEventObjectPicTable_FireCushion[] = { + obj_frame_tiles(gEventObjectPic_FireCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_WaterCushion[] = { - obj_frame_tiles(gFieldObjectPic_WaterCushion), +const struct SpriteFrameImage gEventObjectPicTable_WaterCushion[] = { + obj_frame_tiles(gEventObjectPic_WaterCushion), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigSnorlaxDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigSnorlaxDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigSnorlaxDoll[] = { + obj_frame_tiles(gEventObjectPic_BigSnorlaxDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigRhydonDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigRhydonDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigRhydonDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRhydonDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigLaprasDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigLaprasDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigLaprasDoll[] = { + obj_frame_tiles(gEventObjectPic_BigLaprasDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigVenusaurDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigVenusaurDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigVenusaurDoll[] = { + obj_frame_tiles(gEventObjectPic_BigVenusaurDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigCharizardDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigCharizardDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigCharizardDoll[] = { + obj_frame_tiles(gEventObjectPic_BigCharizardDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigBlastoiseDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigBlastoiseDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigBlastoiseDoll[] = { + obj_frame_tiles(gEventObjectPic_BigBlastoiseDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigWailmerDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigWailmerDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigWailmerDoll[] = { + obj_frame_tiles(gEventObjectPic_BigWailmerDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigRegirockDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigRegirockDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigRegirockDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRegirockDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigRegiceDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigRegiceDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigRegiceDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRegiceDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_BigRegisteelDoll[] = { - obj_frame_tiles(gFieldObjectPic_BigRegisteelDoll), +const struct SpriteFrameImage gEventObjectPicTable_BigRegisteelDoll[] = { + obj_frame_tiles(gEventObjectPic_BigRegisteelDoll), }; -const struct SpriteFrameImage gFieldObjectPicTable_LatiasLatios[] = { - obj_frame_tiles(gFieldObjectPic_LatiasLatios_0), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_0), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_0), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_1), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_2), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_1), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_2), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_1), - obj_frame_tiles(gFieldObjectPic_LatiasLatios_2), +const struct SpriteFrameImage gEventObjectPicTable_LatiasLatios[] = { + obj_frame_tiles(gEventObjectPic_LatiasLatios_0), + obj_frame_tiles(gEventObjectPic_LatiasLatios_0), + obj_frame_tiles(gEventObjectPic_LatiasLatios_0), + obj_frame_tiles(gEventObjectPic_LatiasLatios_1), + obj_frame_tiles(gEventObjectPic_LatiasLatios_2), + obj_frame_tiles(gEventObjectPic_LatiasLatios_1), + obj_frame_tiles(gEventObjectPic_LatiasLatios_2), + obj_frame_tiles(gEventObjectPic_LatiasLatios_1), + obj_frame_tiles(gEventObjectPic_LatiasLatios_2), }; -const struct SpriteFrameImage gFieldObjectPicTable_Boy5[] = { - obj_frame_tiles(gFieldObjectPic_Boy5_0), - obj_frame_tiles(gFieldObjectPic_Boy5_1), - obj_frame_tiles(gFieldObjectPic_Boy5_2), - obj_frame_tiles(gFieldObjectPic_Boy5_0), - obj_frame_tiles(gFieldObjectPic_Boy5_0), - obj_frame_tiles(gFieldObjectPic_Boy5_1), - obj_frame_tiles(gFieldObjectPic_Boy5_1), - obj_frame_tiles(gFieldObjectPic_Boy5_2), - obj_frame_tiles(gFieldObjectPic_Boy5_2), +const struct SpriteFrameImage gEventObjectPicTable_Boy5[] = { + obj_frame_tiles(gEventObjectPic_Boy5_0), + obj_frame_tiles(gEventObjectPic_Boy5_1), + obj_frame_tiles(gEventObjectPic_Boy5_2), + obj_frame_tiles(gEventObjectPic_Boy5_0), + obj_frame_tiles(gEventObjectPic_Boy5_0), + obj_frame_tiles(gEventObjectPic_Boy5_1), + obj_frame_tiles(gEventObjectPic_Boy5_1), + obj_frame_tiles(gEventObjectPic_Boy5_2), + obj_frame_tiles(gEventObjectPic_Boy5_2), }; -const struct SpriteFrameImage gFieldObjectPicTable_ContestOldMan[] = { - obj_frame_tiles(gFieldObjectPic_ContestOldMan_0), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_1), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_2), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_3), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_4), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_5), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_6), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_7), - obj_frame_tiles(gFieldObjectPic_ContestOldMan_8), +const struct SpriteFrameImage gEventObjectPicTable_ContestOldMan[] = { + obj_frame_tiles(gEventObjectPic_ContestOldMan_0), + obj_frame_tiles(gEventObjectPic_ContestOldMan_1), + obj_frame_tiles(gEventObjectPic_ContestOldMan_2), + obj_frame_tiles(gEventObjectPic_ContestOldMan_3), + obj_frame_tiles(gEventObjectPic_ContestOldMan_4), + obj_frame_tiles(gEventObjectPic_ContestOldMan_5), + obj_frame_tiles(gEventObjectPic_ContestOldMan_6), + obj_frame_tiles(gEventObjectPic_ContestOldMan_7), + obj_frame_tiles(gEventObjectPic_ContestOldMan_8), }; -const struct SpriteFrameImage gFieldObjectPicTable_BrendanWatering[] = { - obj_frame_tiles(gFieldObjectPic_BrendanWatering_0), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_1), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_2), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_3), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_3), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_4), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_4), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_5), - obj_frame_tiles(gFieldObjectPic_BrendanWatering_5), +const struct SpriteFrameImage gEventObjectPicTable_BrendanWatering[] = { + obj_frame_tiles(gEventObjectPic_BrendanWatering_0), + obj_frame_tiles(gEventObjectPic_BrendanWatering_1), + obj_frame_tiles(gEventObjectPic_BrendanWatering_2), + obj_frame_tiles(gEventObjectPic_BrendanWatering_3), + obj_frame_tiles(gEventObjectPic_BrendanWatering_3), + obj_frame_tiles(gEventObjectPic_BrendanWatering_4), + obj_frame_tiles(gEventObjectPic_BrendanWatering_4), + obj_frame_tiles(gEventObjectPic_BrendanWatering_5), + obj_frame_tiles(gEventObjectPic_BrendanWatering_5), }; -const struct SpriteFrameImage gFieldObjectPicTable_MayWatering[] = { - obj_frame_tiles(gFieldObjectPic_MayWatering_0), - obj_frame_tiles(gFieldObjectPic_MayWatering_1), - obj_frame_tiles(gFieldObjectPic_MayWatering_2), - obj_frame_tiles(gFieldObjectPic_MayWatering_3), - obj_frame_tiles(gFieldObjectPic_MayWatering_3), - obj_frame_tiles(gFieldObjectPic_MayWatering_4), - obj_frame_tiles(gFieldObjectPic_MayWatering_4), - obj_frame_tiles(gFieldObjectPic_MayWatering_5), - obj_frame_tiles(gFieldObjectPic_MayWatering_5), +const struct SpriteFrameImage gEventObjectPicTable_MayWatering[] = { + obj_frame_tiles(gEventObjectPic_MayWatering_0), + obj_frame_tiles(gEventObjectPic_MayWatering_1), + obj_frame_tiles(gEventObjectPic_MayWatering_2), + obj_frame_tiles(gEventObjectPic_MayWatering_3), + obj_frame_tiles(gEventObjectPic_MayWatering_3), + obj_frame_tiles(gEventObjectPic_MayWatering_4), + obj_frame_tiles(gEventObjectPic_MayWatering_4), + obj_frame_tiles(gEventObjectPic_MayWatering_5), + obj_frame_tiles(gEventObjectPic_MayWatering_5), }; -const struct SpriteFrameImage gFieldObjectPicTable_BrendanDecorating[] = { - obj_frame_tiles(gFieldObjectPic_BrendanDecorating), +const struct SpriteFrameImage gEventObjectPicTable_BrendanDecorating[] = { + obj_frame_tiles(gEventObjectPic_BrendanDecorating), }; - -const struct SpriteFrameImage gFieldObjectPicTable_MayDecorating[] = { - obj_frame_tiles(gFieldObjectPic_MayDecorating), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Archie[] = { - obj_frame_tiles(gFieldObjectPic_Archie_0), - obj_frame_tiles(gFieldObjectPic_Archie_1), - obj_frame_tiles(gFieldObjectPic_Archie_2), - obj_frame_tiles(gFieldObjectPic_Archie_3), - obj_frame_tiles(gFieldObjectPic_Archie_4), - obj_frame_tiles(gFieldObjectPic_Archie_5), - obj_frame_tiles(gFieldObjectPic_Archie_6), - obj_frame_tiles(gFieldObjectPic_Archie_7), - obj_frame_tiles(gFieldObjectPic_Archie_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Maxie[] = { - obj_frame_tiles(gFieldObjectPic_Maxie_0), - obj_frame_tiles(gFieldObjectPic_Maxie_1), - obj_frame_tiles(gFieldObjectPic_Maxie_2), - obj_frame_tiles(gFieldObjectPic_Maxie_3), - obj_frame_tiles(gFieldObjectPic_Maxie_4), - obj_frame_tiles(gFieldObjectPic_Maxie_5), - obj_frame_tiles(gFieldObjectPic_Maxie_6), - obj_frame_tiles(gFieldObjectPic_Maxie_7), - obj_frame_tiles(gFieldObjectPic_Maxie_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_KyogreFront[] = { - obj_frame_tiles(gFieldObjectPic_KyogreFront_0), - obj_frame_tiles(gFieldObjectPic_KyogreFront_0), - obj_frame_tiles(gFieldObjectPic_KyogreFront_0), - obj_frame_tiles(gFieldObjectPic_KyogreFront_1), - obj_frame_tiles(gFieldObjectPic_KyogreFront_1), - obj_frame_tiles(gFieldObjectPic_KyogreFront_1), - obj_frame_tiles(gFieldObjectPic_KyogreFront_1), - obj_frame_tiles(gFieldObjectPic_KyogreFront_1), - obj_frame_tiles(gFieldObjectPic_KyogreFront_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_GroudonFront[] = { - obj_frame_tiles(gFieldObjectPic_GroudonFront_0), - obj_frame_tiles(gFieldObjectPic_GroudonFront_0), - obj_frame_tiles(gFieldObjectPic_GroudonFront_0), - obj_frame_tiles(gFieldObjectPic_GroudonFront_1), - obj_frame_tiles(gFieldObjectPic_GroudonFront_1), - obj_frame_tiles(gFieldObjectPic_GroudonFront_1), - obj_frame_tiles(gFieldObjectPic_GroudonFront_1), - obj_frame_tiles(gFieldObjectPic_GroudonFront_1), - obj_frame_tiles(gFieldObjectPic_GroudonFront_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_KyogreSide[] = { - obj_frame_tiles(gFieldObjectPic_KyogreSide_0), - obj_frame_tiles(gFieldObjectPic_KyogreSide_0), - obj_frame_tiles(gFieldObjectPic_KyogreSide_0), - obj_frame_tiles(gFieldObjectPic_KyogreSide_1), - obj_frame_tiles(gFieldObjectPic_KyogreSide_1), - obj_frame_tiles(gFieldObjectPic_KyogreSide_1), - obj_frame_tiles(gFieldObjectPic_KyogreSide_1), - obj_frame_tiles(gFieldObjectPic_KyogreSide_1), - obj_frame_tiles(gFieldObjectPic_KyogreSide_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_GroudonSide[] = { - obj_frame_tiles(gFieldObjectPic_GroudonSide_0), - obj_frame_tiles(gFieldObjectPic_GroudonSide_0), - obj_frame_tiles(gFieldObjectPic_GroudonSide_0), - obj_frame_tiles(gFieldObjectPic_GroudonSide_1), - obj_frame_tiles(gFieldObjectPic_GroudonSide_1), - obj_frame_tiles(gFieldObjectPic_GroudonSide_1), - obj_frame_tiles(gFieldObjectPic_GroudonSide_1), - obj_frame_tiles(gFieldObjectPic_GroudonSide_1), - obj_frame_tiles(gFieldObjectPic_GroudonSide_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Fossil[] = { - obj_frame_tiles(gFieldObjectPic_Fossil), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Regi[] = { - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), - obj_frame_tiles(gFieldObjectPic_Regi), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Skitty[] = { - obj_frame_tiles(gFieldObjectPic_Skitty_0), - obj_frame_tiles(gFieldObjectPic_Skitty_1), - obj_frame_tiles(gFieldObjectPic_Skitty_2), - obj_frame_tiles(gFieldObjectPic_Skitty_0), - obj_frame_tiles(gFieldObjectPic_Skitty_0), - obj_frame_tiles(gFieldObjectPic_Skitty_1), - obj_frame_tiles(gFieldObjectPic_Skitty_1), - obj_frame_tiles(gFieldObjectPic_Skitty_2), - obj_frame_tiles(gFieldObjectPic_Skitty_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Kecleon[] = { - obj_frame_tiles(gFieldObjectPic_Kecleon_0), - obj_frame_tiles(gFieldObjectPic_Kecleon_1), - obj_frame_tiles(gFieldObjectPic_Kecleon_2), - obj_frame_tiles(gFieldObjectPic_Kecleon_0), - obj_frame_tiles(gFieldObjectPic_Kecleon_0), - obj_frame_tiles(gFieldObjectPic_Kecleon_1), - obj_frame_tiles(gFieldObjectPic_Kecleon_1), - obj_frame_tiles(gFieldObjectPic_Kecleon_2), - obj_frame_tiles(gFieldObjectPic_Kecleon_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Rayquaza[] = { - obj_frame_tiles(gFieldObjectPic_Rayquaza_0), - obj_frame_tiles(gFieldObjectPic_Rayquaza_1), - obj_frame_tiles(gFieldObjectPic_Rayquaza_2), - obj_frame_tiles(gFieldObjectPic_Rayquaza_3), - obj_frame_tiles(gFieldObjectPic_Rayquaza_4), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RayquazaStill[] = { - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), - obj_frame_tiles(gFieldObjectPic_RayquazaStill), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Zigzagoon[] = { - obj_frame_tiles(gFieldObjectPic_Zigzagoon_0), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_1), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_2), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_0), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_0), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_1), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_1), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_2), - obj_frame_tiles(gFieldObjectPic_Zigzagoon_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Pikachu[] = { - obj_frame_tiles(gFieldObjectPic_Pikachu_0), - obj_frame_tiles(gFieldObjectPic_Pikachu_1), - obj_frame_tiles(gFieldObjectPic_Pikachu_2), - obj_frame_tiles(gFieldObjectPic_Pikachu_0), - obj_frame_tiles(gFieldObjectPic_Pikachu_0), - obj_frame_tiles(gFieldObjectPic_Pikachu_1), - obj_frame_tiles(gFieldObjectPic_Pikachu_1), - obj_frame_tiles(gFieldObjectPic_Pikachu_2), - obj_frame_tiles(gFieldObjectPic_Pikachu_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Azumarill[] = { - obj_frame_tiles(gFieldObjectPic_Azumarill_0), - obj_frame_tiles(gFieldObjectPic_Azumarill_1), - obj_frame_tiles(gFieldObjectPic_Azumarill_2), - obj_frame_tiles(gFieldObjectPic_Azumarill_0), - obj_frame_tiles(gFieldObjectPic_Azumarill_0), - obj_frame_tiles(gFieldObjectPic_Azumarill_1), - obj_frame_tiles(gFieldObjectPic_Azumarill_1), - obj_frame_tiles(gFieldObjectPic_Azumarill_2), - obj_frame_tiles(gFieldObjectPic_Azumarill_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Wingull[] = { - obj_frame_tiles(gFieldObjectPic_Wingull_0), - obj_frame_tiles(gFieldObjectPic_Wingull_1), - obj_frame_tiles(gFieldObjectPic_Wingull_2), - obj_frame_tiles(gFieldObjectPic_Wingull_3), - obj_frame_tiles(gFieldObjectPic_Wingull_3), - obj_frame_tiles(gFieldObjectPic_Wingull_4), - obj_frame_tiles(gFieldObjectPic_Wingull_4), - obj_frame_tiles(gFieldObjectPic_Wingull_5), - obj_frame_tiles(gFieldObjectPic_Wingull_5), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_TuberMSwimming[] = { - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_0), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_1), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_2), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_3), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_4), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_5), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_6), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_7), - obj_frame_tiles(gFieldObjectPic_TuberMSwimming_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Azurill[] = { - obj_frame_tiles(gFieldObjectPic_Azurill_0), - obj_frame_tiles(gFieldObjectPic_Azurill_1), - obj_frame_tiles(gFieldObjectPic_Azurill_2), - obj_frame_tiles(gFieldObjectPic_Azurill_0), - obj_frame_tiles(gFieldObjectPic_Azurill_0), - obj_frame_tiles(gFieldObjectPic_Azurill_1), - obj_frame_tiles(gFieldObjectPic_Azurill_1), - obj_frame_tiles(gFieldObjectPic_Azurill_2), - obj_frame_tiles(gFieldObjectPic_Azurill_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Mom[] = { - obj_frame_tiles(gFieldObjectPic_Mom_0), - obj_frame_tiles(gFieldObjectPic_Mom_1), - obj_frame_tiles(gFieldObjectPic_Mom_2), - obj_frame_tiles(gFieldObjectPic_Mom_3), - obj_frame_tiles(gFieldObjectPic_Mom_4), - obj_frame_tiles(gFieldObjectPic_Mom_5), - obj_frame_tiles(gFieldObjectPic_Mom_6), - obj_frame_tiles(gFieldObjectPic_Mom_7), - obj_frame_tiles(gFieldObjectPic_Mom_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Scott[] = { - obj_frame_tiles(gFieldObjectPic_Scott_0), - obj_frame_tiles(gFieldObjectPic_Scott_1), - obj_frame_tiles(gFieldObjectPic_Scott_2), - obj_frame_tiles(gFieldObjectPic_Scott_3), - obj_frame_tiles(gFieldObjectPic_Scott_4), - obj_frame_tiles(gFieldObjectPic_Scott_5), - obj_frame_tiles(gFieldObjectPic_Scott_6), - obj_frame_tiles(gFieldObjectPic_Scott_7), - obj_frame_tiles(gFieldObjectPic_Scott_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Juan[] = { - obj_frame_tiles(gFieldObjectPic_Juan_0), - obj_frame_tiles(gFieldObjectPic_Juan_1), - obj_frame_tiles(gFieldObjectPic_Juan_2), - obj_frame_tiles(gFieldObjectPic_Juan_3), - obj_frame_tiles(gFieldObjectPic_Juan_4), - obj_frame_tiles(gFieldObjectPic_Juan_5), - obj_frame_tiles(gFieldObjectPic_Juan_6), - obj_frame_tiles(gFieldObjectPic_Juan_7), - obj_frame_tiles(gFieldObjectPic_Juan_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_MysteryEventDeliveryman[] = { - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_0), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_1), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_2), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_0), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_0), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_1), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_1), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_2), - obj_frame_tiles(gFieldObjectPic_MysteryEventDeliveryman_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Statue[] = { - obj_frame_tiles(gFieldObjectPic_Statue), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Dusclops[] = { - obj_frame_tiles(gFieldObjectPic_Dusclops_0), - obj_frame_tiles(gFieldObjectPic_Dusclops_1), - obj_frame_tiles(gFieldObjectPic_Dusclops_2), - obj_frame_tiles(gFieldObjectPic_Dusclops_3), - obj_frame_tiles(gFieldObjectPic_Dusclops_4), - obj_frame_tiles(gFieldObjectPic_Dusclops_5), - obj_frame_tiles(gFieldObjectPic_Dusclops_6), - obj_frame_tiles(gFieldObjectPic_Dusclops_7), - obj_frame_tiles(gFieldObjectPic_Dusclops_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Kirlia[] = { - obj_frame_tiles(gFieldObjectPic_Kirlia_0), - obj_frame_tiles(gFieldObjectPic_Kirlia_1), - obj_frame_tiles(gFieldObjectPic_Kirlia_2), - obj_frame_tiles(gFieldObjectPic_Kirlia_3), - obj_frame_tiles(gFieldObjectPic_Kirlia_4), - obj_frame_tiles(gFieldObjectPic_Kirlia_5), - obj_frame_tiles(gFieldObjectPic_Kirlia_6), - obj_frame_tiles(gFieldObjectPic_Kirlia_7), - obj_frame_tiles(gFieldObjectPic_Kirlia_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_UnionRoomAttendant[] = { - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_0), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_1), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_2), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_0), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_0), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_1), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_1), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_2), - obj_frame_tiles(gFieldObjectPic_UnionRoomAttendant_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Sudowoodo[] = { - obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_1), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_0), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_1), - obj_frame_tiles(gFieldObjectPic_Sudowoodo_2), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Mew[] = { - obj_frame_tiles(gFieldObjectPic_Mew_0), - obj_frame_tiles(gFieldObjectPic_Mew_1), - obj_frame_tiles(gFieldObjectPic_Mew_2), - obj_frame_tiles(gFieldObjectPic_Mew_3), - obj_frame_tiles(gFieldObjectPic_Mew_4), - obj_frame_tiles(gFieldObjectPic_Mew_5), - obj_frame_tiles(gFieldObjectPic_Mew_6), - obj_frame_tiles(gFieldObjectPic_Mew_7), - obj_frame_tiles(gFieldObjectPic_Mew_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Red[] = { - obj_frame_tiles(gFieldObjectPic_Red_0), - obj_frame_tiles(gFieldObjectPic_Red_1), - obj_frame_tiles(gFieldObjectPic_Red_2), - obj_frame_tiles(gFieldObjectPic_Red_3), - obj_frame_tiles(gFieldObjectPic_Red_4), - obj_frame_tiles(gFieldObjectPic_Red_5), - obj_frame_tiles(gFieldObjectPic_Red_6), - obj_frame_tiles(gFieldObjectPic_Red_7), - obj_frame_tiles(gFieldObjectPic_Red_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Leaf[] = { - obj_frame_tiles(gFieldObjectPic_Leaf_0), - obj_frame_tiles(gFieldObjectPic_Leaf_1), - obj_frame_tiles(gFieldObjectPic_Leaf_2), - obj_frame_tiles(gFieldObjectPic_Leaf_3), - obj_frame_tiles(gFieldObjectPic_Leaf_4), - obj_frame_tiles(gFieldObjectPic_Leaf_5), - obj_frame_tiles(gFieldObjectPic_Leaf_6), - obj_frame_tiles(gFieldObjectPic_Leaf_7), - obj_frame_tiles(gFieldObjectPic_Leaf_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Deoxys[] = { - obj_frame_tiles(gFieldObjectPic_Deoxys_0), - obj_frame_tiles(gFieldObjectPic_Deoxys_0), - obj_frame_tiles(gFieldObjectPic_Deoxys_0), - obj_frame_tiles(gFieldObjectPic_Deoxys_0), - obj_frame_tiles(gFieldObjectPic_Deoxys_1), - obj_frame_tiles(gFieldObjectPic_Deoxys_0), - obj_frame_tiles(gFieldObjectPic_Deoxys_1), - obj_frame_tiles(gFieldObjectPic_Deoxys_0), - obj_frame_tiles(gFieldObjectPic_Deoxys_0), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_BirthIslandStone[] = { - obj_frame_tiles(gFieldObjectPic_BirthIslandStone), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Anabel[] = { - obj_frame_tiles(gFieldObjectPic_Anabel_0), - obj_frame_tiles(gFieldObjectPic_Anabel_1), - obj_frame_tiles(gFieldObjectPic_Anabel_2), - obj_frame_tiles(gFieldObjectPic_Anabel_3), - obj_frame_tiles(gFieldObjectPic_Anabel_4), - obj_frame_tiles(gFieldObjectPic_Anabel_5), - obj_frame_tiles(gFieldObjectPic_Anabel_6), - obj_frame_tiles(gFieldObjectPic_Anabel_7), - obj_frame_tiles(gFieldObjectPic_Anabel_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Tucker[] = { - obj_frame_tiles(gFieldObjectPic_Tucker_0), - obj_frame_tiles(gFieldObjectPic_Tucker_1), - obj_frame_tiles(gFieldObjectPic_Tucker_2), - obj_frame_tiles(gFieldObjectPic_Tucker_3), - obj_frame_tiles(gFieldObjectPic_Tucker_4), - obj_frame_tiles(gFieldObjectPic_Tucker_5), - obj_frame_tiles(gFieldObjectPic_Tucker_6), - obj_frame_tiles(gFieldObjectPic_Tucker_7), - obj_frame_tiles(gFieldObjectPic_Tucker_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Spenser[] = { - obj_frame_tiles(gFieldObjectPic_Spenser_0), - obj_frame_tiles(gFieldObjectPic_Spenser_1), - obj_frame_tiles(gFieldObjectPic_Spenser_2), - obj_frame_tiles(gFieldObjectPic_Spenser_3), - obj_frame_tiles(gFieldObjectPic_Spenser_4), - obj_frame_tiles(gFieldObjectPic_Spenser_5), - obj_frame_tiles(gFieldObjectPic_Spenser_6), - obj_frame_tiles(gFieldObjectPic_Spenser_7), - obj_frame_tiles(gFieldObjectPic_Spenser_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Greta[] = { - obj_frame_tiles(gFieldObjectPic_Greta_0), - obj_frame_tiles(gFieldObjectPic_Greta_1), - obj_frame_tiles(gFieldObjectPic_Greta_2), - obj_frame_tiles(gFieldObjectPic_Greta_3), - obj_frame_tiles(gFieldObjectPic_Greta_4), - obj_frame_tiles(gFieldObjectPic_Greta_5), - obj_frame_tiles(gFieldObjectPic_Greta_6), - obj_frame_tiles(gFieldObjectPic_Greta_7), - obj_frame_tiles(gFieldObjectPic_Greta_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Noland[] = { - obj_frame_tiles(gFieldObjectPic_Noland_0), - obj_frame_tiles(gFieldObjectPic_Noland_1), - obj_frame_tiles(gFieldObjectPic_Noland_2), - obj_frame_tiles(gFieldObjectPic_Noland_3), - obj_frame_tiles(gFieldObjectPic_Noland_4), - obj_frame_tiles(gFieldObjectPic_Noland_5), - obj_frame_tiles(gFieldObjectPic_Noland_6), - obj_frame_tiles(gFieldObjectPic_Noland_7), - obj_frame_tiles(gFieldObjectPic_Noland_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Lucy[] = { - obj_frame_tiles(gFieldObjectPic_Lucy_0), - obj_frame_tiles(gFieldObjectPic_Lucy_1), - obj_frame_tiles(gFieldObjectPic_Lucy_2), - obj_frame_tiles(gFieldObjectPic_Lucy_3), - obj_frame_tiles(gFieldObjectPic_Lucy_4), - obj_frame_tiles(gFieldObjectPic_Lucy_5), - obj_frame_tiles(gFieldObjectPic_Lucy_6), - obj_frame_tiles(gFieldObjectPic_Lucy_7), - obj_frame_tiles(gFieldObjectPic_Lucy_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Brandon[] = { - obj_frame_tiles(gFieldObjectPic_Brandon_0), - obj_frame_tiles(gFieldObjectPic_Brandon_1), - obj_frame_tiles(gFieldObjectPic_Brandon_2), - obj_frame_tiles(gFieldObjectPic_Brandon_3), - obj_frame_tiles(gFieldObjectPic_Brandon_4), - obj_frame_tiles(gFieldObjectPic_Brandon_5), - obj_frame_tiles(gFieldObjectPic_Brandon_6), - obj_frame_tiles(gFieldObjectPic_Brandon_7), - obj_frame_tiles(gFieldObjectPic_Brandon_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_Lugia[] = { - obj_frame_tiles(gFieldObjectPic_Lugia_0), - obj_frame_tiles(gFieldObjectPic_Lugia_0), - obj_frame_tiles(gFieldObjectPic_Lugia_0), - obj_frame_tiles(gFieldObjectPic_Lugia_0), - obj_frame_tiles(gFieldObjectPic_Lugia_1), - obj_frame_tiles(gFieldObjectPic_Lugia_0), - obj_frame_tiles(gFieldObjectPic_Lugia_1), - obj_frame_tiles(gFieldObjectPic_Lugia_0), - obj_frame_tiles(gFieldObjectPic_Lugia_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_HoOh[] = { - obj_frame_tiles(gFieldObjectPic_HoOh_0), - obj_frame_tiles(gFieldObjectPic_HoOh_0), - obj_frame_tiles(gFieldObjectPic_HoOh_0), - obj_frame_tiles(gFieldObjectPic_HoOh_0), - obj_frame_tiles(gFieldObjectPic_HoOh_1), - obj_frame_tiles(gFieldObjectPic_HoOh_0), - obj_frame_tiles(gFieldObjectPic_HoOh_1), - obj_frame_tiles(gFieldObjectPic_HoOh_0), - obj_frame_tiles(gFieldObjectPic_HoOh_1), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RubySapphireBrendan[] = { - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_0), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_1), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_2), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_3), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_4), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_5), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_6), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_7), - obj_frame_tiles(gFieldObjectPic_RubySapphireBrendan_8), -}; - -const struct SpriteFrameImage gFieldObjectPicTable_RubySapphireMay[] = { - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_0), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_1), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_2), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_3), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_4), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_5), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_6), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_7), - obj_frame_tiles(gFieldObjectPic_RubySapphireMay_8), + +const struct SpriteFrameImage gEventObjectPicTable_MayDecorating[] = { + obj_frame_tiles(gEventObjectPic_MayDecorating), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Archie[] = { + obj_frame_tiles(gEventObjectPic_Archie_0), + obj_frame_tiles(gEventObjectPic_Archie_1), + obj_frame_tiles(gEventObjectPic_Archie_2), + obj_frame_tiles(gEventObjectPic_Archie_3), + obj_frame_tiles(gEventObjectPic_Archie_4), + obj_frame_tiles(gEventObjectPic_Archie_5), + obj_frame_tiles(gEventObjectPic_Archie_6), + obj_frame_tiles(gEventObjectPic_Archie_7), + obj_frame_tiles(gEventObjectPic_Archie_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Maxie[] = { + obj_frame_tiles(gEventObjectPic_Maxie_0), + obj_frame_tiles(gEventObjectPic_Maxie_1), + obj_frame_tiles(gEventObjectPic_Maxie_2), + obj_frame_tiles(gEventObjectPic_Maxie_3), + obj_frame_tiles(gEventObjectPic_Maxie_4), + obj_frame_tiles(gEventObjectPic_Maxie_5), + obj_frame_tiles(gEventObjectPic_Maxie_6), + obj_frame_tiles(gEventObjectPic_Maxie_7), + obj_frame_tiles(gEventObjectPic_Maxie_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_KyogreFront[] = { + obj_frame_tiles(gEventObjectPic_KyogreFront_0), + obj_frame_tiles(gEventObjectPic_KyogreFront_0), + obj_frame_tiles(gEventObjectPic_KyogreFront_0), + obj_frame_tiles(gEventObjectPic_KyogreFront_1), + obj_frame_tiles(gEventObjectPic_KyogreFront_1), + obj_frame_tiles(gEventObjectPic_KyogreFront_1), + obj_frame_tiles(gEventObjectPic_KyogreFront_1), + obj_frame_tiles(gEventObjectPic_KyogreFront_1), + obj_frame_tiles(gEventObjectPic_KyogreFront_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_GroudonFront[] = { + obj_frame_tiles(gEventObjectPic_GroudonFront_0), + obj_frame_tiles(gEventObjectPic_GroudonFront_0), + obj_frame_tiles(gEventObjectPic_GroudonFront_0), + obj_frame_tiles(gEventObjectPic_GroudonFront_1), + obj_frame_tiles(gEventObjectPic_GroudonFront_1), + obj_frame_tiles(gEventObjectPic_GroudonFront_1), + obj_frame_tiles(gEventObjectPic_GroudonFront_1), + obj_frame_tiles(gEventObjectPic_GroudonFront_1), + obj_frame_tiles(gEventObjectPic_GroudonFront_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_KyogreSide[] = { + obj_frame_tiles(gEventObjectPic_KyogreSide_0), + obj_frame_tiles(gEventObjectPic_KyogreSide_0), + obj_frame_tiles(gEventObjectPic_KyogreSide_0), + obj_frame_tiles(gEventObjectPic_KyogreSide_1), + obj_frame_tiles(gEventObjectPic_KyogreSide_1), + obj_frame_tiles(gEventObjectPic_KyogreSide_1), + obj_frame_tiles(gEventObjectPic_KyogreSide_1), + obj_frame_tiles(gEventObjectPic_KyogreSide_1), + obj_frame_tiles(gEventObjectPic_KyogreSide_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_GroudonSide[] = { + obj_frame_tiles(gEventObjectPic_GroudonSide_0), + obj_frame_tiles(gEventObjectPic_GroudonSide_0), + obj_frame_tiles(gEventObjectPic_GroudonSide_0), + obj_frame_tiles(gEventObjectPic_GroudonSide_1), + obj_frame_tiles(gEventObjectPic_GroudonSide_1), + obj_frame_tiles(gEventObjectPic_GroudonSide_1), + obj_frame_tiles(gEventObjectPic_GroudonSide_1), + obj_frame_tiles(gEventObjectPic_GroudonSide_1), + obj_frame_tiles(gEventObjectPic_GroudonSide_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Fossil[] = { + obj_frame_tiles(gEventObjectPic_Fossil), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Regi[] = { + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), + obj_frame_tiles(gEventObjectPic_Regi), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Skitty[] = { + obj_frame_tiles(gEventObjectPic_Skitty_0), + obj_frame_tiles(gEventObjectPic_Skitty_1), + obj_frame_tiles(gEventObjectPic_Skitty_2), + obj_frame_tiles(gEventObjectPic_Skitty_0), + obj_frame_tiles(gEventObjectPic_Skitty_0), + obj_frame_tiles(gEventObjectPic_Skitty_1), + obj_frame_tiles(gEventObjectPic_Skitty_1), + obj_frame_tiles(gEventObjectPic_Skitty_2), + obj_frame_tiles(gEventObjectPic_Skitty_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Kecleon[] = { + obj_frame_tiles(gEventObjectPic_Kecleon_0), + obj_frame_tiles(gEventObjectPic_Kecleon_1), + obj_frame_tiles(gEventObjectPic_Kecleon_2), + obj_frame_tiles(gEventObjectPic_Kecleon_0), + obj_frame_tiles(gEventObjectPic_Kecleon_0), + obj_frame_tiles(gEventObjectPic_Kecleon_1), + obj_frame_tiles(gEventObjectPic_Kecleon_1), + obj_frame_tiles(gEventObjectPic_Kecleon_2), + obj_frame_tiles(gEventObjectPic_Kecleon_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Rayquaza[] = { + obj_frame_tiles(gEventObjectPic_Rayquaza_0), + obj_frame_tiles(gEventObjectPic_Rayquaza_1), + obj_frame_tiles(gEventObjectPic_Rayquaza_2), + obj_frame_tiles(gEventObjectPic_Rayquaza_3), + obj_frame_tiles(gEventObjectPic_Rayquaza_4), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RayquazaStill[] = { + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), + obj_frame_tiles(gEventObjectPic_RayquazaStill), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Zigzagoon[] = { + obj_frame_tiles(gEventObjectPic_Zigzagoon_0), + obj_frame_tiles(gEventObjectPic_Zigzagoon_1), + obj_frame_tiles(gEventObjectPic_Zigzagoon_2), + obj_frame_tiles(gEventObjectPic_Zigzagoon_0), + obj_frame_tiles(gEventObjectPic_Zigzagoon_0), + obj_frame_tiles(gEventObjectPic_Zigzagoon_1), + obj_frame_tiles(gEventObjectPic_Zigzagoon_1), + obj_frame_tiles(gEventObjectPic_Zigzagoon_2), + obj_frame_tiles(gEventObjectPic_Zigzagoon_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Pikachu[] = { + obj_frame_tiles(gEventObjectPic_Pikachu_0), + obj_frame_tiles(gEventObjectPic_Pikachu_1), + obj_frame_tiles(gEventObjectPic_Pikachu_2), + obj_frame_tiles(gEventObjectPic_Pikachu_0), + obj_frame_tiles(gEventObjectPic_Pikachu_0), + obj_frame_tiles(gEventObjectPic_Pikachu_1), + obj_frame_tiles(gEventObjectPic_Pikachu_1), + obj_frame_tiles(gEventObjectPic_Pikachu_2), + obj_frame_tiles(gEventObjectPic_Pikachu_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Azumarill[] = { + obj_frame_tiles(gEventObjectPic_Azumarill_0), + obj_frame_tiles(gEventObjectPic_Azumarill_1), + obj_frame_tiles(gEventObjectPic_Azumarill_2), + obj_frame_tiles(gEventObjectPic_Azumarill_0), + obj_frame_tiles(gEventObjectPic_Azumarill_0), + obj_frame_tiles(gEventObjectPic_Azumarill_1), + obj_frame_tiles(gEventObjectPic_Azumarill_1), + obj_frame_tiles(gEventObjectPic_Azumarill_2), + obj_frame_tiles(gEventObjectPic_Azumarill_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Wingull[] = { + obj_frame_tiles(gEventObjectPic_Wingull_0), + obj_frame_tiles(gEventObjectPic_Wingull_1), + obj_frame_tiles(gEventObjectPic_Wingull_2), + obj_frame_tiles(gEventObjectPic_Wingull_3), + obj_frame_tiles(gEventObjectPic_Wingull_3), + obj_frame_tiles(gEventObjectPic_Wingull_4), + obj_frame_tiles(gEventObjectPic_Wingull_4), + obj_frame_tiles(gEventObjectPic_Wingull_5), + obj_frame_tiles(gEventObjectPic_Wingull_5), +}; + +const struct SpriteFrameImage gEventObjectPicTable_TuberMSwimming[] = { + obj_frame_tiles(gEventObjectPic_TuberMSwimming_0), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_1), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_2), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_3), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_4), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_5), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_6), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_7), + obj_frame_tiles(gEventObjectPic_TuberMSwimming_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Azurill[] = { + obj_frame_tiles(gEventObjectPic_Azurill_0), + obj_frame_tiles(gEventObjectPic_Azurill_1), + obj_frame_tiles(gEventObjectPic_Azurill_2), + obj_frame_tiles(gEventObjectPic_Azurill_0), + obj_frame_tiles(gEventObjectPic_Azurill_0), + obj_frame_tiles(gEventObjectPic_Azurill_1), + obj_frame_tiles(gEventObjectPic_Azurill_1), + obj_frame_tiles(gEventObjectPic_Azurill_2), + obj_frame_tiles(gEventObjectPic_Azurill_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Mom[] = { + obj_frame_tiles(gEventObjectPic_Mom_0), + obj_frame_tiles(gEventObjectPic_Mom_1), + obj_frame_tiles(gEventObjectPic_Mom_2), + obj_frame_tiles(gEventObjectPic_Mom_3), + obj_frame_tiles(gEventObjectPic_Mom_4), + obj_frame_tiles(gEventObjectPic_Mom_5), + obj_frame_tiles(gEventObjectPic_Mom_6), + obj_frame_tiles(gEventObjectPic_Mom_7), + obj_frame_tiles(gEventObjectPic_Mom_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Scott[] = { + obj_frame_tiles(gEventObjectPic_Scott_0), + obj_frame_tiles(gEventObjectPic_Scott_1), + obj_frame_tiles(gEventObjectPic_Scott_2), + obj_frame_tiles(gEventObjectPic_Scott_3), + obj_frame_tiles(gEventObjectPic_Scott_4), + obj_frame_tiles(gEventObjectPic_Scott_5), + obj_frame_tiles(gEventObjectPic_Scott_6), + obj_frame_tiles(gEventObjectPic_Scott_7), + obj_frame_tiles(gEventObjectPic_Scott_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Juan[] = { + obj_frame_tiles(gEventObjectPic_Juan_0), + obj_frame_tiles(gEventObjectPic_Juan_1), + obj_frame_tiles(gEventObjectPic_Juan_2), + obj_frame_tiles(gEventObjectPic_Juan_3), + obj_frame_tiles(gEventObjectPic_Juan_4), + obj_frame_tiles(gEventObjectPic_Juan_5), + obj_frame_tiles(gEventObjectPic_Juan_6), + obj_frame_tiles(gEventObjectPic_Juan_7), + obj_frame_tiles(gEventObjectPic_Juan_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_MysteryEventDeliveryman[] = { + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_0), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_1), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_2), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_0), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_0), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_1), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_1), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_2), + obj_frame_tiles(gEventObjectPic_MysteryEventDeliveryman_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Statue[] = { + obj_frame_tiles(gEventObjectPic_Statue), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Dusclops[] = { + obj_frame_tiles(gEventObjectPic_Dusclops_0), + obj_frame_tiles(gEventObjectPic_Dusclops_1), + obj_frame_tiles(gEventObjectPic_Dusclops_2), + obj_frame_tiles(gEventObjectPic_Dusclops_3), + obj_frame_tiles(gEventObjectPic_Dusclops_4), + obj_frame_tiles(gEventObjectPic_Dusclops_5), + obj_frame_tiles(gEventObjectPic_Dusclops_6), + obj_frame_tiles(gEventObjectPic_Dusclops_7), + obj_frame_tiles(gEventObjectPic_Dusclops_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Kirlia[] = { + obj_frame_tiles(gEventObjectPic_Kirlia_0), + obj_frame_tiles(gEventObjectPic_Kirlia_1), + obj_frame_tiles(gEventObjectPic_Kirlia_2), + obj_frame_tiles(gEventObjectPic_Kirlia_3), + obj_frame_tiles(gEventObjectPic_Kirlia_4), + obj_frame_tiles(gEventObjectPic_Kirlia_5), + obj_frame_tiles(gEventObjectPic_Kirlia_6), + obj_frame_tiles(gEventObjectPic_Kirlia_7), + obj_frame_tiles(gEventObjectPic_Kirlia_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_UnionRoomAttendant[] = { + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_0), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_1), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_2), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_0), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_0), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_1), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_1), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_2), + obj_frame_tiles(gEventObjectPic_UnionRoomAttendant_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Sudowoodo[] = { + obj_frame_tiles(gEventObjectPic_Sudowoodo_0), + obj_frame_tiles(gEventObjectPic_Sudowoodo_0), + obj_frame_tiles(gEventObjectPic_Sudowoodo_1), + obj_frame_tiles(gEventObjectPic_Sudowoodo_0), + obj_frame_tiles(gEventObjectPic_Sudowoodo_0), + obj_frame_tiles(gEventObjectPic_Sudowoodo_0), + obj_frame_tiles(gEventObjectPic_Sudowoodo_0), + obj_frame_tiles(gEventObjectPic_Sudowoodo_1), + obj_frame_tiles(gEventObjectPic_Sudowoodo_2), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Mew[] = { + obj_frame_tiles(gEventObjectPic_Mew_0), + obj_frame_tiles(gEventObjectPic_Mew_1), + obj_frame_tiles(gEventObjectPic_Mew_2), + obj_frame_tiles(gEventObjectPic_Mew_3), + obj_frame_tiles(gEventObjectPic_Mew_4), + obj_frame_tiles(gEventObjectPic_Mew_5), + obj_frame_tiles(gEventObjectPic_Mew_6), + obj_frame_tiles(gEventObjectPic_Mew_7), + obj_frame_tiles(gEventObjectPic_Mew_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Red[] = { + obj_frame_tiles(gEventObjectPic_Red_0), + obj_frame_tiles(gEventObjectPic_Red_1), + obj_frame_tiles(gEventObjectPic_Red_2), + obj_frame_tiles(gEventObjectPic_Red_3), + obj_frame_tiles(gEventObjectPic_Red_4), + obj_frame_tiles(gEventObjectPic_Red_5), + obj_frame_tiles(gEventObjectPic_Red_6), + obj_frame_tiles(gEventObjectPic_Red_7), + obj_frame_tiles(gEventObjectPic_Red_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Leaf[] = { + obj_frame_tiles(gEventObjectPic_Leaf_0), + obj_frame_tiles(gEventObjectPic_Leaf_1), + obj_frame_tiles(gEventObjectPic_Leaf_2), + obj_frame_tiles(gEventObjectPic_Leaf_3), + obj_frame_tiles(gEventObjectPic_Leaf_4), + obj_frame_tiles(gEventObjectPic_Leaf_5), + obj_frame_tiles(gEventObjectPic_Leaf_6), + obj_frame_tiles(gEventObjectPic_Leaf_7), + obj_frame_tiles(gEventObjectPic_Leaf_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Deoxys[] = { + obj_frame_tiles(gEventObjectPic_Deoxys_0), + obj_frame_tiles(gEventObjectPic_Deoxys_0), + obj_frame_tiles(gEventObjectPic_Deoxys_0), + obj_frame_tiles(gEventObjectPic_Deoxys_0), + obj_frame_tiles(gEventObjectPic_Deoxys_1), + obj_frame_tiles(gEventObjectPic_Deoxys_0), + obj_frame_tiles(gEventObjectPic_Deoxys_1), + obj_frame_tiles(gEventObjectPic_Deoxys_0), + obj_frame_tiles(gEventObjectPic_Deoxys_0), +}; + +const struct SpriteFrameImage gEventObjectPicTable_BirthIslandStone[] = { + obj_frame_tiles(gEventObjectPic_BirthIslandStone), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Anabel[] = { + obj_frame_tiles(gEventObjectPic_Anabel_0), + obj_frame_tiles(gEventObjectPic_Anabel_1), + obj_frame_tiles(gEventObjectPic_Anabel_2), + obj_frame_tiles(gEventObjectPic_Anabel_3), + obj_frame_tiles(gEventObjectPic_Anabel_4), + obj_frame_tiles(gEventObjectPic_Anabel_5), + obj_frame_tiles(gEventObjectPic_Anabel_6), + obj_frame_tiles(gEventObjectPic_Anabel_7), + obj_frame_tiles(gEventObjectPic_Anabel_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Tucker[] = { + obj_frame_tiles(gEventObjectPic_Tucker_0), + obj_frame_tiles(gEventObjectPic_Tucker_1), + obj_frame_tiles(gEventObjectPic_Tucker_2), + obj_frame_tiles(gEventObjectPic_Tucker_3), + obj_frame_tiles(gEventObjectPic_Tucker_4), + obj_frame_tiles(gEventObjectPic_Tucker_5), + obj_frame_tiles(gEventObjectPic_Tucker_6), + obj_frame_tiles(gEventObjectPic_Tucker_7), + obj_frame_tiles(gEventObjectPic_Tucker_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Spenser[] = { + obj_frame_tiles(gEventObjectPic_Spenser_0), + obj_frame_tiles(gEventObjectPic_Spenser_1), + obj_frame_tiles(gEventObjectPic_Spenser_2), + obj_frame_tiles(gEventObjectPic_Spenser_3), + obj_frame_tiles(gEventObjectPic_Spenser_4), + obj_frame_tiles(gEventObjectPic_Spenser_5), + obj_frame_tiles(gEventObjectPic_Spenser_6), + obj_frame_tiles(gEventObjectPic_Spenser_7), + obj_frame_tiles(gEventObjectPic_Spenser_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Greta[] = { + obj_frame_tiles(gEventObjectPic_Greta_0), + obj_frame_tiles(gEventObjectPic_Greta_1), + obj_frame_tiles(gEventObjectPic_Greta_2), + obj_frame_tiles(gEventObjectPic_Greta_3), + obj_frame_tiles(gEventObjectPic_Greta_4), + obj_frame_tiles(gEventObjectPic_Greta_5), + obj_frame_tiles(gEventObjectPic_Greta_6), + obj_frame_tiles(gEventObjectPic_Greta_7), + obj_frame_tiles(gEventObjectPic_Greta_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Noland[] = { + obj_frame_tiles(gEventObjectPic_Noland_0), + obj_frame_tiles(gEventObjectPic_Noland_1), + obj_frame_tiles(gEventObjectPic_Noland_2), + obj_frame_tiles(gEventObjectPic_Noland_3), + obj_frame_tiles(gEventObjectPic_Noland_4), + obj_frame_tiles(gEventObjectPic_Noland_5), + obj_frame_tiles(gEventObjectPic_Noland_6), + obj_frame_tiles(gEventObjectPic_Noland_7), + obj_frame_tiles(gEventObjectPic_Noland_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Lucy[] = { + obj_frame_tiles(gEventObjectPic_Lucy_0), + obj_frame_tiles(gEventObjectPic_Lucy_1), + obj_frame_tiles(gEventObjectPic_Lucy_2), + obj_frame_tiles(gEventObjectPic_Lucy_3), + obj_frame_tiles(gEventObjectPic_Lucy_4), + obj_frame_tiles(gEventObjectPic_Lucy_5), + obj_frame_tiles(gEventObjectPic_Lucy_6), + obj_frame_tiles(gEventObjectPic_Lucy_7), + obj_frame_tiles(gEventObjectPic_Lucy_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Brandon[] = { + obj_frame_tiles(gEventObjectPic_Brandon_0), + obj_frame_tiles(gEventObjectPic_Brandon_1), + obj_frame_tiles(gEventObjectPic_Brandon_2), + obj_frame_tiles(gEventObjectPic_Brandon_3), + obj_frame_tiles(gEventObjectPic_Brandon_4), + obj_frame_tiles(gEventObjectPic_Brandon_5), + obj_frame_tiles(gEventObjectPic_Brandon_6), + obj_frame_tiles(gEventObjectPic_Brandon_7), + obj_frame_tiles(gEventObjectPic_Brandon_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_Lugia[] = { + obj_frame_tiles(gEventObjectPic_Lugia_0), + obj_frame_tiles(gEventObjectPic_Lugia_0), + obj_frame_tiles(gEventObjectPic_Lugia_0), + obj_frame_tiles(gEventObjectPic_Lugia_0), + obj_frame_tiles(gEventObjectPic_Lugia_1), + obj_frame_tiles(gEventObjectPic_Lugia_0), + obj_frame_tiles(gEventObjectPic_Lugia_1), + obj_frame_tiles(gEventObjectPic_Lugia_0), + obj_frame_tiles(gEventObjectPic_Lugia_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_HoOh[] = { + obj_frame_tiles(gEventObjectPic_HoOh_0), + obj_frame_tiles(gEventObjectPic_HoOh_0), + obj_frame_tiles(gEventObjectPic_HoOh_0), + obj_frame_tiles(gEventObjectPic_HoOh_0), + obj_frame_tiles(gEventObjectPic_HoOh_1), + obj_frame_tiles(gEventObjectPic_HoOh_0), + obj_frame_tiles(gEventObjectPic_HoOh_1), + obj_frame_tiles(gEventObjectPic_HoOh_0), + obj_frame_tiles(gEventObjectPic_HoOh_1), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RubySapphireBrendan[] = { + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_0), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_1), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_2), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_3), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_4), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_5), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_6), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_7), + obj_frame_tiles(gEventObjectPic_RubySapphireBrendan_8), +}; + +const struct SpriteFrameImage gEventObjectPicTable_RubySapphireMay[] = { + obj_frame_tiles(gEventObjectPic_RubySapphireMay_0), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_1), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_2), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_3), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_4), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_5), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_6), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_7), + obj_frame_tiles(gEventObjectPic_RubySapphireMay_8), }; #endif //GUARD_EVENT_OBJECT_PIC_TABLES_H diff --git a/src/data/field_event_obj/event_object_subsprites.h b/src/data/field_event_obj/event_object_subsprites.h index 2ed9023fa..db5fddf1e 100755 --- a/src/data/field_event_obj/event_object_subsprites.h +++ b/src/data/field_event_obj/event_object_subsprites.h @@ -1,105 +1,105 @@ #ifndef GUARD_EVENT_OBJECT_SUBSPRITES_H #define GUARD_EVENT_OBJECT_SUBSPRITES_H -const struct Subsprite gFieldObjectSpriteOamTable_16x16_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x16_0[] = { { -8, -8, 0, 1, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x16_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x16_1[] = { { -8, -8, 0, 1, 0, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x16_2[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x16_2[] = { { -8, -8, 1, 0, 0, 2}, { -8, 0, 1, 0, 2, 3} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x16_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x16_3[] = { { -8, -8, 0, 1, 0, 2}, { -8, -8, 0, 1, 0, 3} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x16_4[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x16_4[] = { { -8, -8, 0, 1, 0, 1}, { -8, -8, 0, 1, 0, 3} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_16x16[] = { +const struct SubspriteTable gEventObjectSpriteOamTables_16x16[] = { {0, NULL}, - {1, gFieldObjectSpriteOamTable_16x16_0}, - {1, gFieldObjectSpriteOamTable_16x16_1}, - {2, gFieldObjectSpriteOamTable_16x16_2}, - {2, gFieldObjectSpriteOamTable_16x16_3}, - {2, gFieldObjectSpriteOamTable_16x16_4} + {1, gEventObjectSpriteOamTable_16x16_0}, + {1, gEventObjectSpriteOamTable_16x16_1}, + {2, gEventObjectSpriteOamTable_16x16_2}, + {2, gEventObjectSpriteOamTable_16x16_3}, + {2, gEventObjectSpriteOamTable_16x16_4} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x32_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x32_0[] = { { -8, -16, 2, 2, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x32_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x32_1[] = { { -8, -16, 2, 2, 0, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x32_2[] = { +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 gFieldObjectSpriteOamTable_16x32_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x32_3[] = { { -8, -16, 0, 1, 0, 2}, { -8, 0, 0, 1, 4, 3} }; -const struct Subsprite gFieldObjectSpriteOamTable_16x32_4[] = { +const struct Subsprite gEventObjectSpriteOamTable_16x32_4[] = { { -8, -16, 0, 1, 0, 1}, { -8, 0, 0, 1, 4, 3} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_16x32[] = { +const struct SubspriteTable gEventObjectSpriteOamTables_16x32[] = { {0, NULL}, - {1, gFieldObjectSpriteOamTable_16x32_0}, - {1, gFieldObjectSpriteOamTable_16x32_1}, - {3, gFieldObjectSpriteOamTable_16x32_2}, - {2, gFieldObjectSpriteOamTable_16x32_3}, - {2, gFieldObjectSpriteOamTable_16x32_4} + {1, gEventObjectSpriteOamTable_16x32_0}, + {1, gEventObjectSpriteOamTable_16x32_1}, + {3, gEventObjectSpriteOamTable_16x32_2}, + {2, gEventObjectSpriteOamTable_16x32_3}, + {2, gEventObjectSpriteOamTable_16x32_4} }; -const struct Subsprite gFieldObjectSpriteOamTable_32x32_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_32x32_0[] = { {-16, -16, 0, 2, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_32x32_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_32x32_1[] = { {-16, -16, 0, 2, 0, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_32x32_2[] = { +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 gFieldObjectSpriteOamTable_32x32_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_32x32_3[] = { {-16, -16, 1, 2, 0, 2}, {-16, 0, 1, 2, 8, 3} }; -const struct Subsprite gFieldObjectSpriteOamTable_32x32_4[] = { +const struct Subsprite gEventObjectSpriteOamTable_32x32_4[] = { {-16, -16, 1, 2, 0, 1}, {-16, 0, 1, 2, 8, 3} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_32x32[] = { +const struct SubspriteTable gEventObjectSpriteOamTables_32x32[] = { {0, NULL}, - {1, gFieldObjectSpriteOamTable_32x32_0}, - {1, gFieldObjectSpriteOamTable_32x32_1}, - {3, gFieldObjectSpriteOamTable_32x32_2}, - {2, gFieldObjectSpriteOamTable_32x32_3}, - {2, gFieldObjectSpriteOamTable_32x32_4} + {1, gEventObjectSpriteOamTable_32x32_0}, + {1, gEventObjectSpriteOamTable_32x32_1}, + {3, gEventObjectSpriteOamTable_32x32_2}, + {2, gEventObjectSpriteOamTable_32x32_3}, + {2, gEventObjectSpriteOamTable_32x32_4} }; -const struct Subsprite gFieldObjectSpriteOamTable_Truck_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_Truck_0[] = { {-24, -24, 1, 1, 0, 2}, { 8, -24, 1, 0, 4, 2}, {-24, -16, 1, 1, 6, 2}, @@ -114,66 +114,66 @@ const struct Subsprite gFieldObjectSpriteOamTable_Truck_0[] = { { 8, 16, 1, 0, 34, 2} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_Truck[] = { - {12, gFieldObjectSpriteOamTable_Truck_0}, - {12, gFieldObjectSpriteOamTable_Truck_0}, - {12, gFieldObjectSpriteOamTable_Truck_0}, - {12, gFieldObjectSpriteOamTable_Truck_0}, - {12, gFieldObjectSpriteOamTable_Truck_0}, - {12, gFieldObjectSpriteOamTable_Truck_0} +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 gFieldObjectSpriteOamTable_Unused_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_Unused_0[] = { {-32, -16, 1, 3, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_Unused_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_Unused_1[] = { {-32, -16, 1, 3, 0, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_Unused_2[] = { +const struct Subsprite gEventObjectSpriteOamTable_Unused_2[] = { {-32, -16, 1, 3, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_Unused_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_Unused_3[] = { {-32, -16, 1, 3, 0, 2} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_Unused[] = { +const struct SubspriteTable gEventObjectSpriteOamTables_Unused[] = { {0, NULL}, - {1, gFieldObjectSpriteOamTable_Unused_0}, - {1, gFieldObjectSpriteOamTable_Unused_1}, - {1, gFieldObjectSpriteOamTable_Unused_2}, - {1, gFieldObjectSpriteOamTable_Unused_3}, - {1, gFieldObjectSpriteOamTable_Unused_3} + {1, gEventObjectSpriteOamTable_Unused_0}, + {1, gEventObjectSpriteOamTable_Unused_1}, + {1, gEventObjectSpriteOamTable_Unused_2}, + {1, gEventObjectSpriteOamTable_Unused_3}, + {1, gEventObjectSpriteOamTable_Unused_3} }; -const struct Subsprite gFieldObjectSpriteOamTable_64x64_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_64x64_0[] = { {-32, -32, 0, 3, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_64x64_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_64x64_1[] = { {-32, -32, 0, 3, 0, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_64x64_2[] = { +const struct Subsprite gEventObjectSpriteOamTable_64x64_2[] = { {-32, -32, 0, 3, 0, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_64x64_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_64x64_3[] = { {-32, -32, 0, 3, 0, 2} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_64x64[] = { +const struct SubspriteTable gEventObjectSpriteOamTables_64x64[] = { {0, NULL}, - {1, gFieldObjectSpriteOamTable_64x64_0}, - {1, gFieldObjectSpriteOamTable_64x64_1}, - {1, gFieldObjectSpriteOamTable_64x64_2}, - {1, gFieldObjectSpriteOamTable_64x64_3}, - {1, gFieldObjectSpriteOamTable_64x64_3} + {1, gEventObjectSpriteOamTable_64x64_0}, + {1, gEventObjectSpriteOamTable_64x64_1}, + {1, gEventObjectSpriteOamTable_64x64_2}, + {1, gEventObjectSpriteOamTable_64x64_3}, + {1, gEventObjectSpriteOamTable_64x64_3} }; -const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_SSTidal_0[] = { {-48, -20, 1, 1, 0, 2}, {-16, -20, 1, 1, 4, 2}, { 16, -20, 1, 1, 8, 2}, @@ -191,7 +191,7 @@ const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_0[] = { { 16, 12, 1, 1, 56, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_SSTidal_1[] = { {-48, -20, 1, 1, 0, 1}, {-16, -20, 1, 1, 4, 1}, { 16, -20, 1, 1, 8, 1}, @@ -209,7 +209,7 @@ const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_1[] = { { 16, 12, 1, 1, 56, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_2[] = { +const struct Subsprite gEventObjectSpriteOamTable_SSTidal_2[] = { {-48, -20, 1, 1, 0, 2}, {-16, -20, 1, 1, 4, 2}, { 16, -20, 1, 1, 8, 2}, @@ -227,7 +227,7 @@ const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_2[] = { { 16, 12, 1, 1, 56, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_SSTidal_3[] = { {-48, -20, 1, 1, 0, 1}, {-16, -20, 1, 1, 4, 1}, { 16, -20, 1, 1, 8, 1}, @@ -245,16 +245,16 @@ const struct Subsprite gFieldObjectSpriteOamTable_SSTidal_3[] = { { 16, 12, 1, 1, 56, 2} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_SSTidal[] = { - {15, gFieldObjectSpriteOamTable_SSTidal_0}, - {15, gFieldObjectSpriteOamTable_SSTidal_0}, - {15, gFieldObjectSpriteOamTable_SSTidal_1}, - {15, gFieldObjectSpriteOamTable_SSTidal_2}, - {15, gFieldObjectSpriteOamTable_SSTidal_3}, - {15, gFieldObjectSpriteOamTable_SSTidal_3} +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 gFieldObjectSpriteOamTable_SubmarineShadow_0[] = { +const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_0[] = { {-48, -20, 1, 1, 0, 2}, {-16, -20, 1, 1, 4, 2}, { 16, -20, 1, 0, 8, 2}, @@ -273,7 +273,7 @@ const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_0[] = { { 32, 4, 0, 0, 43, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_1[] = { +const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_1[] = { {-48, -20, 1, 1, 0, 1}, {-16, -20, 1, 1, 4, 1}, { 16, -20, 1, 0, 8, 1}, @@ -292,7 +292,7 @@ const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_1[] = { { 32, 4, 0, 0, 43, 1} }; -const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_2[] = { +const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_2[] = { {-48, -20, 1, 1, 0, 2}, {-16, -20, 1, 1, 4, 2}, { 16, -20, 1, 0, 8, 2}, @@ -311,7 +311,7 @@ const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_2[] = { { 32, 4, 0, 0, 43, 2} }; -const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_3[] = { +const struct Subsprite gEventObjectSpriteOamTable_SubmarineShadow_3[] = { {-48, -20, 1, 1, 0, 1}, {-16, -20, 1, 1, 4, 1}, { 16, -20, 1, 0, 8, 1}, @@ -330,13 +330,13 @@ const struct Subsprite gFieldObjectSpriteOamTable_SubmarineShadow_3[] = { { 32, 4, 0, 0, 43, 2} }; -const struct SubspriteTable gFieldObjectSpriteOamTables_SubmarineShadow[] = { - {16, gFieldObjectSpriteOamTable_SubmarineShadow_0}, - {16, gFieldObjectSpriteOamTable_SubmarineShadow_0}, - {16, gFieldObjectSpriteOamTable_SubmarineShadow_1}, - {16, gFieldObjectSpriteOamTable_SubmarineShadow_2}, - {16, gFieldObjectSpriteOamTable_SubmarineShadow_3}, - {16, gFieldObjectSpriteOamTable_SubmarineShadow_3} +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 diff --git a/src/data/field_event_obj/field_effect_objects.h b/src/data/field_event_obj/field_effect_objects.h index 30a2297bd..c8633daa7 100755 --- a/src/data/field_event_obj/field_effect_objects.h +++ b/src/data/field_event_obj/field_effect_objects.h @@ -32,13 +32,13 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_ShadowExtraLarge[] = { obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge), }; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_8x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, oamc_shadow}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowMedium, 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, &gFieldObjectBaseOam_32x8, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowLarge, 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, &gFieldObjectBaseOam_64x32, gFieldEffectObjectImageAnimTable_Shadow, gFieldEffectObjectPicTable_ShadowExtraLarge, 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), @@ -63,7 +63,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TallGrass[] = gFieldEffectObjectImageAnim_850CA84, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_TallGrass = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_TallGrass, gFieldEffectObjectPicTable_TallGrass, gDummySpriteAffineAnimTable, unc_grass_normal}; +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), @@ -91,7 +91,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ripple[] = gFieldEffectObjectImageAnim_850CAE0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ripple = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ripple, gFieldEffectObjectPicTable_Ripple, gDummySpriteAffineAnimTable, sub_81561D0}; +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), @@ -116,7 +116,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Ash[] = gFieldEffectObjectImageAnim_850CB48, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Ash = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Ash, gFieldEffectObjectPicTable_Ash, gDummySpriteAffineAnimTable, sub_8155460}; +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), @@ -156,7 +156,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SurfBlob[] = gFieldEffectObjectImageAnim_850CBAC, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_SurfBlob, gFieldEffectObjectPicTable_SurfBlob, gDummySpriteAffineAnimTable, sub_8155658}; +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), @@ -205,7 +205,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Arrow[] = gFieldEffectObjectImageAnim_850CC40, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Arrow = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Arrow, gFieldEffectObjectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +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), @@ -226,7 +226,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_GroundImpactDust[] = gFieldEffectObjectImageAnim_850CC8C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_GroundImpactDust = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_GroundImpactDust, gFieldEffectObjectPicTable_GroundImpactDust, gDummySpriteAffineAnimTable, sub_8156194}; +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), @@ -249,7 +249,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopTallGrass[] = gFieldEffectObjectImageAnim_850CCD8, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopTallGrass = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopTallGrass, gFieldEffectObjectPicTable_BikeHopTallGrass, gDummySpriteAffineAnimTable, sub_8156194}; +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), @@ -289,7 +289,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_SandFootprints[] = gFieldEffectObjectImageAnim_850CD30, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandFootprints = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_SandFootprints, gFieldEffectObjectPicTable_SandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; +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), @@ -329,7 +329,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_DeepSandFootprints[] gFieldEffectObjectImageAnim_850CD8C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_DeepSandFootprints, gFieldEffectObjectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, sub_8154C60}; +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), @@ -399,7 +399,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeTireTracks[] = gFieldEffectObjectImageAnim_850CE18, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeTireTracks, gFieldEffectObjectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, sub_8154C60}; +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), @@ -422,7 +422,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopBigSplash[] = gFieldEffectObjectImageAnim_850CE7C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopBigSplash = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BikeHopBigSplash, gFieldEffectObjectPicTable_BikeHopBigSplash, gDummySpriteAffineAnimTable, sub_8156194}; +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), @@ -455,7 +455,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Splash[] = gFieldEffectObjectImageAnim_850CEC8, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Splash = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Splash, gFieldEffectObjectPicTable_Splash, gDummySpriteAffineAnimTable, sub_8154D90}; +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), @@ -476,7 +476,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BikeHopSmallSplash[] gFieldEffectObjectImageAnim_850CF24, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BikeHopSmallSplash = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_BikeHopSmallSplash, gFieldEffectObjectPicTable_BikeHopSmallSplash, gDummySpriteAffineAnimTable, sub_8156194}; +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), @@ -502,7 +502,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_LongGrass[] = gFieldEffectObjectImageAnim_850CF70, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_LongGrass = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_LongGrass, gFieldEffectObjectPicTable_LongGrass, gDummySpriteAffineAnimTable, unc_grass_tall}; +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), @@ -529,7 +529,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown16[] = gFieldEffectObjectImageAnim_850CFDC, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown16 = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown16, gFieldEffectObjectPicTable_Unknown16, gDummySpriteAffineAnimTable, sub_8156194}; +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), @@ -562,7 +562,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown17[] = gFieldEffectObjectImageAnim_850D05C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown17 = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown17, gFieldEffectObjectPicTable_Unknown17, gDummySpriteAffineAnimTable, sub_81561D0}; +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), @@ -587,7 +587,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown18[] = gFieldEffectObjectImageAnim_850D0C0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown18 = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown18, gFieldEffectObjectPicTable_Unknown18, gDummySpriteAffineAnimTable, sub_81561D0}; +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), @@ -610,7 +610,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown19[] = gFieldEffectObjectImageAnim_850D118, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown19 = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown19, gFieldEffectObjectPicTable_Unknown19, gDummySpriteAffineAnimTable, sub_81561D0}; +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), @@ -631,7 +631,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown29[] = gFieldEffectObjectImageAnim_850D160, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29 = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x8, gFieldEffectObjectImageAnimTable_Unknown29, gFieldEffectObjectPicTable_Unknown29, gDummySpriteAffineAnimTable, sub_81559BC}; +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), @@ -656,7 +656,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown20[] = gFieldEffectObjectImageAnim_850D1AC, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_81561D0}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown20 = {0xFFFF, 0x1004, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown20, gFieldEffectObjectPicTable_Unknown20, gDummySpriteAffineAnimTable, sub_81561D0}; const union AffineAnimCmd gFieldEffectObjectRotScalAnim_850D1E4[] = { @@ -733,7 +733,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_BerryTreeGrowthSpark gFieldEffectObjectImageAnim_850D2D4, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_BerryTreeGrowthSparkle, gFieldEffectObjectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, sub_81561D0}; +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), @@ -769,7 +769,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_TreeDisguise[] = gFieldEffectObjectImageAnim_850D384, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; +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), @@ -805,7 +805,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_MountainDisguise[] = gFieldEffectObjectImageAnim_850D404, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_MountainDisguise, gFieldEffectObjectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, sub_8155C88}; +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), @@ -817,7 +817,7 @@ const struct SpriteFrameImage gFieldEffectObjectPicTable_SandDisguisePlaceholder obj_frame_tiles(gFieldEffectObjectPic_SandDisguisePlaceholder_6), }; -const struct SpriteTemplate gFieldEffectObjectTemplate_SandDisguisePlaceholder = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_TreeDisguise, gFieldEffectObjectPicTable_SandDisguisePlaceholder, gDummySpriteAffineAnimTable, sub_8155C88}; +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), @@ -834,7 +834,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bird[] = gFieldEffectObjectImageAnim_850D49C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bird = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Bird, gFieldEffectObjectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy}; +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), @@ -853,7 +853,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_ShortGrass[] = gFieldEffectObjectImageAnim_850D4D0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_ShortGrass, gFieldEffectObjectPicTable_ShortGrass, gDummySpriteAffineAnimTable, sub_8154A10}; +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), @@ -870,7 +870,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_HotSpringsWater[] = gFieldEffectObjectImageAnim_850D500, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_HotSpringsWater, gFieldEffectObjectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, sub_8155158}; +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), @@ -895,7 +895,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] = gFieldEffectObjectImageAnim_850D54C, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC}; +const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC}; const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D}; @@ -922,7 +922,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] = gFieldEffectObjectImageAnim_850D5B0, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58}; +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), @@ -953,7 +953,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Bubbles[] = gFieldEffectObjectImageAnim_850D624, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles = {0xFFFF, 0x1004, &gFieldObjectBaseOam_16x32, gFieldEffectObjectImageAnimTable_Bubbles, gFieldEffectObjectPicTable_Bubbles, gDummySpriteAffineAnimTable, sub_8155AEC}; +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), @@ -973,7 +973,7 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown35[] = gFieldEffectObjectImageAnim_850D674, }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gFieldObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, sub_8155E50}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35 = {0xFFFF, 0x100F, &gEventObjectBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown35, gFieldEffectObjectPicTable_Unknown35, gDummySpriteAffineAnimTable, sub_8155E50}; const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F}; @@ -987,11 +987,11 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_Rayquaza[] = { }; const struct SpriteFrameImage gFieldEffectObjectPicTable_Rayquaza[] = { - {.data = (u8*)gFieldObjectPic_Rayquaza_0, .size = (sizeof gFieldObjectPic_Rayquaza_0) / 4} + {.data = (u8*)gEventObjectPic_Rayquaza_0, .size = (sizeof gEventObjectPic_Rayquaza_0) / 4} }; -const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gFieldObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; +const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza = {0xFFFF, 0xFFFF, &gEventObjectBaseOam_32x32, gFieldEffectObjectImageAnimTable_Rayquaza, gFieldEffectObjectPicTable_Rayquaza, gDummySpriteAffineAnimTable, sub_8155F80}; -const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gFieldObjectPalette2, 0x1011}; +const struct SpritePalette gFieldEffectObjectPaletteInfoUnused = {gEventObjectPalette2, 0x1011}; #endif //GUARD_FIELD_EFFECT_OBJECTS_H diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h index d5b7b8911..519ca771a 100755 --- a/src/data/field_event_obj/movement_action_func_tables.h +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -1,430 +1,430 @@ #ifndef GUARD_MOVEMENT_ACTION_FUNC_TABLES_H #define GUARD_MOVEMENT_ACTION_FUNC_TABLES_H -u8 MovementAction_FaceDown_Step0(struct MapObject *, struct Sprite *); -u8 sub_8093950(struct MapObject *, struct Sprite *); -u8 sub_80964BC(struct MapObject *, struct Sprite *); -u8 sub_8093960(struct MapObject *, struct Sprite *); -u8 sub_8093970(struct MapObject *, struct Sprite *); -u8 sub_8093980(struct MapObject *, struct Sprite *); -u8 sub_8093BC4(struct MapObject *, struct Sprite *); -u8 sub_8093BC4_2(struct MapObject *, struct Sprite *); -u8 sub_8093C04(struct MapObject *, struct Sprite *); -u8 sub_8093C04_2(struct MapObject *, struct Sprite *); -u8 sub_8093C44(struct MapObject *, struct Sprite *); -u8 sub_8093C44_2(struct MapObject *, struct Sprite *); -u8 sub_8093C84(struct MapObject *, struct Sprite *); -u8 sub_8093C84_2(struct MapObject *, struct Sprite *); -u8 sub_8093CC4(struct MapObject *, struct Sprite *); -u8 sub_8093CC4_2(struct MapObject *, struct Sprite *); -u8 sub_8093D04(struct MapObject *, struct Sprite *); -u8 sub_8093D04_2(struct MapObject *, struct Sprite *); -u8 sub_8093D44(struct MapObject *, struct Sprite *); -u8 sub_8093D44_2(struct MapObject *, struct Sprite *); -u8 sub_8093D84(struct MapObject *, struct Sprite *); -u8 sub_8093D84_2(struct MapObject *, struct Sprite *); -u8 sub_8093DC4(struct MapObject *, struct Sprite *); -u8 sub_8093DC4_2(struct MapObject *, struct Sprite *); -u8 sub_8093E04(struct MapObject *, struct Sprite *); -u8 sub_8093E04_2(struct MapObject *, struct Sprite *); -u8 sub_8093E44(struct MapObject *, struct Sprite *); -u8 sub_8093E44_2(struct MapObject *, struct Sprite *); -u8 sub_8093E84(struct MapObject *, struct Sprite *); -u8 sub_8093E84_2(struct MapObject *, struct Sprite *); -u8 sub_8093EC4(struct MapObject *, struct Sprite *); -u8 sub_8093EC4_2(struct MapObject *, struct Sprite *); -u8 sub_8093F04(struct MapObject *, struct Sprite *); -u8 sub_8093F04_2(struct MapObject *, struct Sprite *); -u8 sub_8093F44(struct MapObject *, struct Sprite *); -u8 sub_8093F44_2(struct MapObject *, struct Sprite *); -u8 sub_8093F84(struct MapObject *, struct Sprite *); -u8 sub_8093F84_2(struct MapObject *, struct Sprite *); -u8 sub_8094230(struct MapObject *, struct Sprite *); -u8 sub_8094230_2(struct MapObject *, struct Sprite *); -u8 sub_8094288(struct MapObject *, struct Sprite *); -u8 sub_8094288_2(struct MapObject *, struct Sprite *); -u8 sub_80942E0(struct MapObject *, struct Sprite *); -u8 sub_80942E0_2(struct MapObject *, struct Sprite *); -u8 sub_8094338(struct MapObject *, struct Sprite *); -u8 sub_8094338_2(struct MapObject *, struct Sprite *); -u8 sub_80943B4(struct MapObject *, struct Sprite *); -u8 sub_8094398(struct MapObject *, struct Sprite *); -u8 sub_80964B8(struct MapObject *, struct Sprite *); -u8 sub_80943D4(struct MapObject *, struct Sprite *); -u8 sub_80943F4(struct MapObject *, struct Sprite *); -u8 sub_8094414(struct MapObject *, struct Sprite *); -u8 sub_8094434(struct MapObject *, struct Sprite *); -u8 sub_8094454(struct MapObject *, struct Sprite *); -u8 sub_8094454_2(struct MapObject *, struct Sprite *); -u8 sub_8094494(struct MapObject *, struct Sprite *); -u8 sub_8094494_2(struct MapObject *, struct Sprite *); -u8 sub_80944D4(struct MapObject *, struct Sprite *); -u8 sub_80944D4_2(struct MapObject *, struct Sprite *); -u8 sub_8094514(struct MapObject *, struct Sprite *); -u8 sub_8094514_2(struct MapObject *, struct Sprite *); -u8 sub_8094600(struct MapObject *, struct Sprite *); -u8 sub_80945C4(struct MapObject *, struct Sprite *); -u8 sub_8094638(struct MapObject *, struct Sprite *); -u8 sub_8094670(struct MapObject *, struct Sprite *); -u8 sub_80946A8(struct MapObject *, struct Sprite *); -u8 sub_80946E0(struct MapObject *, struct Sprite *); -u8 sub_809459C(struct MapObject *, struct Sprite *); -u8 sub_8094718(struct MapObject *, struct Sprite *); -u8 sub_8094750(struct MapObject *, struct Sprite *); -u8 sub_8094788(struct MapObject *, struct Sprite *); -u8 sub_80947C0(struct MapObject *, struct Sprite *); -u8 sub_80947F8(struct MapObject *, struct Sprite *); -u8 sub_8094830(struct MapObject *, struct Sprite *); -u8 sub_8094868(struct MapObject *, struct Sprite *); -u8 sub_80948A0(struct MapObject *, struct Sprite *); -u8 sub_80948D8(struct MapObject *, struct Sprite *); -u8 sub_8094910(struct MapObject *, struct Sprite *); -u8 sub_8094948(struct MapObject *, struct Sprite *); -u8 sub_8094980(struct MapObject *, struct Sprite *); -u8 sub_8094980_2(struct MapObject *, struct Sprite *); -u8 sub_80949C0(struct MapObject *, struct Sprite *); -u8 sub_80949C0_2(struct MapObject *, struct Sprite *); -u8 sub_8094A00(struct MapObject *, struct Sprite *); -u8 sub_8094A00_2(struct MapObject *, struct Sprite *); -u8 sub_8094A40(struct MapObject *, struct Sprite *); -u8 sub_8094A40_2(struct MapObject *, struct Sprite *); -u8 sub_8094A80(struct MapObject *, struct Sprite *); -u8 sub_8094A80_2(struct MapObject *, struct Sprite *); -u8 sub_8094AC0(struct MapObject *, struct Sprite *); -u8 sub_8094AC0_2(struct MapObject *, struct Sprite *); -u8 sub_8094B00(struct MapObject *, struct Sprite *); -u8 sub_8094B00_2(struct MapObject *, struct Sprite *); -u8 sub_8094B40(struct MapObject *, struct Sprite *); -u8 sub_8094B40_2(struct MapObject *, struct Sprite *); -u8 sub_8094B80(struct MapObject *, struct Sprite *); -u8 sub_8094B80_2(struct MapObject *, struct Sprite *); -u8 sub_8094BC0(struct MapObject *, struct Sprite *); -u8 sub_8094BC0_2(struct MapObject *, struct Sprite *); -u8 sub_8094C00(struct MapObject *, struct Sprite *); -u8 sub_8094C00_2(struct MapObject *, struct Sprite *); -u8 sub_8094C40(struct MapObject *, struct Sprite *); -u8 sub_8094C40_2(struct MapObject *, struct Sprite *); -u8 sub_8094C80(struct MapObject *, struct Sprite *); -u8 sub_8094C80_2(struct MapObject *, struct Sprite *); -u8 sub_8094CC0(struct MapObject *, struct Sprite *); -u8 sub_8094CC0_2(struct MapObject *, struct Sprite *); -u8 sub_8094D00(struct MapObject *, struct Sprite *); -u8 sub_8094D00_2(struct MapObject *, struct Sprite *); -u8 sub_8094D40(struct MapObject *, struct Sprite *); -u8 sub_8094D40_2(struct MapObject *, struct Sprite *); -u8 sub_8094DAC(struct MapObject *, struct Sprite *); -u8 sub_8094DC4(struct MapObject *, struct Sprite *); -u8 sub_8094E18(struct MapObject *, struct Sprite *); -u8 sub_8094E18_2(struct MapObject *, struct Sprite *); -u8 sub_8094E60(struct MapObject *, struct Sprite *); -u8 sub_8094E60_2(struct MapObject *, struct Sprite *); -u8 sub_8094EB8(struct MapObject *, struct Sprite *); -u8 sub_8094EB8_2(struct MapObject *, struct Sprite *); -u8 sub_8094710(struct MapObject *, struct Sprite *); -u8 sub_8094710_2(struct MapObject *, struct Sprite *); -u8 sub_8094F38(struct MapObject *, struct Sprite *); -u8 sub_8094F94(struct MapObject *, struct Sprite *); -u8 sub_8094FF8(struct MapObject *, struct Sprite *); -u8 sub_8095008(struct MapObject *, struct Sprite *); -u8 sub_8095018(struct MapObject *, struct Sprite *); -u8 sub_8095018_2(struct MapObject *, struct Sprite *); -u8 sub_8095070(struct MapObject *, struct Sprite *); -u8 sub_8095070_2(struct MapObject *, struct Sprite *); -u8 sub_80950C8(struct MapObject *, struct Sprite *); -u8 sub_80950C8_2(struct MapObject *, struct Sprite *); -u8 sub_8095120(struct MapObject *, struct Sprite *); -u8 sub_8095120_2(struct MapObject *, struct Sprite *); -u8 sub_8095178(struct MapObject *, struct Sprite *); -u8 sub_8095178_2(struct MapObject *, struct Sprite *); -u8 sub_80951D0(struct MapObject *, struct Sprite *); -u8 sub_80951D0_2(struct MapObject *, struct Sprite *); -u8 sub_8095228(struct MapObject *, struct Sprite *); -u8 sub_8095228_2(struct MapObject *, struct Sprite *); -u8 sub_8095280(struct MapObject *, struct Sprite *); -u8 sub_8095280_2(struct MapObject *, struct Sprite *); -u8 sub_80952D8(struct MapObject *, struct Sprite *); -u8 sub_80952D8_2(struct MapObject *, struct Sprite *); -u8 sub_8095330(struct MapObject *, struct Sprite *); -u8 sub_8095330_2(struct MapObject *, struct Sprite *); -u8 sub_8095388(struct MapObject *, struct Sprite *); -u8 sub_8095388_2(struct MapObject *, struct Sprite *); -u8 sub_80953E0(struct MapObject *, struct Sprite *); -u8 sub_80953E0_2(struct MapObject *, struct Sprite *); -u8 sub_8095438(struct MapObject *, struct Sprite *); -u8 sub_8095450(struct MapObject *, struct Sprite *); -u8 sub_8095460(struct MapObject *, struct Sprite *); -u8 sub_8095470(struct MapObject *, struct Sprite *); -u8 sub_8095480(struct MapObject *, struct Sprite *); -u8 sub_8095490(struct MapObject *, struct Sprite *); -u8 sub_80954BC(struct MapObject *, struct Sprite *); -u8 sub_80954CC(struct MapObject *, struct Sprite *); -u8 do_exclamation_mark_bubble_1(struct MapObject *, struct Sprite *); -u8 do_exclamation_mark_bubble_2(struct MapObject *, struct Sprite *); -u8 do_heart_bubble(struct MapObject *, struct Sprite *); -u8 sub_8095548(struct MapObject *, struct Sprite *); -u8 sub_809558C(struct MapObject *, struct Sprite *); -u8 sub_80955AC(struct MapObject *, struct Sprite *); -u8 sub_80955C8(struct MapObject *, struct Sprite *); -u8 sub_80955EC(struct MapObject *, struct Sprite *); -u8 sub_8095628(struct MapObject *, struct Sprite *); -u8 sub_8095644(struct MapObject *, struct Sprite *); -u8 sub_8095668(struct MapObject *, struct Sprite *); -u8 sub_80956A4(struct MapObject *, struct Sprite *); -u8 sub_80956B4(struct MapObject *, struct Sprite *); -u8 sub_80956C4(struct MapObject *, struct Sprite *); -u8 sub_80956F4(struct MapObject *, struct Sprite *); -u8 sub_8095724(struct MapObject *, struct Sprite *); -u8 sub_8095730(struct MapObject *, struct Sprite *); -u8 sub_8095740(struct MapObject *, struct Sprite *); -u8 sub_8095740_2(struct MapObject *, struct Sprite *); -u8 sub_80957A0(struct MapObject *, struct Sprite *); -u8 sub_80957A0_2(struct MapObject *, struct Sprite *); -u8 sub_8095800(struct MapObject *, struct Sprite *); -u8 sub_8095800_2(struct MapObject *, struct Sprite *); -u8 sub_8095860(struct MapObject *, struct Sprite *); -u8 sub_8095860_2(struct MapObject *, struct Sprite *); -u8 sub_8095900(struct MapObject *, struct Sprite *); -u8 sub_8095910(struct MapObject *, struct Sprite *); -u8 sub_8095920(struct MapObject *, struct Sprite *); -u8 sub_8095930(struct MapObject *, struct Sprite *); -u8 sub_8095940(struct MapObject *, struct Sprite *); -u8 sub_8095964(struct MapObject *, struct Sprite *); -u8 sub_8095988(struct MapObject *, struct Sprite *); -u8 sub_80959AC(struct MapObject *, struct Sprite *); -u8 sub_80959D0(struct MapObject *, struct Sprite *); -u8 sub_80959F4(struct MapObject *, struct Sprite *); -u8 sub_8095A18(struct MapObject *, struct Sprite *); -u8 sub_8095A3C(struct MapObject *, struct Sprite *); -u8 sub_8095A60(struct MapObject *, struct Sprite *); -u8 sub_8095A84(struct MapObject *, struct Sprite *); -u8 sub_8095AA8(struct MapObject *, struct Sprite *); -u8 sub_8095ACC(struct MapObject *, struct Sprite *); -u8 sub_8095B44(struct MapObject *, struct Sprite *); -u8 sub_8095B64(struct MapObject *, struct Sprite *); -u8 sub_8095BC8(struct MapObject *, struct Sprite *); -u8 sub_8095BC8_2(struct MapObject *, struct Sprite *); -u8 sub_8095C20(struct MapObject *, struct Sprite *); -u8 sub_8095C20_2(struct MapObject *, struct Sprite *); -u8 sub_8095C78(struct MapObject *, struct Sprite *); -u8 sub_8095C78_2(struct MapObject *, struct Sprite *); -u8 sub_8095CD0(struct MapObject *, struct Sprite *); -u8 sub_8095CD0_2(struct MapObject *, struct Sprite *); -u8 sub_8095D28(struct MapObject *, struct Sprite *); -u8 sub_8095D28_2(struct MapObject *, struct Sprite *); -u8 sub_8095D80(struct MapObject *, struct Sprite *); -u8 sub_8095D80_2(struct MapObject *, struct Sprite *); -u8 sub_8095DD8(struct MapObject *, struct Sprite *); -u8 sub_8095DD8_2(struct MapObject *, struct Sprite *); -u8 sub_8095E30(struct MapObject *, struct Sprite *); -u8 sub_8095E30_2(struct MapObject *, struct Sprite *); -u8 sub_8095E88(struct MapObject *, struct Sprite *); -u8 sub_8095E88_2(struct MapObject *, struct Sprite *); -u8 sub_8095EE0(struct MapObject *, struct Sprite *); -u8 sub_8095EE0_2(struct MapObject *, struct Sprite *); -u8 sub_8095F38(struct MapObject *, struct Sprite *); -u8 sub_8095F38_2(struct MapObject *, struct Sprite *); -u8 sub_8095F90(struct MapObject *, struct Sprite *); -u8 sub_8095F90_2(struct MapObject *, struct Sprite *); -u8 sub_8095FE8(struct MapObject *, struct Sprite *); -u8 sub_8096020(struct MapObject *, struct Sprite *); -u8 sub_8096058(struct MapObject *, struct Sprite *); -u8 sub_8096090(struct MapObject *, struct Sprite *); -u8 sub_8096100(struct MapObject *, struct Sprite *); -u8 sub_8096100_2(struct MapObject *, struct Sprite *); -u8 sub_8096140(struct MapObject *, struct Sprite *); -u8 sub_8096140_2(struct MapObject *, struct Sprite *); -u8 sub_8096180(struct MapObject *, struct Sprite *); -u8 sub_8096180_2(struct MapObject *, struct Sprite *); -u8 sub_80961C0(struct MapObject *, struct Sprite *); -u8 sub_80961C0_2(struct MapObject *, struct Sprite *); -u8 sub_8096230(struct MapObject *, struct Sprite *); -u8 sub_8096230_2(struct MapObject *, struct Sprite *); -u8 sub_8096270(struct MapObject *, struct Sprite *); -u8 sub_8096270_2(struct MapObject *, struct Sprite *); -u8 sub_80962B0(struct MapObject *, struct Sprite *); -u8 sub_80962B0_2(struct MapObject *, struct Sprite *); -u8 sub_80962F0(struct MapObject *, struct Sprite *); -u8 sub_80962F0_2(struct MapObject *, struct Sprite *); -u8 sub_8096368(struct MapObject *, struct Sprite *); -u8 sub_8096368_2(struct MapObject *, struct Sprite *); -u8 sub_80963A8(struct MapObject *, struct Sprite *); -u8 sub_80963A8_2(struct MapObject *, struct Sprite *); -u8 sub_80963E8(struct MapObject *, struct Sprite *); -u8 sub_80963E8_2(struct MapObject *, struct Sprite *); -u8 sub_8096428(struct MapObject *, struct Sprite *); -u8 sub_8096428_2(struct MapObject *, struct Sprite *); -u8 sub_8096468(struct MapObject *, struct Sprite *); -u8 sub_809647C(struct MapObject *, struct Sprite *); -u8 sub_8096494(struct MapObject *, struct Sprite *); -u8 sub_8097E50(struct MapObject *, struct Sprite *); -u8 sub_80964B8(struct MapObject *, struct Sprite *); -u8 sub_8097EF0(struct MapObject *, struct Sprite *); -u8 sub_80980C0(struct MapObject *, struct Sprite *); -u8 sub_80980D0(struct MapObject *, struct Sprite *); -u8 sub_8098124(struct MapObject *, struct Sprite *); -u8 sub_80980F4(struct MapObject *, struct Sprite *); -u8 sub_8098108(struct MapObject *, struct Sprite *); - -u8 (*const gUnknown_0850DEC8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DED0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DED8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DEE0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF2C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF38[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF44[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF50[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF8C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF98[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFA4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFB0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFC8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFD4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFE0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFEC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DFF8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E004[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E010[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E01C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E028[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E034[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E040[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E04C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E058[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E064[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E070[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E07C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E088[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E094[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0A0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0AC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0B8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0C4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0D0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0DC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0E8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E0F4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E100[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E10C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E118[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E124[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E130[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E13C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E148[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E154[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E160[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E16C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E178[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E184[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E190[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E19C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1A8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1B4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1C0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1CC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1D8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1E4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1F0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E1FC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E208[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E214[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E220[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E228[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E230[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E238[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E240[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E24C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E258[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E264[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E270[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E27C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E288[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E294[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2A0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2AC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2B8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2C4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2D0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2D8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2E4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2EC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2F4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E2FC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E304[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E30C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E314[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E31C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E324[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E32C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E338[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E348[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E358[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E360[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E368[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E370[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E378[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E380[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E388[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E394[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3B8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3C0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3C8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3D0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3D8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3E4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3F0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3FC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E408[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E414[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E420[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E42C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E474[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E480[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E48C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E498[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4A4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4B0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4BC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4C8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4D4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4E0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4EC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E4F8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E504[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E510[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E51C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E528[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E534[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E540[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E54C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E558[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E564[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E570[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E57C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E588[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E594[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E5A0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E5AC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E5B8[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF5C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF68[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF74[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF80[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DEFC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF08[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF14[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850DF20[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E854[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E85C[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3A0[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E3AC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E5C4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E5CC[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E5D4[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E468[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E864[])(struct MapObject *, struct Sprite *); -u8 (*const gUnknown_0850E870[])(struct MapObject *, struct Sprite *); - -u8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *) = { +u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *); +u8 sub_8093950(struct EventObject *, struct Sprite *); +u8 sub_80964BC(struct EventObject *, struct Sprite *); +u8 sub_8093960(struct EventObject *, struct Sprite *); +u8 sub_8093970(struct EventObject *, struct Sprite *); +u8 sub_8093980(struct EventObject *, struct Sprite *); +u8 sub_8093BC4(struct EventObject *, struct Sprite *); +u8 sub_8093BC4_2(struct EventObject *, struct Sprite *); +u8 sub_8093C04(struct EventObject *, struct Sprite *); +u8 sub_8093C04_2(struct EventObject *, struct Sprite *); +u8 sub_8093C44(struct EventObject *, struct Sprite *); +u8 sub_8093C44_2(struct EventObject *, struct Sprite *); +u8 sub_8093C84(struct EventObject *, struct Sprite *); +u8 sub_8093C84_2(struct EventObject *, struct Sprite *); +u8 sub_8093CC4(struct EventObject *, struct Sprite *); +u8 sub_8093CC4_2(struct EventObject *, struct Sprite *); +u8 sub_8093D04(struct EventObject *, struct Sprite *); +u8 sub_8093D04_2(struct EventObject *, struct Sprite *); +u8 sub_8093D44(struct EventObject *, struct Sprite *); +u8 sub_8093D44_2(struct EventObject *, struct Sprite *); +u8 sub_8093D84(struct EventObject *, struct Sprite *); +u8 sub_8093D84_2(struct EventObject *, struct Sprite *); +u8 sub_8093DC4(struct EventObject *, struct Sprite *); +u8 sub_8093DC4_2(struct EventObject *, struct Sprite *); +u8 sub_8093E04(struct EventObject *, struct Sprite *); +u8 sub_8093E04_2(struct EventObject *, struct Sprite *); +u8 sub_8093E44(struct EventObject *, struct Sprite *); +u8 sub_8093E44_2(struct EventObject *, struct Sprite *); +u8 sub_8093E84(struct EventObject *, struct Sprite *); +u8 sub_8093E84_2(struct EventObject *, struct Sprite *); +u8 sub_8093EC4(struct EventObject *, struct Sprite *); +u8 sub_8093EC4_2(struct EventObject *, struct Sprite *); +u8 sub_8093F04(struct EventObject *, struct Sprite *); +u8 sub_8093F04_2(struct EventObject *, struct Sprite *); +u8 sub_8093F44(struct EventObject *, struct Sprite *); +u8 sub_8093F44_2(struct EventObject *, struct Sprite *); +u8 sub_8093F84(struct EventObject *, struct Sprite *); +u8 sub_8093F84_2(struct EventObject *, struct Sprite *); +u8 sub_8094230(struct EventObject *, struct Sprite *); +u8 sub_8094230_2(struct EventObject *, struct Sprite *); +u8 sub_8094288(struct EventObject *, struct Sprite *); +u8 sub_8094288_2(struct EventObject *, struct Sprite *); +u8 sub_80942E0(struct EventObject *, struct Sprite *); +u8 sub_80942E0_2(struct EventObject *, struct Sprite *); +u8 sub_8094338(struct EventObject *, struct Sprite *); +u8 sub_8094338_2(struct EventObject *, struct Sprite *); +u8 sub_80943B4(struct EventObject *, struct Sprite *); +u8 sub_8094398(struct EventObject *, struct Sprite *); +u8 sub_80964B8(struct EventObject *, struct Sprite *); +u8 sub_80943D4(struct EventObject *, struct Sprite *); +u8 sub_80943F4(struct EventObject *, struct Sprite *); +u8 sub_8094414(struct EventObject *, struct Sprite *); +u8 sub_8094434(struct EventObject *, struct Sprite *); +u8 sub_8094454(struct EventObject *, struct Sprite *); +u8 sub_8094454_2(struct EventObject *, struct Sprite *); +u8 sub_8094494(struct EventObject *, struct Sprite *); +u8 sub_8094494_2(struct EventObject *, struct Sprite *); +u8 sub_80944D4(struct EventObject *, struct Sprite *); +u8 sub_80944D4_2(struct EventObject *, struct Sprite *); +u8 sub_8094514(struct EventObject *, struct Sprite *); +u8 sub_8094514_2(struct EventObject *, struct Sprite *); +u8 sub_8094600(struct EventObject *, struct Sprite *); +u8 sub_80945C4(struct EventObject *, struct Sprite *); +u8 sub_8094638(struct EventObject *, struct Sprite *); +u8 sub_8094670(struct EventObject *, struct Sprite *); +u8 sub_80946A8(struct EventObject *, struct Sprite *); +u8 sub_80946E0(struct EventObject *, struct Sprite *); +u8 sub_809459C(struct EventObject *, struct Sprite *); +u8 sub_8094718(struct EventObject *, struct Sprite *); +u8 sub_8094750(struct EventObject *, struct Sprite *); +u8 sub_8094788(struct EventObject *, struct Sprite *); +u8 sub_80947C0(struct EventObject *, struct Sprite *); +u8 sub_80947F8(struct EventObject *, struct Sprite *); +u8 sub_8094830(struct EventObject *, struct Sprite *); +u8 sub_8094868(struct EventObject *, struct Sprite *); +u8 sub_80948A0(struct EventObject *, struct Sprite *); +u8 sub_80948D8(struct EventObject *, struct Sprite *); +u8 sub_8094910(struct EventObject *, struct Sprite *); +u8 sub_8094948(struct EventObject *, struct Sprite *); +u8 sub_8094980(struct EventObject *, struct Sprite *); +u8 sub_8094980_2(struct EventObject *, struct Sprite *); +u8 sub_80949C0(struct EventObject *, struct Sprite *); +u8 sub_80949C0_2(struct EventObject *, struct Sprite *); +u8 sub_8094A00(struct EventObject *, struct Sprite *); +u8 sub_8094A00_2(struct EventObject *, struct Sprite *); +u8 sub_8094A40(struct EventObject *, struct Sprite *); +u8 sub_8094A40_2(struct EventObject *, struct Sprite *); +u8 sub_8094A80(struct EventObject *, struct Sprite *); +u8 sub_8094A80_2(struct EventObject *, struct Sprite *); +u8 sub_8094AC0(struct EventObject *, struct Sprite *); +u8 sub_8094AC0_2(struct EventObject *, struct Sprite *); +u8 sub_8094B00(struct EventObject *, struct Sprite *); +u8 sub_8094B00_2(struct EventObject *, struct Sprite *); +u8 sub_8094B40(struct EventObject *, struct Sprite *); +u8 sub_8094B40_2(struct EventObject *, struct Sprite *); +u8 sub_8094B80(struct EventObject *, struct Sprite *); +u8 sub_8094B80_2(struct EventObject *, struct Sprite *); +u8 sub_8094BC0(struct EventObject *, struct Sprite *); +u8 sub_8094BC0_2(struct EventObject *, struct Sprite *); +u8 sub_8094C00(struct EventObject *, struct Sprite *); +u8 sub_8094C00_2(struct EventObject *, struct Sprite *); +u8 sub_8094C40(struct EventObject *, struct Sprite *); +u8 sub_8094C40_2(struct EventObject *, struct Sprite *); +u8 sub_8094C80(struct EventObject *, struct Sprite *); +u8 sub_8094C80_2(struct EventObject *, struct Sprite *); +u8 sub_8094CC0(struct EventObject *, struct Sprite *); +u8 sub_8094CC0_2(struct EventObject *, struct Sprite *); +u8 sub_8094D00(struct EventObject *, struct Sprite *); +u8 sub_8094D00_2(struct EventObject *, struct Sprite *); +u8 sub_8094D40(struct EventObject *, struct Sprite *); +u8 sub_8094D40_2(struct EventObject *, struct Sprite *); +u8 sub_8094DAC(struct EventObject *, struct Sprite *); +u8 sub_8094DC4(struct EventObject *, struct Sprite *); +u8 sub_8094E18(struct EventObject *, struct Sprite *); +u8 sub_8094E18_2(struct EventObject *, struct Sprite *); +u8 sub_8094E60(struct EventObject *, struct Sprite *); +u8 sub_8094E60_2(struct EventObject *, struct Sprite *); +u8 sub_8094EB8(struct EventObject *, struct Sprite *); +u8 sub_8094EB8_2(struct EventObject *, struct Sprite *); +u8 sub_8094710(struct EventObject *, struct Sprite *); +u8 sub_8094710_2(struct EventObject *, struct Sprite *); +u8 sub_8094F38(struct EventObject *, struct Sprite *); +u8 sub_8094F94(struct EventObject *, struct Sprite *); +u8 sub_8094FF8(struct EventObject *, struct Sprite *); +u8 sub_8095008(struct EventObject *, struct Sprite *); +u8 sub_8095018(struct EventObject *, struct Sprite *); +u8 sub_8095018_2(struct EventObject *, struct Sprite *); +u8 sub_8095070(struct EventObject *, struct Sprite *); +u8 sub_8095070_2(struct EventObject *, struct Sprite *); +u8 sub_80950C8(struct EventObject *, struct Sprite *); +u8 sub_80950C8_2(struct EventObject *, struct Sprite *); +u8 sub_8095120(struct EventObject *, struct Sprite *); +u8 sub_8095120_2(struct EventObject *, struct Sprite *); +u8 sub_8095178(struct EventObject *, struct Sprite *); +u8 sub_8095178_2(struct EventObject *, struct Sprite *); +u8 sub_80951D0(struct EventObject *, struct Sprite *); +u8 sub_80951D0_2(struct EventObject *, struct Sprite *); +u8 sub_8095228(struct EventObject *, struct Sprite *); +u8 sub_8095228_2(struct EventObject *, struct Sprite *); +u8 sub_8095280(struct EventObject *, struct Sprite *); +u8 sub_8095280_2(struct EventObject *, struct Sprite *); +u8 sub_80952D8(struct EventObject *, struct Sprite *); +u8 sub_80952D8_2(struct EventObject *, struct Sprite *); +u8 sub_8095330(struct EventObject *, struct Sprite *); +u8 sub_8095330_2(struct EventObject *, struct Sprite *); +u8 sub_8095388(struct EventObject *, struct Sprite *); +u8 sub_8095388_2(struct EventObject *, struct Sprite *); +u8 sub_80953E0(struct EventObject *, struct Sprite *); +u8 sub_80953E0_2(struct EventObject *, struct Sprite *); +u8 sub_8095438(struct EventObject *, struct Sprite *); +u8 sub_8095450(struct EventObject *, struct Sprite *); +u8 sub_8095460(struct EventObject *, struct Sprite *); +u8 sub_8095470(struct EventObject *, struct Sprite *); +u8 sub_8095480(struct EventObject *, struct Sprite *); +u8 sub_8095490(struct EventObject *, struct Sprite *); +u8 sub_80954BC(struct EventObject *, struct Sprite *); +u8 sub_80954CC(struct EventObject *, struct Sprite *); +u8 do_exclamation_mark_bubble_1(struct EventObject *, struct Sprite *); +u8 do_exclamation_mark_bubble_2(struct EventObject *, struct Sprite *); +u8 do_heart_bubble(struct EventObject *, struct Sprite *); +u8 sub_8095548(struct EventObject *, struct Sprite *); +u8 sub_809558C(struct EventObject *, struct Sprite *); +u8 sub_80955AC(struct EventObject *, struct Sprite *); +u8 sub_80955C8(struct EventObject *, struct Sprite *); +u8 sub_80955EC(struct EventObject *, struct Sprite *); +u8 sub_8095628(struct EventObject *, struct Sprite *); +u8 sub_8095644(struct EventObject *, struct Sprite *); +u8 sub_8095668(struct EventObject *, struct Sprite *); +u8 sub_80956A4(struct EventObject *, struct Sprite *); +u8 sub_80956B4(struct EventObject *, struct Sprite *); +u8 sub_80956C4(struct EventObject *, struct Sprite *); +u8 sub_80956F4(struct EventObject *, struct Sprite *); +u8 sub_8095724(struct EventObject *, struct Sprite *); +u8 sub_8095730(struct EventObject *, struct Sprite *); +u8 sub_8095740(struct EventObject *, struct Sprite *); +u8 sub_8095740_2(struct EventObject *, struct Sprite *); +u8 sub_80957A0(struct EventObject *, struct Sprite *); +u8 sub_80957A0_2(struct EventObject *, struct Sprite *); +u8 sub_8095800(struct EventObject *, struct Sprite *); +u8 sub_8095800_2(struct EventObject *, struct Sprite *); +u8 sub_8095860(struct EventObject *, struct Sprite *); +u8 sub_8095860_2(struct EventObject *, struct Sprite *); +u8 sub_8095900(struct EventObject *, struct Sprite *); +u8 sub_8095910(struct EventObject *, struct Sprite *); +u8 sub_8095920(struct EventObject *, struct Sprite *); +u8 sub_8095930(struct EventObject *, struct Sprite *); +u8 sub_8095940(struct EventObject *, struct Sprite *); +u8 sub_8095964(struct EventObject *, struct Sprite *); +u8 sub_8095988(struct EventObject *, struct Sprite *); +u8 sub_80959AC(struct EventObject *, struct Sprite *); +u8 sub_80959D0(struct EventObject *, struct Sprite *); +u8 sub_80959F4(struct EventObject *, struct Sprite *); +u8 sub_8095A18(struct EventObject *, struct Sprite *); +u8 sub_8095A3C(struct EventObject *, struct Sprite *); +u8 sub_8095A60(struct EventObject *, struct Sprite *); +u8 sub_8095A84(struct EventObject *, struct Sprite *); +u8 sub_8095AA8(struct EventObject *, struct Sprite *); +u8 sub_8095ACC(struct EventObject *, struct Sprite *); +u8 sub_8095B44(struct EventObject *, struct Sprite *); +u8 sub_8095B64(struct EventObject *, struct Sprite *); +u8 sub_8095BC8(struct EventObject *, struct Sprite *); +u8 sub_8095BC8_2(struct EventObject *, struct Sprite *); +u8 sub_8095C20(struct EventObject *, struct Sprite *); +u8 sub_8095C20_2(struct EventObject *, struct Sprite *); +u8 sub_8095C78(struct EventObject *, struct Sprite *); +u8 sub_8095C78_2(struct EventObject *, struct Sprite *); +u8 sub_8095CD0(struct EventObject *, struct Sprite *); +u8 sub_8095CD0_2(struct EventObject *, struct Sprite *); +u8 sub_8095D28(struct EventObject *, struct Sprite *); +u8 sub_8095D28_2(struct EventObject *, struct Sprite *); +u8 sub_8095D80(struct EventObject *, struct Sprite *); +u8 sub_8095D80_2(struct EventObject *, struct Sprite *); +u8 sub_8095DD8(struct EventObject *, struct Sprite *); +u8 sub_8095DD8_2(struct EventObject *, struct Sprite *); +u8 sub_8095E30(struct EventObject *, struct Sprite *); +u8 sub_8095E30_2(struct EventObject *, struct Sprite *); +u8 sub_8095E88(struct EventObject *, struct Sprite *); +u8 sub_8095E88_2(struct EventObject *, struct Sprite *); +u8 sub_8095EE0(struct EventObject *, struct Sprite *); +u8 sub_8095EE0_2(struct EventObject *, struct Sprite *); +u8 sub_8095F38(struct EventObject *, struct Sprite *); +u8 sub_8095F38_2(struct EventObject *, struct Sprite *); +u8 sub_8095F90(struct EventObject *, struct Sprite *); +u8 sub_8095F90_2(struct EventObject *, struct Sprite *); +u8 sub_8095FE8(struct EventObject *, struct Sprite *); +u8 sub_8096020(struct EventObject *, struct Sprite *); +u8 sub_8096058(struct EventObject *, struct Sprite *); +u8 sub_8096090(struct EventObject *, struct Sprite *); +u8 sub_8096100(struct EventObject *, struct Sprite *); +u8 sub_8096100_2(struct EventObject *, struct Sprite *); +u8 sub_8096140(struct EventObject *, struct Sprite *); +u8 sub_8096140_2(struct EventObject *, struct Sprite *); +u8 sub_8096180(struct EventObject *, struct Sprite *); +u8 sub_8096180_2(struct EventObject *, struct Sprite *); +u8 sub_80961C0(struct EventObject *, struct Sprite *); +u8 sub_80961C0_2(struct EventObject *, struct Sprite *); +u8 sub_8096230(struct EventObject *, struct Sprite *); +u8 sub_8096230_2(struct EventObject *, struct Sprite *); +u8 sub_8096270(struct EventObject *, struct Sprite *); +u8 sub_8096270_2(struct EventObject *, struct Sprite *); +u8 sub_80962B0(struct EventObject *, struct Sprite *); +u8 sub_80962B0_2(struct EventObject *, struct Sprite *); +u8 sub_80962F0(struct EventObject *, struct Sprite *); +u8 sub_80962F0_2(struct EventObject *, struct Sprite *); +u8 sub_8096368(struct EventObject *, struct Sprite *); +u8 sub_8096368_2(struct EventObject *, struct Sprite *); +u8 sub_80963A8(struct EventObject *, struct Sprite *); +u8 sub_80963A8_2(struct EventObject *, struct Sprite *); +u8 sub_80963E8(struct EventObject *, struct Sprite *); +u8 sub_80963E8_2(struct EventObject *, struct Sprite *); +u8 sub_8096428(struct EventObject *, struct Sprite *); +u8 sub_8096428_2(struct EventObject *, struct Sprite *); +u8 sub_8096468(struct EventObject *, struct Sprite *); +u8 sub_809647C(struct EventObject *, struct Sprite *); +u8 sub_8096494(struct EventObject *, struct Sprite *); +u8 sub_8097E50(struct EventObject *, struct Sprite *); +u8 sub_80964B8(struct EventObject *, struct Sprite *); +u8 sub_8097EF0(struct EventObject *, struct Sprite *); +u8 sub_80980C0(struct EventObject *, struct Sprite *); +u8 sub_80980D0(struct EventObject *, struct Sprite *); +u8 sub_8098124(struct EventObject *, struct Sprite *); +u8 sub_80980F4(struct EventObject *, struct Sprite *); +u8 sub_8098108(struct EventObject *, struct Sprite *); + +u8 (*const gUnknown_0850DEC8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DED0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DED8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DEE0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF2C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF38[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF44[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF50[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF8C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF98[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFA4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFB0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFC8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFD4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFE0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFEC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DFF8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E004[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E010[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E01C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E028[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E034[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E040[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E04C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E058[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E064[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E070[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E07C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E088[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E094[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0A0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0AC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0B8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0C4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0D0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0DC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0E8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E0F4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E100[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E10C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E118[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E124[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E130[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E13C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E148[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E154[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E160[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E16C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E178[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E184[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E190[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E19C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1A8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1B4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1C0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1CC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1D8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1E4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1F0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E1FC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E208[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E214[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E220[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E228[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E230[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E238[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E240[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E24C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E258[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E264[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E270[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E27C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E288[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E294[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2A0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2AC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2B8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2C4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2D0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2D8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2E4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2EC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2F4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E2FC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E304[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E30C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E314[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E31C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E324[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E32C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E338[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E348[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E358[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E360[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E368[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E370[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E378[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E380[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E388[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E394[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3B8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3C0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3C8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3D0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3D8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3E4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3F0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3FC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E408[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E414[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E420[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E42C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E474[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E480[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E48C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E498[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4A4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4B0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4BC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4C8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4D4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4E0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4EC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E4F8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E504[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E510[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E51C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E528[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E534[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E540[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E54C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E558[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E564[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E570[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E57C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E588[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E594[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E5A0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E5AC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E5B8[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF5C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF68[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF74[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF80[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DEFC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF08[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF14[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850DF20[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E854[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E85C[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3A0[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E3AC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E5C4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E5CC[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E5D4[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E468[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E864[])(struct EventObject *, struct Sprite *); +u8 (*const gUnknown_0850E870[])(struct EventObject *, struct Sprite *); + +u8 (*const *const gUnknown_0850DC50[])(struct EventObject *, struct Sprite *) = { gUnknown_0850DEC8, gUnknown_0850DED0, gUnknown_0850DED8, @@ -585,22 +585,22 @@ u8 (*const *const gUnknown_0850DC50[])(struct MapObject *, struct Sprite *) = { gUnknown_0850E870, }; -u8 (*const gUnknown_0850DEC8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DEC8[])(struct EventObject *, struct Sprite *) = { sub_8093950, sub_80964BC, }; -u8 (*const gUnknown_0850DED0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DED0[])(struct EventObject *, struct Sprite *) = { sub_8093960, sub_80964BC, }; -u8 (*const gUnknown_0850DED8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DED8[])(struct EventObject *, struct Sprite *) = { sub_8093970, sub_80964BC, }; -u8 (*const gUnknown_0850DEE0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DEE0[])(struct EventObject *, struct Sprite *) = { sub_8093980, sub_80964BC, }; @@ -613,97 +613,97 @@ u8 (*const gUnknown_0850DEE8[])(u8) = { get_go_fastest_image_anim_num, }; -u8 (*const gUnknown_0850DEFC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DEFC[])(struct EventObject *, struct Sprite *) = { sub_8093BC4, sub_8093BC4_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF08[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF08[])(struct EventObject *, struct Sprite *) = { sub_8093C04, sub_8093C04_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF14[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF14[])(struct EventObject *, struct Sprite *) = { sub_8093C44, sub_8093C44_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF20[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF20[])(struct EventObject *, struct Sprite *) = { sub_8093C84, sub_8093C84_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF2C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF2C[])(struct EventObject *, struct Sprite *) = { sub_8093CC4, sub_8093CC4_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF38[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF38[])(struct EventObject *, struct Sprite *) = { sub_8093D04, sub_8093D04_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF44[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF44[])(struct EventObject *, struct Sprite *) = { sub_8093D44, sub_8093D44_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF50[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF50[])(struct EventObject *, struct Sprite *) = { sub_8093D84, sub_8093D84_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF5C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF5C[])(struct EventObject *, struct Sprite *) = { sub_8093DC4, sub_8093DC4_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF68[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF68[])(struct EventObject *, struct Sprite *) = { sub_8093E04, sub_8093E04_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF74[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF74[])(struct EventObject *, struct Sprite *) = { sub_8093E44, sub_8093E44_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF80[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF80[])(struct EventObject *, struct Sprite *) = { sub_8093E84, sub_8093E84_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF8C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF8C[])(struct EventObject *, struct Sprite *) = { sub_8093EC4, sub_8093EC4_2, sub_80964BC, }; -u8 (*const gUnknown_0850DF98[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DF98[])(struct EventObject *, struct Sprite *) = { sub_8093F04, sub_8093F04_2, sub_80964BC, }; -u8 (*const gUnknown_0850DFA4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFA4[])(struct EventObject *, struct Sprite *) = { sub_8093F44, sub_8093F44_2, sub_80964BC, }; -u8 (*const gUnknown_0850DFB0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFB0[])(struct EventObject *, struct Sprite *) = { sub_8093F84, sub_8093F84_2, sub_80964BC, @@ -712,591 +712,591 @@ u8 (*const gUnknown_0850DFB0[])(struct MapObject *, struct Sprite *) = { const s16 gUnknown_0850DFBC[] = {0, 1, 1}; const s16 gUnknown_0850DFC2[] = {0, 0, 1}; -u8 (*const gUnknown_0850DFC8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFC8[])(struct EventObject *, struct Sprite *) = { sub_8094230, sub_8094230_2, sub_80964BC, }; -u8 (*const gUnknown_0850DFD4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFD4[])(struct EventObject *, struct Sprite *) = { sub_8094288, sub_8094288_2, sub_80964BC, }; -u8 (*const gUnknown_0850DFE0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFE0[])(struct EventObject *, struct Sprite *) = { sub_80942E0, sub_80942E0_2, sub_80964BC, }; -u8 (*const gUnknown_0850DFEC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFEC[])(struct EventObject *, struct Sprite *) = { sub_8094338, sub_8094338_2, sub_80964BC, }; -u8 (*const gUnknown_0850DFF8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DFF8[])(struct EventObject *, struct Sprite *) = { sub_80943B4, sub_8094398, sub_80964B8, }; -u8 (*const gUnknown_0850E004[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E004[])(struct EventObject *, struct Sprite *) = { sub_80943D4, sub_8094398, sub_80964B8, }; -u8 (*const gUnknown_0850E010[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E010[])(struct EventObject *, struct Sprite *) = { sub_80943F4, sub_8094398, sub_80964B8, }; -u8 (*const gUnknown_0850E01C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E01C[])(struct EventObject *, struct Sprite *) = { sub_8094414, sub_8094398, sub_80964B8, }; -u8 (*const gUnknown_0850E028[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E028[])(struct EventObject *, struct Sprite *) = { sub_8094434, sub_8094398, sub_80964B8, }; -u8 (*const gUnknown_0850E034[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E034[])(struct EventObject *, struct Sprite *) = { sub_8094454, sub_8094454_2, sub_80964BC, }; -u8 (*const gUnknown_0850E040[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E040[])(struct EventObject *, struct Sprite *) = { sub_8094494, sub_8094494_2, sub_80964BC, }; -u8 (*const gUnknown_0850E04C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E04C[])(struct EventObject *, struct Sprite *) = { sub_80944D4, sub_80944D4_2, sub_80964BC, }; -u8 (*const gUnknown_0850E058[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E058[])(struct EventObject *, struct Sprite *) = { sub_8094514, sub_8094514_2, sub_80964BC, }; -u8 (*const gUnknown_0850E064[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E064[])(struct EventObject *, struct Sprite *) = { sub_8094600, sub_80945C4, sub_80964BC, }; -u8 (*const gUnknown_0850E070[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E070[])(struct EventObject *, struct Sprite *) = { sub_8094638, sub_80945C4, sub_80964BC, }; -u8 (*const gUnknown_0850E07C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E07C[])(struct EventObject *, struct Sprite *) = { sub_8094670, sub_80945C4, sub_80964BC, }; -u8 (*const gUnknown_0850E088[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E088[])(struct EventObject *, struct Sprite *) = { sub_80946A8, sub_80945C4, sub_80964BC, }; -u8 (*const gUnknown_0850E094[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E094[])(struct EventObject *, struct Sprite *) = { sub_80946E0, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0A0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0A0[])(struct EventObject *, struct Sprite *) = { sub_8094718, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0AC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0AC[])(struct EventObject *, struct Sprite *) = { sub_8094750, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0B8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0B8[])(struct EventObject *, struct Sprite *) = { sub_8094788, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0C4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0C4[])(struct EventObject *, struct Sprite *) = { sub_80947C0, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0D0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0D0[])(struct EventObject *, struct Sprite *) = { sub_80947F8, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0DC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0DC[])(struct EventObject *, struct Sprite *) = { sub_8094830, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0E8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0E8[])(struct EventObject *, struct Sprite *) = { sub_8094868, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E0F4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E0F4[])(struct EventObject *, struct Sprite *) = { sub_80948A0, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E100[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E100[])(struct EventObject *, struct Sprite *) = { sub_80948D8, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E10C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E10C[])(struct EventObject *, struct Sprite *) = { sub_8094910, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E118[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E118[])(struct EventObject *, struct Sprite *) = { sub_8094948, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E124[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E124[])(struct EventObject *, struct Sprite *) = { sub_8094980, sub_8094980_2, sub_80964BC, }; -u8 (*const gUnknown_0850E130[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E130[])(struct EventObject *, struct Sprite *) = { sub_80949C0, sub_80949C0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E13C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E13C[])(struct EventObject *, struct Sprite *) = { sub_8094A00, sub_8094A00_2, sub_80964BC, }; -u8 (*const gUnknown_0850E148[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E148[])(struct EventObject *, struct Sprite *) = { sub_8094A40, sub_8094A40_2, sub_80964BC, }; -u8 (*const gUnknown_0850E154[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E154[])(struct EventObject *, struct Sprite *) = { sub_8094A80, sub_8094A80_2, sub_80964BC, }; -u8 (*const gUnknown_0850E160[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E160[])(struct EventObject *, struct Sprite *) = { sub_8094AC0, sub_8094AC0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E16C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E16C[])(struct EventObject *, struct Sprite *) = { sub_8094B00, sub_8094B00_2, sub_80964BC, }; -u8 (*const gUnknown_0850E178[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E178[])(struct EventObject *, struct Sprite *) = { sub_8094B40, sub_8094B40_2, sub_80964BC, }; -u8 (*const gUnknown_0850E184[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E184[])(struct EventObject *, struct Sprite *) = { sub_8094B80, sub_8094B80_2, sub_80964BC, }; -u8 (*const gUnknown_0850E190[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E190[])(struct EventObject *, struct Sprite *) = { sub_8094BC0, sub_8094BC0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E19C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E19C[])(struct EventObject *, struct Sprite *) = { sub_8094C00, sub_8094C00_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1A8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1A8[])(struct EventObject *, struct Sprite *) = { sub_8094C40, sub_8094C40_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1B4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1B4[])(struct EventObject *, struct Sprite *) = { sub_8094C80, sub_8094C80_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1C0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1C0[])(struct EventObject *, struct Sprite *) = { sub_8094CC0, sub_8094CC0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1CC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1CC[])(struct EventObject *, struct Sprite *) = { sub_8094D00, sub_8094D00_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1D8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1D8[])(struct EventObject *, struct Sprite *) = { sub_8094D40, sub_8094D40_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1E4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1E4[])(struct EventObject *, struct Sprite *) = { sub_8094DAC, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E1F0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1F0[])(struct EventObject *, struct Sprite *) = { sub_8094E18, sub_8094E18_2, sub_80964BC, }; -u8 (*const gUnknown_0850E1FC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E1FC[])(struct EventObject *, struct Sprite *) = { sub_8094E60, sub_8094E60_2, sub_80964BC, }; -u8 (*const gUnknown_0850E208[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E208[])(struct EventObject *, struct Sprite *) = { sub_8094EB8, sub_8094EB8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E214[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E214[])(struct EventObject *, struct Sprite *) = { sub_8094710, sub_8094710_2, sub_80964BC, }; -u8 (*const gUnknown_0850E220[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E220[])(struct EventObject *, struct Sprite *) = { sub_8094F38, sub_80964BC, }; -u8 (*const gUnknown_0850E228[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E228[])(struct EventObject *, struct Sprite *) = { sub_8094F94, sub_80964BC, }; -u8 (*const gUnknown_0850E230[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E230[])(struct EventObject *, struct Sprite *) = { sub_8094FF8, sub_80964BC, }; -u8 (*const gUnknown_0850E238[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E238[])(struct EventObject *, struct Sprite *) = { sub_8095008, sub_80964BC, }; -u8 (*const gUnknown_0850E240[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E240[])(struct EventObject *, struct Sprite *) = { sub_8095018, sub_8095018_2, sub_80964BC, }; -u8 (*const gUnknown_0850E24C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E24C[])(struct EventObject *, struct Sprite *) = { sub_8095070, sub_8095070_2, sub_80964BC, }; -u8 (*const gUnknown_0850E258[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E258[])(struct EventObject *, struct Sprite *) = { sub_80950C8, sub_80950C8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E264[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E264[])(struct EventObject *, struct Sprite *) = { sub_8095120, sub_8095120_2, sub_80964BC, }; -u8 (*const gUnknown_0850E270[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E270[])(struct EventObject *, struct Sprite *) = { sub_8095178, sub_8095178_2, sub_80964BC, }; -u8 (*const gUnknown_0850E27C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E27C[])(struct EventObject *, struct Sprite *) = { sub_80951D0, sub_80951D0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E288[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E288[])(struct EventObject *, struct Sprite *) = { sub_8095228, sub_8095228_2, sub_80964BC, }; -u8 (*const gUnknown_0850E294[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E294[])(struct EventObject *, struct Sprite *) = { sub_8095280, sub_8095280_2, sub_80964BC, }; -u8 (*const gUnknown_0850E2A0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2A0[])(struct EventObject *, struct Sprite *) = { sub_80952D8, sub_80952D8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E2AC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2AC[])(struct EventObject *, struct Sprite *) = { sub_8095330, sub_8095330_2, sub_80964BC, }; -u8 (*const gUnknown_0850E2B8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2B8[])(struct EventObject *, struct Sprite *) = { sub_8095388, sub_8095388_2, sub_80964BC, }; -u8 (*const gUnknown_0850E2C4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2C4[])(struct EventObject *, struct Sprite *) = { sub_80953E0, sub_80953E0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E2D0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2D0[])(struct EventObject *, struct Sprite *) = { sub_8095438, sub_80964BC, }; -u8 (*const gUnknown_0850E2D8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2D8[])(struct EventObject *, struct Sprite *) = { sub_8095450, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E2E4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2E4[])(struct EventObject *, struct Sprite *) = { sub_8095460, sub_80964B8, }; -u8 (*const gUnknown_0850E2EC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2EC[])(struct EventObject *, struct Sprite *) = { sub_8095470, sub_80964B8, }; -u8 (*const gUnknown_0850E2F4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2F4[])(struct EventObject *, struct Sprite *) = { sub_8095480, sub_80964B8, }; -u8 (*const gUnknown_0850E2FC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E2FC[])(struct EventObject *, struct Sprite *) = { sub_8095490, sub_80964B8, }; -u8 (*const gUnknown_0850E304[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E304[])(struct EventObject *, struct Sprite *) = { sub_80954BC, sub_80964B8, }; -u8 (*const gUnknown_0850E30C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E30C[])(struct EventObject *, struct Sprite *) = { sub_80954CC, sub_80964B8, }; -u8 (*const gUnknown_0850E314[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E314[])(struct EventObject *, struct Sprite *) = { do_exclamation_mark_bubble_1, sub_80964B8, }; -u8 (*const gUnknown_0850E31C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E31C[])(struct EventObject *, struct Sprite *) = { do_exclamation_mark_bubble_2, sub_80964B8, }; -u8 (*const gUnknown_0850E324[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E324[])(struct EventObject *, struct Sprite *) = { do_heart_bubble, sub_80964B8, }; -u8 (*const gUnknown_0850E32C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E32C[])(struct EventObject *, struct Sprite *) = { sub_8095548, sub_809558C, sub_80964B8, }; -u8 (*const gUnknown_0850E338[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E338[])(struct EventObject *, struct Sprite *) = { sub_80955AC, sub_80955C8, sub_80955EC, sub_80964B8, }; -u8 (*const gUnknown_0850E348[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E348[])(struct EventObject *, struct Sprite *) = { sub_8095628, sub_8095644, sub_8095668, sub_80964B8, }; -u8 (*const gUnknown_0850E358[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E358[])(struct EventObject *, struct Sprite *) = { sub_80956A4, sub_80964B8, }; -u8 (*const gUnknown_0850E360[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E360[])(struct EventObject *, struct Sprite *) = { sub_80956B4, sub_80964B8, }; -u8 (*const gUnknown_0850E368[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E368[])(struct EventObject *, struct Sprite *) = { sub_80956C4, sub_80964B8, }; -u8 (*const gUnknown_0850E370[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E370[])(struct EventObject *, struct Sprite *) = { sub_80956F4, sub_80964B8, }; -u8 (*const gUnknown_0850E378[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E378[])(struct EventObject *, struct Sprite *) = { sub_8095724, sub_80964B8, }; -u8 (*const gUnknown_0850E380[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E380[])(struct EventObject *, struct Sprite *) = { sub_8095730, sub_80964B8, }; -u8 (*const gUnknown_0850E388[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E388[])(struct EventObject *, struct Sprite *) = { sub_8095740, sub_8095740_2, sub_80964BC, }; -u8 (*const gUnknown_0850E394[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E394[])(struct EventObject *, struct Sprite *) = { sub_80957A0, sub_80957A0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E3A0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3A0[])(struct EventObject *, struct Sprite *) = { sub_8095800, sub_8095800_2, sub_80964BC, }; -u8 (*const gUnknown_0850E3AC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3AC[])(struct EventObject *, struct Sprite *) = { sub_8095860, sub_8095860_2, sub_80964BC, }; -u8 (*const gUnknown_0850E3B8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3B8[])(struct EventObject *, struct Sprite *) = { sub_8095900, sub_80964BC, }; -u8 (*const gUnknown_0850E3C0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3C0[])(struct EventObject *, struct Sprite *) = { sub_8095910, sub_80964BC, }; -u8 (*const gUnknown_0850E3C8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3C8[])(struct EventObject *, struct Sprite *) = { sub_8095920, sub_80964BC, }; -u8 (*const gUnknown_0850E3D0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3D0[])(struct EventObject *, struct Sprite *) = { sub_8095930, sub_80964BC, }; -u8 (*const gUnknown_0850E3D8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3D8[])(struct EventObject *, struct Sprite *) = { sub_8095940, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E3E4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3E4[])(struct EventObject *, struct Sprite *) = { sub_8095964, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E3F0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3F0[])(struct EventObject *, struct Sprite *) = { sub_8095988, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E3FC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E3FC[])(struct EventObject *, struct Sprite *) = { sub_80959AC, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E408[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E408[])(struct EventObject *, struct Sprite *) = { sub_80959D0, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E414[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E414[])(struct EventObject *, struct Sprite *) = { sub_80959F4, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E420[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E420[])(struct EventObject *, struct Sprite *) = { sub_8095A18, sub_8094DC4, sub_80964BC, }; -u8 (*const gUnknown_0850E42C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E42C[])(struct EventObject *, struct Sprite *) = { sub_8095A3C, sub_8094DC4, sub_80964BC, @@ -1314,191 +1314,191 @@ u8 (*const gUnknown_0850E42C[])(struct MapObject *, struct Sprite *) = { sub_80964BC, }; -u8 (*const gUnknown_0850E468[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E468[])(struct EventObject *, struct Sprite *) = { sub_8095B44, sub_8095B64, sub_80964BC, }; -u8 (*const gUnknown_0850E474[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E474[])(struct EventObject *, struct Sprite *) = { sub_8095BC8, sub_8095BC8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E480[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E480[])(struct EventObject *, struct Sprite *) = { sub_8095C20, sub_8095C20_2, sub_80964BC, }; -u8 (*const gUnknown_0850E48C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E48C[])(struct EventObject *, struct Sprite *) = { sub_8095C78, sub_8095C78_2, sub_80964BC, }; -u8 (*const gUnknown_0850E498[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E498[])(struct EventObject *, struct Sprite *) = { sub_8095CD0, sub_8095CD0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4A4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4A4[])(struct EventObject *, struct Sprite *) = { sub_8095D28, sub_8095D28_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4B0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4B0[])(struct EventObject *, struct Sprite *) = { sub_8095D80, sub_8095D80_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4BC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4BC[])(struct EventObject *, struct Sprite *) = { sub_8095DD8, sub_8095DD8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4C8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4C8[])(struct EventObject *, struct Sprite *) = { sub_8095E30, sub_8095E30_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4D4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4D4[])(struct EventObject *, struct Sprite *) = { sub_8095E88, sub_8095E88_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4E0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4E0[])(struct EventObject *, struct Sprite *) = { sub_8095EE0, sub_8095EE0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4EC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4EC[])(struct EventObject *, struct Sprite *) = { sub_8095F38, sub_8095F38_2, sub_80964BC, }; -u8 (*const gUnknown_0850E4F8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E4F8[])(struct EventObject *, struct Sprite *) = { sub_8095F90, sub_8095F90_2, sub_80964BC, }; -u8 (*const gUnknown_0850E504[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E504[])(struct EventObject *, struct Sprite *) = { sub_8095FE8, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E510[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E510[])(struct EventObject *, struct Sprite *) = { sub_8096020, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E51C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E51C[])(struct EventObject *, struct Sprite *) = { sub_8096058, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E528[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E528[])(struct EventObject *, struct Sprite *) = { sub_8096090, sub_809459C, sub_80964BC, }; -u8 (*const gUnknown_0850E534[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E534[])(struct EventObject *, struct Sprite *) = { sub_8096100, sub_8096100_2, sub_80964BC, }; -u8 (*const gUnknown_0850E540[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E540[])(struct EventObject *, struct Sprite *) = { sub_8096140, sub_8096140_2, sub_80964BC, }; -u8 (*const gUnknown_0850E54C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E54C[])(struct EventObject *, struct Sprite *) = { sub_8096180, sub_8096180_2, sub_80964BC, }; -u8 (*const gUnknown_0850E558[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E558[])(struct EventObject *, struct Sprite *) = { sub_80961C0, sub_80961C0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E564[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E564[])(struct EventObject *, struct Sprite *) = { sub_8096230, sub_8096230_2, sub_80964BC, }; -u8 (*const gUnknown_0850E570[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E570[])(struct EventObject *, struct Sprite *) = { sub_8096270, sub_8096270_2, sub_80964BC, }; -u8 (*const gUnknown_0850E57C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E57C[])(struct EventObject *, struct Sprite *) = { sub_80962B0, sub_80962B0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E588[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E588[])(struct EventObject *, struct Sprite *) = { sub_80962F0, sub_80962F0_2, sub_80964BC, }; -u8 (*const gUnknown_0850E594[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E594[])(struct EventObject *, struct Sprite *) = { sub_8096368, sub_8096368_2, sub_80964BC, }; -u8 (*const gUnknown_0850E5A0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E5A0[])(struct EventObject *, struct Sprite *) = { sub_80963A8, sub_80963A8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E5AC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E5AC[])(struct EventObject *, struct Sprite *) = { sub_80963E8, sub_80963E8_2, sub_80964BC, }; -u8 (*const gUnknown_0850E5B8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E5B8[])(struct EventObject *, struct Sprite *) = { sub_8096428, sub_8096428_2, sub_80964BC, }; -u8 (*const gUnknown_0850E5C4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E5C4[])(struct EventObject *, struct Sprite *) = { sub_8096468, sub_80964B8, }; -u8 (*const gUnknown_0850E5CC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E5CC[])(struct EventObject *, struct Sprite *) = { sub_809647C, sub_80964B8, }; -u8 (*const gUnknown_0850E5D4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E5D4[])(struct EventObject *, struct Sprite *) = { sub_8096494, sub_80964B8, }; diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h index 3334c4b5e..3b18c90d1 100755 --- a/src/data/field_event_obj/movement_type_func_tables.h +++ b/src/data/field_event_obj/movement_type_func_tables.h @@ -1,7 +1,7 @@ #ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H #define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H -u8 (*const gUnknown_0850D6F4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D6F4[])(struct EventObject *, struct Sprite *) = { sub_808F44C, sub_808F460, sub_808F48C, @@ -27,7 +27,7 @@ u8 (*const gUnknown_0850D714[])(s16, s16, s16, s16) = { GetNonNorthRunningPastFacingDirection, }; -u8 (*const gUnknown_0850D740[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D740[])(struct EventObject *, struct Sprite *) = { sub_808F988, sub_808F99C, sub_808F9C8, @@ -35,7 +35,7 @@ u8 (*const gUnknown_0850D740[])(struct MapObject *, struct Sprite *) = { sub_808FA3C, }; -u8 (*const gUnknown_0850D754[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D754[])(struct EventObject *, struct Sprite *) = { sub_808FAC8, sub_808FADC, sub_808FB08, @@ -47,7 +47,7 @@ u8 (*const gUnknown_0850D754[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D770[] = {DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D774[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D774[])(struct EventObject *, struct Sprite *) = { sub_808FC4C, sub_808FC60, sub_808FC8C, @@ -59,13 +59,13 @@ u8 (*const gUnknown_0850D774[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D790[] = {DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_0850D794[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D794[])(struct EventObject *, struct Sprite *) = { sub_808FDD0, sub_808FDFC, sub_808FE1C, }; -u8 (*const gUnknown_0850D7A0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D7A0[])(struct EventObject *, struct Sprite *) = { do_berry_tree_growth_sparkle_1, sub_808FF48, do_berry_tree_growth_sparkle_2, @@ -73,7 +73,7 @@ u8 (*const gUnknown_0850D7A0[])(struct MapObject *, struct Sprite *) = { sub_8090004, }; -u8 (*const gUnknown_0850D7B4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D7B4[])(struct EventObject *, struct Sprite *) = { sub_8090094, sub_80900A8, sub_80900D4, @@ -81,7 +81,7 @@ u8 (*const gUnknown_0850D7B4[])(struct MapObject *, struct Sprite *) = { sub_8090148, }; -u8 (*const gUnknown_0850D7C8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D7C8[])(struct EventObject *, struct Sprite *) = { sub_80901D4, sub_80901E8, sub_8090214, @@ -89,7 +89,7 @@ u8 (*const gUnknown_0850D7C8[])(struct MapObject *, struct Sprite *) = { sub_8090288, }; -u8 (*const gUnknown_0850D7DC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D7DC[])(struct EventObject *, struct Sprite *) = { sub_8090314, sub_8090328, sub_8090354, @@ -99,7 +99,7 @@ u8 (*const gUnknown_0850D7DC[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D7F0[] = {DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_0850D7F4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D7F4[])(struct EventObject *, struct Sprite *) = { sub_8090454, sub_8090468, sub_8090494, @@ -109,7 +109,7 @@ u8 (*const gUnknown_0850D7F4[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D808[] = {DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0850D80C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D80C[])(struct EventObject *, struct Sprite *) = { sub_8090594, sub_80905A8, sub_80905D4, @@ -119,7 +119,7 @@ u8 (*const gUnknown_0850D80C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D820[] = {DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_0850D824[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D824[])(struct EventObject *, struct Sprite *) = { sub_80906D4, sub_80906E8, sub_8090714, @@ -129,7 +129,7 @@ u8 (*const gUnknown_0850D824[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D838[] = {DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0850D83C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D83C[])(struct EventObject *, struct Sprite *) = { sub_8090814, sub_8090828, sub_8090854, @@ -139,7 +139,7 @@ u8 (*const gUnknown_0850D83C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D850[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0850D854[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D854[])(struct EventObject *, struct Sprite *) = { sub_8090954, sub_8090968, sub_8090994, @@ -149,7 +149,7 @@ u8 (*const gUnknown_0850D854[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D868[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0850D86C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D86C[])(struct EventObject *, struct Sprite *) = { sub_8090A94, sub_8090AA8, sub_8090AD4, @@ -159,7 +159,7 @@ u8 (*const gUnknown_0850D86C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D880[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_0850D884[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D884[])(struct EventObject *, struct Sprite *) = { sub_8090BD4, sub_8090BE8, sub_8090C14, @@ -169,7 +169,7 @@ u8 (*const gUnknown_0850D884[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D898[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D89C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D89C[])(struct EventObject *, struct Sprite *) = { sub_8090D14, sub_8090D40, sub_8090D64, @@ -178,7 +178,7 @@ u8 (*const gUnknown_0850D89C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D8AC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D8B4[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D8B4[])(struct EventObject *, struct Sprite *) = { sub_8090E18, sub_8090E44, sub_8090E68, @@ -187,14 +187,14 @@ u8 (*const gUnknown_0850D8B4[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D8C4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D8CC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D8CC[])(struct EventObject *, struct Sprite *) = { sub_8090F1C, sub_8090F30, sub_8090F68, sub_8091020, }; -u8 (*const gUnknown_0850D8DC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D8DC[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_809117C, sub_8091110, @@ -202,7 +202,7 @@ u8 (*const gUnknown_0850D8DC[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D8E8[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0850D8EC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D8EC[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091208, sub_8091110, @@ -210,7 +210,7 @@ u8 (*const gUnknown_0850D8EC[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D8F8[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D8FC[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D8FC[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091294, sub_8091110, @@ -218,7 +218,7 @@ u8 (*const gUnknown_0850D8FC[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D908[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; -u8 (*const gUnknown_0850D90C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D90C[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091320, sub_8091110, @@ -226,7 +226,7 @@ u8 (*const gUnknown_0850D90C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D918[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0850D91C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D91C[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_80913AC, sub_8091110, @@ -234,7 +234,7 @@ u8 (*const gUnknown_0850D91C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D928[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0850D92C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D92C[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091438, sub_8091110, @@ -242,13 +242,13 @@ u8 (*const gUnknown_0850D92C[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D938[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D93C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D93C[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_80914C4, sub_8091110, }; -u8 (*const gUnknown_0850D948[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D948[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091550, sub_8091110, @@ -256,7 +256,7 @@ u8 (*const gUnknown_0850D948[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D954[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_0850D958[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D958[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_80915DC, sub_8091110, @@ -264,7 +264,7 @@ u8 (*const gUnknown_0850D958[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D964[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0850D968[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D968[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091668, sub_8091110, @@ -272,7 +272,7 @@ u8 (*const gUnknown_0850D968[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D974[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; -u8 (*const gUnknown_0850D978[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D978[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_80916F4, sub_8091110, @@ -280,7 +280,7 @@ u8 (*const gUnknown_0850D978[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D984[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D988[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D988[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091780, sub_8091110, @@ -288,7 +288,7 @@ u8 (*const gUnknown_0850D988[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D994[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; -u8 (*const gUnknown_0850D998[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D998[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_809180C, sub_8091110, @@ -296,7 +296,7 @@ u8 (*const gUnknown_0850D998[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D9A4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_0850D9A8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D9A8[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091898, sub_8091110, @@ -304,7 +304,7 @@ u8 (*const gUnknown_0850D9A8[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D9B4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_0850D9B8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D9B8[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091924, sub_8091110, @@ -312,7 +312,7 @@ u8 (*const gUnknown_0850D9B8[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D9C4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D9C8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D9C8[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_80919B0, sub_8091110, @@ -320,7 +320,7 @@ u8 (*const gUnknown_0850D9C8[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D9D4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_0850D9D8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D9D8[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091A3C, sub_8091110, @@ -328,7 +328,7 @@ u8 (*const gUnknown_0850D9D8[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D9E4[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0850D9E8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D9E8[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091AC8, sub_8091110, @@ -336,7 +336,7 @@ u8 (*const gUnknown_0850D9E8[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850D9F4[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_0850D9F8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850D9F8[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091B54, sub_8091110, @@ -344,7 +344,7 @@ u8 (*const gUnknown_0850D9F8[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850DA04[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_0850DA08[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA08[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091BE0, sub_8091110, @@ -352,7 +352,7 @@ u8 (*const gUnknown_0850DA08[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850DA14[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0850DA18[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA18[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091C6C, sub_8091110, @@ -360,7 +360,7 @@ u8 (*const gUnknown_0850DA18[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850DA24[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_0850DA28[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA28[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091CF8, sub_8091110, @@ -368,7 +368,7 @@ u8 (*const gUnknown_0850DA28[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850DA34[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0850DA38[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA38[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091D84, sub_8091110, @@ -376,7 +376,7 @@ u8 (*const gUnknown_0850DA38[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850DA44[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0850DA48[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA48[])(struct EventObject *, struct Sprite *) = { sub_8091048, sub_8091E10, sub_8091110, @@ -384,13 +384,13 @@ u8 (*const gUnknown_0850DA48[])(struct MapObject *, struct Sprite *) = { const u8 gUnknown_0850DA54[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; -u8 (*const gUnknown_0850DA58[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA58[])(struct EventObject *, struct Sprite *) = { mss_npc_reset_oampriv3_1_unk2_unk3, sub_8091EC0, sub_8091F20, }; -bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool8(u8)) = { +bool8 (*const gUnknown_0850DA64[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = { sub_8091F48, sub_8091F4C, sub_8091F94, @@ -404,37 +404,37 @@ bool8 (*const gUnknown_0850DA64[])(struct MapObject *, struct Sprite *, u8, bool sub_8091F48, }; -u8 (*const gUnknown_0850DA90[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA90[])(struct EventObject *, struct Sprite *) = { mss_npc_reset_oampriv3_1_unk2_unk3, mss_08062EA4, sub_8091F20, }; -u8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DA9C[])(struct EventObject *, struct Sprite *) = { sub_80926AC, }; -u8 (*const gUnknown_0850DAA0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DAA0[])(struct EventObject *, struct Sprite *) = { sub_8092718, sub_80926B8, }; -u8 (*const gUnknown_0850DAA8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DAA8[])(struct EventObject *, struct Sprite *) = { sub_8092788, sub_80926B8, }; -u8 (*const gUnknown_0850DAB0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DAB0[])(struct EventObject *, struct Sprite *) = { sub_80927F8, sub_80926B8, }; -u8 (*const gUnknown_0850DAB8[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DAB8[])(struct EventObject *, struct Sprite *) = { sub_8092868, sub_80926B8, }; -u8 (*const gUnknown_0850DAC0[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850DAC0[])(struct EventObject *, struct Sprite *) = { sub_80928D8, sub_809290C, sub_809292C, diff --git a/src/decoration.c b/src/decoration.c index 2fbd247a6..83030ccb7 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -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; } } @@ -2253,11 +2253,11 @@ void SetUpPuttingAwayDecorationPlayerAvatar(void) 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; } } diff --git a/src/event_data.c b/src/event_data.c index 9f1432f17..efd439a3c 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -190,7 +190,7 @@ bool8 VarSet(u16 id, u16 value) return TRUE; } -u8 VarGetFieldObjectGraphicsId(u8 id) +u8 VarGetEventObjectGraphicsId(u8 id) { return VarGet(0x4010 + id); } diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c new file mode 100644 index 000000000..1582c00f8 --- /dev/null +++ b/src/event_obj_lock.c @@ -0,0 +1,186 @@ +#include "global.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "field_player_avatar.h" +#include "event_obj_lock.h" +#include "script_movement.h" +#include "task.h" +#include "trainer_see.h" + +bool8 walkrun_is_standing_still(void) +{ + if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) + return FALSE; + else + return TRUE; +} + +static void sub_80983A4(u8 taskId) +{ + if (walkrun_is_standing_still()) + { + sub_808B864(); + DestroyTask(taskId); + } +} + +bool8 sub_80983C4(void) +{ + if (FuncIsActiveTask(sub_80983A4)) + { + return FALSE; + } + else + { + sub_808BCF4(); + return TRUE; + } +} + + +void ScriptFreezeEventObjects(void) +{ + FreezeEventObjects(); + CreateTask(sub_80983A4, 80); +} + +static void sub_8098400(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + if (!task->data[0] && walkrun_is_standing_still() == TRUE) + { + sub_808B864(); + task->data[0] = 1; + } + if (!task->data[1] && !gEventObjects[gSelectedEventObject].singleMovementActive) + { + FreezeEventObject(&gEventObjects[gSelectedEventObject]); + task->data[1] = 1; + } + if (task->data[0] && task->data[1]) + DestroyTask(taskId); +} + +bool8 sub_809847C(void) +{ + if (FuncIsActiveTask(sub_8098400)) + { + return FALSE; + } + else + { + sub_808BCF4(); + return TRUE; + } +} + +void LockSelectedEventObject(void) +{ + u8 taskId; + FreezeEventObjectsExceptOne(gSelectedEventObject); + taskId = CreateTask(sub_8098400, 80); + if (!gEventObjects[gSelectedEventObject].singleMovementActive) + { + FreezeEventObject(&gEventObjects[gSelectedEventObject]); + gTasks[taskId].data[1] = 1; + } +} + +void sub_80984F4(void) +{ + u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); + sub_80D338C(); + UnfreezeEventObjects(); +} + +void sub_8098524(void) +{ + u8 objectId; + + if (gEventObjects[gSelectedEventObject].active) + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gSelectedEventObject]); + objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); + sub_80D338C(); + UnfreezeEventObjects(); +} + +void sub_8098574(void) +{ + EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], gSpecialVar_Facing); +} + +void sub_809859C(void) +{ + EventObjectClearAnimIfSpecialAnimActive(&gEventObjects[gSelectedEventObject]); +} + +static void sub_80985BC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u8 eventObjectId = task->data[2]; + + if (!task->data[0] && walkrun_is_standing_still() == TRUE) + { + sub_808B864(); + task->data[0] = 1; + } + if (!task->data[1] && !gEventObjects[eventObjectId].singleMovementActive) + { + FreezeEventObject(&gEventObjects[eventObjectId]); + task->data[1] = 1; + } + if (task->data[0] && task->data[1]) + DestroyTask(taskId); +} + +void sub_8098630(void) +{ + u8 trainerObjectId1, trainerObjectId2, taskId; + trainerObjectId1 = GetChosenApproachingTrainerEventObjectId(0); + if(gNoOfApproachingTrainers == 2) + { + trainerObjectId2 = GetChosenApproachingTrainerEventObjectId(1); + sub_8098074(trainerObjectId1, trainerObjectId2); + taskId = CreateTask(sub_80985BC, 80); + gTasks[taskId].data[2] = trainerObjectId1; + if(!gEventObjects[trainerObjectId1].singleMovementActive) + { + FreezeEventObject(&gEventObjects[trainerObjectId1]); + gTasks[taskId].data[1] = 1; + } + taskId = CreateTask(sub_80985BC, 81); + gTasks[taskId].data[2] = trainerObjectId2; + if(!gEventObjects[trainerObjectId2].singleMovementActive) + { + FreezeEventObject(&gEventObjects[trainerObjectId2]); + gTasks[taskId].data[1] = 1; + } + } + else + { + FreezeEventObjectsExceptOne(trainerObjectId1); + taskId = CreateTask(sub_80985BC, 80); + gTasks[taskId].data[2] = trainerObjectId1; + if(!gEventObjects[trainerObjectId1].singleMovementActive) + { + FreezeEventObject(&gEventObjects[trainerObjectId1]); + gTasks[taskId].data[1] = 1; + } + } +} + +bool8 sub_8098734(void) +{ + if (FuncIsActiveTask(sub_80985BC)) + { + return FALSE; + } + else + { + sub_808BCF4(); + return TRUE; + } +} diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 84900e48e..d23bba92b 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -21,7 +21,7 @@ #include "sprite.h" #include "trainer_see.h" #include "util.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" // this file was known as evobjmv.c in Game Freak's original source @@ -29,35 +29,33 @@ extern u8 gUnknown_020375B4; extern u16 gUnknown_020375B6; extern u8 *gUnknown_020375B8; -// Static ROM declarations - static void sub_808D450(void); -static u8 GetFieldObjectIdByLocalId(u8); -static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8); -static bool8 GetAvailableFieldObjectSlot(u16, u8, u8, u8 *); -static void FieldObjectHandleDynamicGraphicsId(struct MapObject *); -static void RemoveFieldObjectInternal (struct MapObject *); -static u16 GetFieldObjectFlagIdByFieldObjectId(u8); -static void sub_8096518(struct MapObject *, struct Sprite *); -static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); -static void GetFieldObjectMovingCameraOffset(s16 *, s16 *); -static struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8); +static u8 GetEventObjectIdByLocalId(u8); +static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8); +static bool8 GetAvailableEventObjectSlot(u16, u8, u8, u8 *); +static void EventObjectHandleDynamicGraphicsId(struct EventObject *); +static void RemoveEventObjectInternal (struct EventObject *); +static u16 GetEventObjectFlagIdByEventObjectId(u8); +static void sub_8096518(struct EventObject *, struct Sprite *); +static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); +static void GetEventObjectMovingCameraOffset(s16 *, s16 *); +static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8); static void sub_808E894(u16); -static void RemoveFieldObjectIfOutsideView(struct MapObject *); +static void RemoveEventObjectIfOutsideView(struct EventObject *); static void sub_808E1B8(u8, s16, s16); -static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8); -static void sub_808E38C(struct MapObject *); +static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); +static void sub_808E38C(struct EventObject *); static u8 sub_808E8F4(const struct SpritePalette *); -static u8 FindFieldObjectPaletteIndexByTag(u16); +static u8 FindEventObjectPaletteIndexByTag(u16); static void sub_808EAB0(u16, u8); -static bool8 FieldObjectDoesZCoordMatch(struct MapObject *, u8); +static bool8 EventObjectDoesZCoordMatch(struct EventObject *, u8); static void ObjectCB_CameraObject(struct Sprite *); static void CameraObject_0(struct Sprite *); static void CameraObject_1(struct Sprite *); static void CameraObject_2(struct Sprite *); -static struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count); -static void npc_reset(struct MapObject *, struct Sprite *); -static void FieldObjectSetRegularAnim(struct MapObject *, struct Sprite *, u8); +static struct EventObjectTemplate *FindEventObjectTemplateInArrayByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count); +static void npc_reset(struct EventObject *, struct Sprite *); +static void EventObjectSetRegularAnim(struct EventObject *, struct Sprite *, u8); u8 sub_8093438(u32); u8 sub_80934BC(u32); @@ -65,48 +63,48 @@ u8 sub_8093514(u32); u8 GetJumpLedgeAnimId(u32); void sub_8092F88(u32, s16 *, s16 *, s16, s16); -bool8 FieldObjectExecRegularAnim(struct MapObject *, struct Sprite *); -static void SetFieldObjectStepTimer(struct Sprite *, s16); -bool8 RunFieldObjectStepTimer(struct Sprite *); -bool8 npc_block_way__next_tile(struct MapObject *, u8); +bool8 EventObjectExecRegularAnim(struct EventObject *, struct Sprite *); +static void SetEventObjectStepTimer(struct Sprite *, s16); +bool8 RunEventObjectStepTimer(struct Sprite *); +bool8 npc_block_way__next_tile(struct EventObject *, u8); static u32 state_to_direction(u8, u32, u32); -/*static*/ void sub_80964E8(struct MapObject *, struct Sprite *); -static void FieldObjectExecSpecialAnim(struct MapObject *, struct Sprite *); -/*static*/ void npc_obj_transfer_image_anim_pause_flag(struct MapObject *, struct Sprite *); - -static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *, s16, s16); -static bool8 IsMetatileDirectionallyImpassable(struct MapObject *, s16, s16, u8); -static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *, s16, s16); -bool8 sub_809558C(struct MapObject *, struct Sprite *); -bool8 sub_8095B64(struct MapObject *, struct Sprite *); -static void sub_8096530(struct MapObject *, struct Sprite *); -static void npc_update_obj_anim_flag(struct MapObject *, struct Sprite *); -static void FieldObjectUpdateMetatileBehaviors(struct MapObject*); -static void GetGroundEffectFlags_Reflection(struct MapObject*, u32*); -static void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject*, u32*); -static void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject*, u32*); -static void GetGroundEffectFlags_SandHeap(struct MapObject*, u32*); -static void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject*, u32*); -static void GetGroundEffectFlags_ShortGrass(struct MapObject*, u32*); -static void GetGroundEffectFlags_HotSprings(struct MapObject*, u32*); -static void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject*, u32*); -static void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject*, u32*); -static void GetGroundEffectFlags_Tracks(struct MapObject*, u32*); -static void GetGroundEffectFlags_Puddle(struct MapObject*, u32*); -static void GetGroundEffectFlags_Ripple(struct MapObject*, u32*); -static void GetGroundEffectFlags_Seaweed(struct MapObject*, u32*); -static void GetGroundEffectFlags_JumpLanding(struct MapObject*, u32*); -static u8 FieldObjectCheckForReflectiveSurface(struct MapObject*); +/*static*/ void sub_80964E8(struct EventObject *, struct Sprite *); +static void EventObjectExecSpecialAnim(struct EventObject *, struct Sprite *); +/*static*/ void npc_obj_transfer_image_anim_pause_flag(struct EventObject *, struct Sprite *); + +static bool8 IsCoordOutsideEventObjectMovementRect(struct EventObject *, s16, s16); +static bool8 IsMetatileDirectionallyImpassable(struct EventObject *, s16, s16, u8); +static bool8 CheckForCollisionBetweenEventObjects(struct EventObject *, s16, s16); +bool8 sub_809558C(struct EventObject *, struct Sprite *); +bool8 sub_8095B64(struct EventObject *, struct Sprite *); +static void sub_8096530(struct EventObject *, struct Sprite *); +static void npc_update_obj_anim_flag(struct EventObject *, struct Sprite *); +static void EventObjectUpdateMetatileBehaviors(struct EventObject*); +static void GetGroundEffectFlags_Reflection(struct EventObject*, u32*); +static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject*, u32*); +static void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject*, u32*); +static void GetGroundEffectFlags_SandHeap(struct EventObject*, u32*); +static void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject*, u32*); +static void GetGroundEffectFlags_ShortGrass(struct EventObject*, u32*); +static void GetGroundEffectFlags_HotSprings(struct EventObject*, u32*); +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject*, u32*); +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject*, u32*); +static void GetGroundEffectFlags_Tracks(struct EventObject*, u32*); +static void GetGroundEffectFlags_Puddle(struct EventObject*, u32*); +static void GetGroundEffectFlags_Ripple(struct EventObject*, u32*); +static void GetGroundEffectFlags_Seaweed(struct EventObject*, u32*); +static void GetGroundEffectFlags_JumpLanding(struct EventObject*, u32*); +static u8 EventObjectCheckForReflectiveSurface(struct EventObject*); static u8 GetReflectionTypeByMetatileBehavior(u32); static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); -static void FieldObjectUpdateSubpriority(struct MapObject*, struct Sprite*); -static void DoTracksGroundEffect_None(struct MapObject*, struct Sprite*, u8); -static void DoTracksGroundEffect_Footprints(struct MapObject*, struct Sprite*, u8); -static void DoTracksGroundEffect_BikeTireTracks(struct MapObject*, struct Sprite*, u8); -static void DoRippleFieldEffect(struct MapObject*, struct Sprite*); -static void DoGroundEffects_OnSpawn(struct MapObject*, struct Sprite*); -static void DoGroundEffects_OnBeginStep(struct MapObject*, struct Sprite*); -static void DoGroundEffects_OnFinishStep(struct MapObject*, struct Sprite*); +static void EventObjectUpdateSubpriority(struct EventObject*, struct Sprite*); +static void DoTracksGroundEffect_None(struct EventObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_Footprints(struct EventObject*, struct Sprite*, u8); +static void DoTracksGroundEffect_BikeTireTracks(struct EventObject*, struct Sprite*, u8); +static void DoRippleFieldEffect(struct EventObject*, struct Sprite*); +static void DoGroundEffects_OnSpawn(struct EventObject*, struct Sprite*); +static void DoGroundEffects_OnBeginStep(struct EventObject*, struct Sprite*); +static void DoGroundEffects_OnFinishStep(struct EventObject*, struct Sprite*); static void sub_8097D68(struct Sprite*); static void sub_8097FE4(u8); @@ -125,87 +123,87 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = { // movement type callbacks void (*const gUnknown_08505438[])(struct Sprite *) = { - FieldObjectCB_NoMovement1, - FieldObjectCB_LookRandomDirections, - FieldObjectCB_GoRandomDirections, - FieldObjectCB_RandomlyGoNorthOrSouth, - FieldObjectCB_RandomlyGoNorthOrSouth, - FieldObjectCB_RandomlyGoEastOrWest, - FieldObjectCB_RandomlyGoEastOrWest, - FieldObjectCB_FaceFixedDirection, - FieldObjectCB_FaceFixedDirection, - FieldObjectCB_FaceFixedDirection, - FieldObjectCB_FaceFixedDirection, - FieldObjectCB_NoMovement2, - FieldObjectCB_BerryTree, - FieldObjectCB_RandomlyLookNorthOrSouth, - FieldObjectCB_RandomlyLookEastOrWest, - FieldObjectCB_RandomlyLookNorthOrWest, - FieldObjectCB_RandomlyLookNorthOrEast, - FieldObjectCB_RandomlyLookSouthOrWest, - FieldObjectCB_RandomlyLookSouthOrEast, - FieldObjectCB_RandomlyLookNorthOrSouthOrWest, - FieldObjectCB_RandomlyLookNorthOrSouthOrEast, - FieldObjectCB_RandomlyLookNorthOrEastOrWest, - FieldObjectCB_RandomlyLookSouthOrEastOrWest, - FieldObjectCB_LookAroundCounterclockwise, - FieldObjectCB_LookAroundClockwise, - FieldObjectCB_AlternatelyGoInOppositeDirections, - FieldObjectCB_AlternatelyGoInOppositeDirections, - FieldObjectCB_AlternatelyGoInOppositeDirections, - FieldObjectCB_AlternatelyGoInOppositeDirections, - FieldObjectCB_GoInDirectionSequence1, - FieldObjectCB_GoInDirectionSequence2, - FieldObjectCB_GoInDirectionSequence3, - FieldObjectCB_GoInDirectionSequence4, - FieldObjectCB_GoInDirectionSequence5, - FieldObjectCB_GoInDirectionSequence6, - FieldObjectCB_GoInDirectionSequence7, - FieldObjectCB_GoInDirectionSequence8, - FieldObjectCB_GoInDirectionSequence9, - FieldObjectCB_GoInDirectionSequence10, - FieldObjectCB_GoInDirectionSequence11, - FieldObjectCB_GoInDirectionSequence12, - FieldObjectCB_GoInDirectionSequence13, - FieldObjectCB_GoInDirectionSequence14, - FieldObjectCB_GoInDirectionSequence15, - FieldObjectCB_GoInDirectionSequence16, - FieldObjectCB_GoInDirectionSequence17, - FieldObjectCB_GoInDirectionSequence18, - FieldObjectCB_GoInDirectionSequence19, - FieldObjectCB_GoInDirectionSequence20, - FieldObjectCB_GoInDirectionSequence21, - FieldObjectCB_GoInDirectionSequence22, - FieldObjectCB_GoInDirectionSequence23, - FieldObjectCB_GoInDirectionSequence24, - FieldObjectCB_CopyPlayer1, - FieldObjectCB_CopyPlayer1, - FieldObjectCB_CopyPlayer1, - FieldObjectCB_CopyPlayer1, - FieldObjectCB_TreeDisguise, - FieldObjectCB_MountainDisguise, - FieldObjectCB_CopyPlayer2, - FieldObjectCB_CopyPlayer2, - FieldObjectCB_CopyPlayer2, - FieldObjectCB_CopyPlayer2, - FieldObjectCB_Hidden1, - FieldObjectCB_WalkInPlace1, - FieldObjectCB_WalkInPlace1, - FieldObjectCB_WalkInPlace1, - FieldObjectCB_WalkInPlace1, - FieldObjectCB_WalkInPlace2, - FieldObjectCB_WalkInPlace2, - FieldObjectCB_WalkInPlace2, - FieldObjectCB_WalkInPlace2, - FieldObjectCB_WalkInPlace3, - FieldObjectCB_WalkInPlace3, - FieldObjectCB_WalkInPlace3, - FieldObjectCB_WalkInPlace3, - FieldObjectCB_Hidden2, - FieldObjectCB_WalkInPlace4, - FieldObjectCB_WalkInPlace4, - FieldObjectCB_WalkInPlace4, - FieldObjectCB_WalkInPlace4, + EventObjectCB_NoMovement1, + EventObjectCB_LookRandomDirections, + EventObjectCB_GoRandomDirections, + EventObjectCB_RandomlyGoNorthOrSouth, + EventObjectCB_RandomlyGoNorthOrSouth, + EventObjectCB_RandomlyGoEastOrWest, + EventObjectCB_RandomlyGoEastOrWest, + EventObjectCB_FaceFixedDirection, + EventObjectCB_FaceFixedDirection, + EventObjectCB_FaceFixedDirection, + EventObjectCB_FaceFixedDirection, + EventObjectCB_NoMovement2, + EventObjectCB_BerryTree, + EventObjectCB_RandomlyLookNorthOrSouth, + EventObjectCB_RandomlyLookEastOrWest, + EventObjectCB_RandomlyLookNorthOrWest, + EventObjectCB_RandomlyLookNorthOrEast, + EventObjectCB_RandomlyLookSouthOrWest, + EventObjectCB_RandomlyLookSouthOrEast, + EventObjectCB_RandomlyLookNorthOrSouthOrWest, + EventObjectCB_RandomlyLookNorthOrSouthOrEast, + EventObjectCB_RandomlyLookNorthOrEastOrWest, + EventObjectCB_RandomlyLookSouthOrEastOrWest, + EventObjectCB_LookAroundCounterclockwise, + EventObjectCB_LookAroundClockwise, + EventObjectCB_AlternatelyGoInOppositeDirections, + EventObjectCB_AlternatelyGoInOppositeDirections, + EventObjectCB_AlternatelyGoInOppositeDirections, + EventObjectCB_AlternatelyGoInOppositeDirections, + EventObjectCB_GoInDirectionSequence1, + EventObjectCB_GoInDirectionSequence2, + EventObjectCB_GoInDirectionSequence3, + EventObjectCB_GoInDirectionSequence4, + EventObjectCB_GoInDirectionSequence5, + EventObjectCB_GoInDirectionSequence6, + EventObjectCB_GoInDirectionSequence7, + EventObjectCB_GoInDirectionSequence8, + EventObjectCB_GoInDirectionSequence9, + EventObjectCB_GoInDirectionSequence10, + EventObjectCB_GoInDirectionSequence11, + EventObjectCB_GoInDirectionSequence12, + EventObjectCB_GoInDirectionSequence13, + EventObjectCB_GoInDirectionSequence14, + EventObjectCB_GoInDirectionSequence15, + EventObjectCB_GoInDirectionSequence16, + EventObjectCB_GoInDirectionSequence17, + EventObjectCB_GoInDirectionSequence18, + EventObjectCB_GoInDirectionSequence19, + EventObjectCB_GoInDirectionSequence20, + EventObjectCB_GoInDirectionSequence21, + EventObjectCB_GoInDirectionSequence22, + EventObjectCB_GoInDirectionSequence23, + EventObjectCB_GoInDirectionSequence24, + EventObjectCB_CopyPlayer1, + EventObjectCB_CopyPlayer1, + EventObjectCB_CopyPlayer1, + EventObjectCB_CopyPlayer1, + EventObjectCB_TreeDisguise, + EventObjectCB_MountainDisguise, + EventObjectCB_CopyPlayer2, + EventObjectCB_CopyPlayer2, + EventObjectCB_CopyPlayer2, + EventObjectCB_CopyPlayer2, + EventObjectCB_Hidden1, + EventObjectCB_WalkInPlace1, + EventObjectCB_WalkInPlace1, + EventObjectCB_WalkInPlace1, + EventObjectCB_WalkInPlace1, + EventObjectCB_WalkInPlace2, + EventObjectCB_WalkInPlace2, + EventObjectCB_WalkInPlace2, + EventObjectCB_WalkInPlace2, + EventObjectCB_WalkInPlace3, + EventObjectCB_WalkInPlace3, + EventObjectCB_WalkInPlace3, + EventObjectCB_WalkInPlace3, + EventObjectCB_Hidden2, + EventObjectCB_WalkInPlace4, + EventObjectCB_WalkInPlace4, + EventObjectCB_WalkInPlace4, + EventObjectCB_WalkInPlace4, }; const u8 gRangedMovementTypes[] = { @@ -385,41 +383,41 @@ const u8 gInitialMovementTypeFacingDirections[] = { #include "data/field_event_obj/event_object_graphics_info.h" const struct SpritePalette gUnknown_0850BBC8[] = { - {gFieldObjectPalette0, 0x1103}, - {gFieldObjectPalette1, 0x1104}, - {gFieldObjectPalette2, 0x1105}, - {gFieldObjectPalette3, 0x1106}, - {gFieldObjectPalette4, 0x1107}, - {gFieldObjectPalette5, 0x1108}, - {gFieldObjectPalette6, 0x1109}, - {gFieldObjectPalette7, 0x110A}, - {gFieldObjectPalette8, 0x1100}, - {gFieldObjectPalette9, 0x1101}, - {gFieldObjectPalette10, 0x1102}, - {gFieldObjectPalette11, 0x1115}, - {gFieldObjectPalette12, 0x110B}, - {gFieldObjectPalette13, 0x110C}, - {gFieldObjectPalette14, 0x110D}, - {gFieldObjectPalette15, 0x110E}, - {gFieldObjectPalette16, 0x110F}, - {gFieldObjectPalette17, 0x1110}, - {gFieldObjectPalette18, 0x1111}, - {gFieldObjectPalette19, 0x1112}, - {gFieldObjectPalette20, 0x1113}, - {gFieldObjectPalette21, 0x1114}, - {gFieldObjectPalette22, 0x1116}, - {gFieldObjectPalette23, 0x1117}, - {gFieldObjectPalette24, 0x1118}, - {gFieldObjectPalette25, 0x1119}, - {gFieldObjectPalette26, 0x111B}, - {gFieldObjectPalette27, 0x111C}, - {gFieldObjectPalette28, 0x111D}, - {gFieldObjectPalette29, 0x111E}, - {gFieldObjectPalette30, 0x111F}, - {gFieldObjectPalette31, 0x1120}, - {gFieldObjectPalette32, 0x1121}, - {gFieldObjectPalette33, 0x1122}, - {gFieldObjectPalette34, 0x1123}, + {gEventObjectPalette0, 0x1103}, + {gEventObjectPalette1, 0x1104}, + {gEventObjectPalette2, 0x1105}, + {gEventObjectPalette3, 0x1106}, + {gEventObjectPalette4, 0x1107}, + {gEventObjectPalette5, 0x1108}, + {gEventObjectPalette6, 0x1109}, + {gEventObjectPalette7, 0x110A}, + {gEventObjectPalette8, 0x1100}, + {gEventObjectPalette9, 0x1101}, + {gEventObjectPalette10, 0x1102}, + {gEventObjectPalette11, 0x1115}, + {gEventObjectPalette12, 0x110B}, + {gEventObjectPalette13, 0x110C}, + {gEventObjectPalette14, 0x110D}, + {gEventObjectPalette15, 0x110E}, + {gEventObjectPalette16, 0x110F}, + {gEventObjectPalette17, 0x1110}, + {gEventObjectPalette18, 0x1111}, + {gEventObjectPalette19, 0x1112}, + {gEventObjectPalette20, 0x1113}, + {gEventObjectPalette21, 0x1114}, + {gEventObjectPalette22, 0x1116}, + {gEventObjectPalette23, 0x1117}, + {gEventObjectPalette24, 0x1118}, + {gEventObjectPalette25, 0x1119}, + {gEventObjectPalette26, 0x111B}, + {gEventObjectPalette27, 0x111C}, + {gEventObjectPalette28, 0x111D}, + {gEventObjectPalette29, 0x111E}, + {gEventObjectPalette30, 0x111F}, + {gEventObjectPalette31, 0x1120}, + {gEventObjectPalette32, 0x1121}, + {gEventObjectPalette33, 0x1122}, + {gEventObjectPalette34, 0x1123}, {NULL, 0x0000}, }; @@ -1077,28 +1075,28 @@ const u8 gUnknown_0850DC3F[][4] = { // Code -static void npc_clear_ids_and_state(struct MapObject *mapObject) +static void npc_clear_ids_and_state(struct EventObject *eventObject) { - *mapObject = (struct MapObject){}; - mapObject->localId = 0xFF; - mapObject->mapNum = -1; - mapObject->mapGroup = -1; - mapObject->movementActionId = -1; + *eventObject = (struct EventObject){}; + eventObject->localId = 0xFF; + eventObject->mapNum = -1; + eventObject->mapGroup = -1; + eventObject->movementActionId = -1; } static void npcs_clear_ids_and_state(void) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - npc_clear_ids_and_state(&gMapObjects[i]); + npc_clear_ids_and_state(&gEventObjects[i]); } } void sub_808D438(void) { - ZeroAllLinkPlayerMapObjects(); + ZeroAllLinkPlayerEventObjects(); npcs_clear_ids_and_state(); ClearPlayerAvatarInfo(); sub_808D450(); @@ -1125,9 +1123,9 @@ u8 sub_808D4F4(void) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (!gMapObjects[i].active) + if (!gEventObjects[i].active) { break; } @@ -1135,32 +1133,32 @@ u8 sub_808D4F4(void) return i; } -u8 GetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId) +u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId) { if (localId < 0xff) { - return GetFieldObjectIdByLocalIdAndMapInternal(localId, mapId, mapGroupId); + return GetEventObjectIdByLocalIdAndMapInternal(localId, mapId, mapGroupId); } - return GetFieldObjectIdByLocalId(localId); + return GetEventObjectIdByLocalId(localId); } -bool8 TryGetFieldObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *fieldObjectId) +bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *eventObjectId) { - *fieldObjectId = GetFieldObjectIdByLocalIdAndMap(localId, mapId, mapGroupId); - if (*fieldObjectId == NUM_FIELD_OBJECTS) + *eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapId, mapGroupId); + if (*eventObjectId == NUM_EVENT_OBJECTS) { return TRUE; } return FALSE; } -u8 GetFieldObjectIdByXY(s16 x, s16 y) +u8 GetEventObjectIdByXY(s16 x, s16 y) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (gMapObjects[i].active && gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) + if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) { break; } @@ -1168,92 +1166,92 @@ u8 GetFieldObjectIdByXY(s16 x, s16 y) return i; } -static u8 GetFieldObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapId, u8 mapGroupId) +static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapId, u8 mapGroupId) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapId && gMapObjects[i].mapGroup == mapGroupId) + if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapId && gEventObjects[i].mapGroup == mapGroupId) { return i; } } - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } -static u8 GetFieldObjectIdByLocalId(u8 localId) +static u8 GetEventObjectIdByLocalId(u8 localId) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (gMapObjects[i].active && gMapObjects[i].localId == localId) + if (gEventObjects[i].active && gEventObjects[i].localId == localId) { return i; } } - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } // This function has the same nonmatching quirk as in Ruby/Sapphire. #ifdef NONMATCHING -static u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapNum, u8 mapGroup) +static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) { - struct MapObject *mapObject; + struct EventObject *eventObject; s16 x; s16 y; u8 slot; // mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7) - if (GetAvailableFieldObjectSlot(template->localId, mapNum, mapGroup, &slot)) + if (GetAvailableEventObjectSlot(template->localId, mapNum, mapGroup, &slot)) { - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } - mapObject = &gMapObjects[slot]; - npc_clear_ids_and_state(mapObject); + eventObject = &gEventObjects[slot]; + npc_clear_ids_and_state(eventObject); x = template->x + 7; y = template->y + 7; - mapObject->active = TRUE; - mapObject->triggerGroundEffectsOnMove = TRUE; - mapObject->graphicsId = template->graphicsId; - mapObject->movementType = template->movementType; - mapObject->localId = template->localId; - mapObject->mapNum = mapNum; - mapObject->mapGroup = mapGroup; - mapObject->initialCoords.x = x; - mapObject->initialCoords.y = y; - mapObject->currentCoords.x = x; - mapObject->currentCoords.y = y; - mapObject->previousCoords.x = x; - mapObject->previousCoords.y = y; - mapObject->currentElevation = template->elevation; - mapObject->previousElevation = template->elevation; + eventObject->active = TRUE; + eventObject->triggerGroundEffectsOnMove = TRUE; + eventObject->graphicsId = template->graphicsId; + eventObject->movementType = template->movementType; + eventObject->localId = template->localId; + eventObject->mapNum = mapNum; + eventObject->mapGroup = mapGroup; + eventObject->initialCoords.x = x; + eventObject->initialCoords.y = y; + eventObject->currentCoords.x = x; + eventObject->currentCoords.y = y; + eventObject->previousCoords.x = x; + eventObject->previousCoords.y = y; + eventObject->currentElevation = template->elevation; + eventObject->previousElevation = template->elevation; // For some reason, 0x0F is placed in r9, to be used later - mapObject->range.as_nybbles.x = template->movementRangeX; - mapObject->range.as_nybbles.y = template->movementRangeY; - mapObject->trainerType = template->trainerType; - mapObject->trainerRange_berryTreeId = template->trainerRange_berryTreeId; - mapObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; - FieldObjectSetDirection(mapObject, mapObject->previousMovementDirection); - FieldObjectHandleDynamicGraphicsId(mapObject); + eventObject->range.as_nybbles.x = template->movementRangeX; + eventObject->range.as_nybbles.y = template->movementRangeY; + eventObject->trainerType = template->trainerType; + eventObject->trainerRange_berryTreeId = template->trainerRange_berryTreeId; + eventObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; + EventObjectSetDirection(eventObject, eventObject->previousMovementDirection); + EventObjectHandleDynamicGraphicsId(eventObject); - if (gRangedMovementTypes[mapObject->movementType]) + if (gRangedMovementTypes[eventObject->movementType]) { - if ((mapObject->range.as_nybbles.x) == 0) + if ((eventObject->range.as_nybbles.x) == 0) { // r9 is invoked here - mapObject->range.as_nybbles.x ++; + eventObject->range.as_nybbles.x ++; } - if ((mapObject->range.as_nybbles.y) == 0) + if ((eventObject->range.as_nybbles.y) == 0) { - mapObject->range.as_nybbles.y ++; + eventObject->range.as_nybbles.y ++; } } return slot; } #else -static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 mapId, u8 mapGroupId) +static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapId, u8 mapGroupId) { asm_unified("\tpush {r4-r7,lr}\n" "\tmov r7, r9\n" @@ -1269,7 +1267,7 @@ static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *templ "\tadds r1, r6, 0\n" "\tadds r2, r7, 0\n" "\tmov r3, sp\n" - "\tbl GetAvailableFieldObjectSlot\n" + "\tbl GetAvailableEventObjectSlot\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbeq _0808D66E\n" @@ -1281,7 +1279,7 @@ static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *templ "\tlsls r0, r1, 3\n" "\tadds r0, r1\n" "\tlsls r0, 2\n" - "\tldr r1, =gMapObjects\n" + "\tldr r1, =gEventObjects\n" "\tadds r4, r0, r1\n" "\tadds r0, r4, 0\n" "\tbl npc_clear_ids_and_state\n" @@ -1358,9 +1356,9 @@ static NAKED u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *templ "\tstrb r1, [r0]\n" "\tldrb r1, [r0]\n" "\tadds r0, r4, 0\n" - "\tbl FieldObjectSetDirection\n" + "\tbl EventObjectSetDirection\n" "\tadds r0, r4, 0\n" - "\tbl FieldObjectHandleDynamicGraphicsId\n" + "\tbl EventObjectHandleDynamicGraphicsId\n" "\tldr r1, =gRangedMovementTypes\n" "\tldrb r0, [r4, 0x6]\n" "\tadds r0, r1\n" @@ -1413,7 +1411,7 @@ u8 unref_sub_808D77C(u8 localId) { u8 i; u8 nObjects; - struct MapObjectTemplate *template; + struct EventObjectTemplate *template; if (gMapHeader.events != NULL) { @@ -1427,21 +1425,21 @@ u8 unref_sub_808D77C(u8 localId) } else { - nObjects = gMapHeader.events->mapObjectCount; + nObjects = gMapHeader.events->eventObjectCount; } for (i = 0; i < nObjects; i ++) { - template = &gSaveBlock1Ptr->mapObjectTemplates[i]; + template = &gSaveBlock1Ptr->eventObjectTemplates[i]; if (template->localId == localId && !FlagGet(template->flagId)) { - return InitFieldObjectStateFromTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + return InitEventObjectStateFromTemplate(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); } } } - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } -static bool8 GetAvailableFieldObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 *result) +static bool8 GetAvailableEventObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 *result) // Looks for an empty slot. // Returns FALSE and the location of the available slot // in *result. @@ -1450,78 +1448,78 @@ static bool8 GetAvailableFieldObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 { u8 i = 0; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (!gMapObjects[i].active) + if (!gEventObjects[i].active) break; - if (gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + if (gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return TRUE; } - if (i >= NUM_FIELD_OBJECTS) + if (i >= NUM_EVENT_OBJECTS) return TRUE; *result = i; do { - if (gMapObjects[i].active && gMapObjects[i].localId == localId && gMapObjects[i].mapNum == mapNum && gMapObjects[i].mapGroup == mapGroup) + if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return TRUE; i ++; - } while (i < NUM_FIELD_OBJECTS); + } while (i < NUM_EVENT_OBJECTS); return FALSE; } -static void RemoveFieldObject(struct MapObject *mapObject) +static void RemoveEventObject(struct EventObject *eventObject) { - mapObject->active = FALSE; - RemoveFieldObjectInternal(mapObject); + eventObject->active = FALSE; + RemoveEventObjectInternal(eventObject); } -void RemoveFieldObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +void RemoveEventObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { u8 index; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &index)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &index)) { - FlagSet(GetFieldObjectFlagIdByFieldObjectId(index)); - RemoveFieldObject(&gMapObjects[index]); + FlagSet(GetEventObjectFlagIdByEventObjectId(index)); + RemoveEventObject(&gEventObjects[index]); } } -static void RemoveFieldObjectInternal(struct MapObject *mapObject) +static void RemoveEventObjectInternal(struct EventObject *eventObject) { struct SpriteFrameImage image; - image.size = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->size; - gSprites[mapObject->spriteId].images = ℑ - DestroySprite(&gSprites[mapObject->spriteId]); + image.size = GetEventObjectGraphicsInfo(eventObject->graphicsId)->size; + gSprites[eventObject->spriteId].images = ℑ + DestroySprite(&gSprites[eventObject->spriteId]); } void unref_sub_808D958(void) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (i != gPlayerAvatar.mapObjectId) + if (i != gPlayerAvatar.eventObjectId) { - RemoveFieldObject(&gMapObjects[i]); + RemoveEventObject(&gEventObjects[i]); } } } -static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 SpawnEventObjectInternal(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { - struct MapObject *mapObject; - const struct MapObjectGraphicsInfo *graphicsInfo; + struct EventObject *eventObject; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *sprite; - u8 mapObjectId; + u8 eventObjectId; u8 paletteSlot; u8 spriteId; - mapObjectId = InitFieldObjectStateFromTemplate(mapObjectTemplate, mapNum, mapGroup); - if (mapObjectId == NUM_FIELD_OBJECTS) + eventObjectId = InitEventObjectStateFromTemplate(eventObjectTemplate, mapNum, mapGroup); + if (eventObjectId == NUM_EVENT_OBJECTS) { - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } - mapObject = &gMapObjects[mapObjectId]; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + eventObject = &gEventObjects[eventObjectId]; + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { @@ -1536,110 +1534,110 @@ static u8 SpawnFieldObjectInternal(struct MapObjectTemplate *mapObjectTemplate, paletteSlot -= 16; sub_808EAB0(graphicsInfo->paletteTag1, paletteSlot); } - if (mapObject->movementType == 0x4c) + if (eventObject->movementType == 0x4c) { - mapObject->invisible = TRUE; + eventObject->invisible = TRUE; } *(u16 *)&spriteTemplate->paletteTag = 0xFFFF; spriteId = CreateSprite(spriteTemplate, 0, 0, 0); if (spriteId == MAX_SPRITES) { - gMapObjects[mapObjectId].active = FALSE; - return NUM_FIELD_OBJECTS; + gEventObjects[eventObjectId].active = FALSE; + return NUM_EVENT_OBJECTS; } sprite = &gSprites[spriteId]; - sub_8092FF0(mapObject->currentCoords.x + cameraX, mapObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); + sub_8092FF0(eventObject->currentCoords.x + cameraX, eventObject->currentCoords.y + cameraY, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->oam.paletteNum = paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = mapObjectId; - mapObject->spriteId = spriteId; - mapObject->inanimate = graphicsInfo->inanimate; - if (!mapObject->inanimate) + sprite->data[0] = eventObjectId; + eventObject->spriteId = spriteId; + eventObject->inanimate = graphicsInfo->inanimate; + if (!eventObject->inanimate) { - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); + StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(eventObject->facingDirection)); } - SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); - sub_8096518(mapObject, sprite); - return mapObjectId; + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); + sub_8096518(eventObject, sprite); + return eventObjectId; } -static u8 SpawnFieldObject(struct MapObjectTemplate *mapObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 SpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; struct SpriteFrameImage spriteFrameImage; - u8 mapObjectId; + u8 eventObjectId; subspriteTables = NULL; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObjectTemplate->graphicsId); - MakeObjectTemplateFromFieldObjectTemplate(mapObjectTemplate, &spriteTemplate, &subspriteTables); + graphicsInfo = GetEventObjectGraphicsInfo(eventObjectTemplate->graphicsId); + MakeObjectTemplateFromEventObjectTemplate(eventObjectTemplate, &spriteTemplate, &subspriteTables); spriteFrameImage.size = graphicsInfo->size; spriteTemplate.images = &spriteFrameImage; - mapObjectId = SpawnFieldObjectInternal(mapObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); - if (mapObjectId == NUM_FIELD_OBJECTS) + eventObjectId = SpawnEventObjectInternal(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); + if (eventObjectId == NUM_EVENT_OBJECTS) { - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } - gSprites[gMapObjects[mapObjectId].spriteId].images = graphicsInfo->images; + gSprites[gEventObjects[eventObjectId].spriteId].images = graphicsInfo->images; if (subspriteTables != NULL) { - SetSubspriteTables(&gSprites[gMapObjects[mapObjectId].spriteId], subspriteTables); + SetSubspriteTables(&gSprites[gEventObjects[eventObjectId].spriteId], subspriteTables); } - return mapObjectId; + return eventObjectId; } -u8 SpawnSpecialFieldObject(struct MapObjectTemplate *mapObjectTemplate) +u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) { s16 cameraX; s16 cameraY; - GetFieldObjectMovingCameraOffset(&cameraX, &cameraY); - return SpawnFieldObject(mapObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + GetEventObjectMovingCameraOffset(&cameraX, &cameraY); + return SpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -u8 SpawnSpecialFieldObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +u8 SpawnSpecialEventObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) { - struct MapObjectTemplate mapObjectTemplate; + struct EventObjectTemplate eventObjectTemplate; x -= 7; y -= 7; - mapObjectTemplate.localId = localId; - mapObjectTemplate.graphicsId = graphicsId; - mapObjectTemplate.unk2 = 0; - mapObjectTemplate.x = x; - mapObjectTemplate.y = y; - mapObjectTemplate.elevation = z; - mapObjectTemplate.movementType = movementBehavior; - mapObjectTemplate.movementRangeX = 0; - mapObjectTemplate.movementRangeY = 0; - mapObjectTemplate.trainerType = 0; - mapObjectTemplate.trainerRange_berryTreeId = 0; - return SpawnSpecialFieldObject(&mapObjectTemplate); + eventObjectTemplate.localId = localId; + eventObjectTemplate.graphicsId = graphicsId; + eventObjectTemplate.unk2 = 0; + eventObjectTemplate.x = x; + eventObjectTemplate.y = y; + eventObjectTemplate.elevation = z; + eventObjectTemplate.movementType = movementBehavior; + eventObjectTemplate.movementRangeX = 0; + eventObjectTemplate.movementRangeY = 0; + eventObjectTemplate.trainerType = 0; + eventObjectTemplate.trainerRange_berryTreeId = 0; + return SpawnSpecialEventObject(&eventObjectTemplate); } u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) { - struct MapObjectTemplate *mapObjectTemplate; + struct EventObjectTemplate *eventObjectTemplate; s16 cameraX; s16 cameraY; - mapObjectTemplate = GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); - if (mapObjectTemplate == NULL) + eventObjectTemplate = GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup); + if (eventObjectTemplate == NULL) { - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } - GetFieldObjectMovingCameraOffset(&cameraX, &cameraY); - return SpawnFieldObject(mapObjectTemplate, mapNum, mapGroup, cameraX, cameraY); + GetEventObjectMovingCameraOffset(&cameraX, &cameraY); + return SpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); } -static void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(graphicsId); + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(graphicsId); sprTemplate->tileTag = gfxInfo->tileTag; sprTemplate->paletteTag = gfxInfo->paletteTag1; @@ -1651,17 +1649,17 @@ static void MakeObjectTemplateFromFieldObjectGraphicsInfo(u16 graphicsId, void ( *subspriteTables = gfxInfo->subspriteTables; } -static void MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, gUnknown_08505438[callbackIndex], sprTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, gUnknown_08505438[callbackIndex], sprTemplate, subspriteTables); } -static void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) +static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObjectTemplate->graphicsId, mapObjectTemplate->movementType, spriteTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObjectTemplate->graphicsId, eventObjectTemplate->movementType, spriteTemplate, subspriteTables); } -u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) +u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) { struct SpriteTemplate *spriteTemplate; const struct SubspriteTable *subspriteTables; @@ -1669,7 +1667,7 @@ u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x u8 spriteIdx; spriteTemplate = malloc(sizeof(struct SpriteTemplate)); - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, callback, spriteTemplate, &subspriteTables); if (spriteTemplate->paletteTag != 0xffff) { sub_808E894(spriteTemplate->paletteTag); @@ -1688,14 +1686,14 @@ u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) { - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct SpriteTemplate spriteTemplate; const struct SubspriteTable *subspriteTables; u8 spriteId; struct Sprite *sprite; - graphicsInfo = GetFieldObjectGraphicsInfo(graphicsId); - MakeObjectTemplateFromFieldObjectGraphicsInfo(graphicsId, sub_8097AC8, &spriteTemplate, &subspriteTables); + graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sub_8097AC8, &spriteTemplate, &subspriteTables); *(u16 *)&spriteTemplate.paletteTag = 0xffff; x += 7; y += 7; @@ -1730,12 +1728,12 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) } InitObjectPriorityByZCoord(sprite, z); SetObjectSubpriorityByZCoord(z, sprite, 1); - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(direction)); + StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(direction)); } return spriteId; } -void SpawnFieldObjectsInView(s16 cameraX, s16 cameraY) +void SpawnEventObjectsInView(s16 cameraX, s16 cameraY) { u8 i; s16 left; @@ -1763,47 +1761,47 @@ void SpawnFieldObjectsInView(s16 cameraX, s16 cameraY) } else { - objectCount = gMapHeader.events->mapObjectCount; + objectCount = gMapHeader.events->eventObjectCount; } for (i = 0; i < objectCount; i++) { - struct MapObjectTemplate *template = &gSaveBlock1Ptr->mapObjectTemplates[i]; + struct EventObjectTemplate *template = &gSaveBlock1Ptr->eventObjectTemplates[i]; npcX = template->x + 7; npcY = template->y + 7; if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) - SpawnFieldObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + SpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } } } -/*static*/ void RemoveFieldObjectsOutsideView(void) +/*static*/ void RemoveEventObjectsOutsideView(void) { u8 i; u8 j; bool8 isActiveLinkPlayer; - struct MapObject *mapObject; + struct EventObject *eventObject; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerMapObjects); j ++) + for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerEventObjects); j ++) { - if (gLinkPlayerMapObjects[j].active && i == gLinkPlayerMapObjects[j].mapObjId) + if (gLinkPlayerEventObjects[j].active && i == gLinkPlayerEventObjects[j].eventObjId) isActiveLinkPlayer = TRUE; } if (!isActiveLinkPlayer) { - mapObject = &gMapObjects[i]; + eventObject = &gEventObjects[i]; - if (mapObject->active && !mapObject->isPlayer) - RemoveFieldObjectIfOutsideView(mapObject); + if (eventObject->active && !eventObject->isPlayer) + RemoveEventObjectIfOutsideView(eventObject); } } } -static void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) +static void RemoveEventObjectIfOutsideView(struct EventObject *eventObject) { s16 left; s16 right; @@ -1815,13 +1813,13 @@ static void RemoveFieldObjectIfOutsideView(struct MapObject *mapObject) top = gSaveBlock1Ptr->pos.y; bottom = gSaveBlock1Ptr->pos.y + 16; - if (mapObject->currentCoords.x >= left && mapObject->currentCoords.x <= right - && mapObject->currentCoords.y >= top && mapObject->currentCoords.y <= bottom) + if (eventObject->currentCoords.x >= left && eventObject->currentCoords.x <= right + && eventObject->currentCoords.y >= top && eventObject->currentCoords.y <= bottom) return; - if (mapObject->initialCoords.x >= left && mapObject->initialCoords.x <= right - && mapObject->initialCoords.y >= top && mapObject->initialCoords.y <= bottom) + if (eventObject->initialCoords.x >= left && eventObject->initialCoords.x <= right + && eventObject->initialCoords.y >= top && eventObject->initialCoords.y <= bottom) return; - RemoveFieldObject(mapObject); + RemoveEventObject(eventObject); } void sub_808E16C(s16 x, s16 y) @@ -1829,9 +1827,9 @@ void sub_808E16C(s16 x, s16 y) u8 i; ClearPlayerAvatarInfo(); - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (gMapObjects[i].active) + if (gEventObjects[i].active) { sub_808E1B8(i, x, y); } @@ -1839,32 +1837,32 @@ void sub_808E16C(s16 x, s16 y) sub_808D450(); } -static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) +static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) { u8 spriteId; u8 paletteSlot; - struct MapObject *mapObject; + struct EventObject *eventObject; const struct SubspriteTable *subspriteTables; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct SpriteFrameImage spriteFrameImage; struct SpriteTemplate spriteTemplate; struct Sprite *sprite; #define i spriteId - for (i = 0; i < ARRAY_COUNT(gLinkPlayerMapObjects); i ++) + for (i = 0; i < ARRAY_COUNT(gLinkPlayerEventObjects); i ++) { - if (gLinkPlayerMapObjects[i].active && mapObjectId == gLinkPlayerMapObjects[i].mapObjId) + if (gLinkPlayerEventObjects[i].active && eventObjectId == gLinkPlayerEventObjects[i].eventObjId) { return; } } #undef i - mapObject = &gMapObjects[mapObjectId]; + eventObject = &gEventObjects[eventObjectId]; subspriteTables = NULL; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); spriteFrameImage.size = graphicsInfo->size; - MakeObjectTemplateFromFieldObjectGraphicsInfoWithCallbackIndex(mapObject->graphicsId, mapObject->movementType, &spriteTemplate, &subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(eventObject->graphicsId, eventObject->movementType, &spriteTemplate, &subspriteTables); spriteTemplate.images = &spriteFrameImage; *(u16 *)&spriteTemplate.paletteTag = 0xffff; paletteSlot = graphicsInfo->paletteSlot; @@ -1886,16 +1884,16 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) if (spriteId != MAX_SPRITES) { sprite = &gSprites[spriteId]; - sub_8092FF0(x + mapObject->currentCoords.x, y + mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sub_8092FF0(x + eventObject->currentCoords.x, y + eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; sprite->images = graphicsInfo->images; - if (mapObject->movementType == 0x0b) + if (eventObject->movementType == 0x0b) { - SetPlayerAvatarFieldObjectIdAndObjectId(mapObjectId, spriteId); - mapObject->warpArrowSpriteId = sub_8154228(); + SetPlayerAvatarEventObjectIdAndObjectId(eventObjectId, spriteId); + eventObject->warpArrowSpriteId = sub_8154228(); } if (subspriteTables != NULL) { @@ -1903,46 +1901,46 @@ static void sub_808E1B8(u8 mapObjectId, s16 x, s16 y) } sprite->oam.paletteNum = paletteSlot; sprite->coordOffsetEnabled = TRUE; - sprite->data[0] = mapObjectId; - mapObject->spriteId = spriteId; - if (!mapObject->inanimate && mapObject->movementType != 0x0b) + sprite->data[0] = eventObjectId; + eventObject->spriteId = spriteId; + if (!eventObject->inanimate && eventObject->movementType != 0x0b) { - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); + StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(eventObject->facingDirection)); } - sub_808E38C(mapObject); - SetObjectSubpriorityByZCoord(mapObject->previousElevation, sprite, 1); + sub_808E38C(eventObject); + SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); } } -static void sub_808E38C(struct MapObject *mapObject) +static void sub_808E38C(struct EventObject *eventObject) { - mapObject->singleMovementActive = FALSE; - mapObject->triggerGroundEffectsOnMove = TRUE; - mapObject->hasShadow = FALSE; - mapObject->hasReflection = FALSE; - mapObject->inShortGrass = FALSE; - mapObject->inShallowFlowingWater = FALSE; - mapObject->inSandPile = FALSE; - mapObject->inHotSprings = FALSE; - FieldObjectClearAnim(mapObject); + eventObject->singleMovementActive = FALSE; + eventObject->triggerGroundEffectsOnMove = TRUE; + eventObject->hasShadow = FALSE; + eventObject->hasReflection = FALSE; + eventObject->inShortGrass = FALSE; + eventObject->inShallowFlowingWater = FALSE; + eventObject->inSandPile = FALSE; + eventObject->inHotSprings = FALSE; + EventObjectClearAnim(eventObject); } -static void SetPlayerAvatarFieldObjectIdAndObjectId(u8 mapObjectId, u8 spriteId) +static void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) { - gPlayerAvatar.mapObjectId = mapObjectId; + gPlayerAvatar.eventObjectId = eventObjectId; gPlayerAvatar.spriteId = spriteId; - gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gMapObjects[mapObjectId].graphicsId); - SetPlayerAvatarExtraStateTransition(gMapObjects[mapObjectId].graphicsId, 0x20); + gPlayerAvatar.gender = GetPlayerAvatarGenderByGraphicsId(gEventObjects[eventObjectId].graphicsId); + SetPlayerAvatarExtraStateTransition(gEventObjects[eventObjectId].graphicsId, 0x20); } -void FieldObjectSetGraphicsId(struct MapObject *mapObject, u8 graphicsId) +void EventObjectSetGraphicsId(struct EventObject *eventObject, u8 graphicsId) { - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; struct Sprite *sprite; u8 paletteSlot; - graphicsInfo = GetFieldObjectGraphicsInfo(graphicsId); - sprite = &gSprites[mapObject->spriteId]; + graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); + sprite = &gSprites[eventObject->spriteId]; paletteSlot = graphicsInfo->paletteSlot; if (paletteSlot == 0) { @@ -1963,86 +1961,86 @@ void FieldObjectSetGraphicsId(struct MapObject *mapObject, u8 graphicsId) sprite->anims = graphicsInfo->anims; sprite->subspriteTables = graphicsInfo->subspriteTables; sprite->oam.paletteNum = paletteSlot; - mapObject->inanimate = graphicsInfo->inanimate; - mapObject->graphicsId = graphicsId; - sub_8093038(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + eventObject->inanimate = graphicsInfo->inanimate; + eventObject->graphicsId = graphicsId; + sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - if (mapObject->trackedByCamera) + if (eventObject->trackedByCamera) { CameraObjectReset1(); } } -void FieldObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) +void EventObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 graphicsId) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - FieldObjectSetGraphicsId(&gMapObjects[mapObjectId], graphicsId); + EventObjectSetGraphicsId(&gEventObjects[eventObjectId], graphicsId); } } -void FieldObjectTurn(struct MapObject *mapObject, u8 direction) +void EventObjectTurn(struct EventObject *eventObject, u8 direction) { - FieldObjectSetDirection(mapObject, direction); - if (!mapObject->inanimate) + EventObjectSetDirection(eventObject, direction); + if (!eventObject->inanimate) { - StartSpriteAnim(&gSprites[mapObject->spriteId], FieldObjectDirectionToImageAnimId(mapObject->facingDirection)); - SeekSpriteAnim(&gSprites[mapObject->spriteId], 0); + StartSpriteAnim(&gSprites[eventObject->spriteId], EventObjectDirectionToImageAnimId(eventObject->facingDirection)); + SeekSpriteAnim(&gSprites[eventObject->spriteId], 0); } } -void FieldObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) +void EventObjectTurnByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, u8 direction) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - FieldObjectTurn(&gMapObjects[mapObjectId], direction); + EventObjectTurn(&gEventObjects[eventObjectId], direction); } } void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction) { - FieldObjectTurn(&gMapObjects[playerAvatar->mapObjectId], direction); + EventObjectTurn(&gEventObjects[playerAvatar->eventObjectId], direction); } -/*static*/ void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite) +/*static*/ void get_berry_tree_graphics(struct EventObject *eventObject, struct Sprite *sprite) { u8 berryStage; u8 berryId; - mapObject->invisible = TRUE; + eventObject->invisible = TRUE; sprite->invisible = TRUE; - berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + berryStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); if (berryStage != 0) { - mapObject->invisible = FALSE; + eventObject->invisible = FALSE; sprite->invisible = FALSE; - berryId = GetBerryTypeByBerryTreeId(mapObject->trainerRange_berryTreeId) - 1; + berryId = GetBerryTypeByBerryTreeId(eventObject->trainerRange_berryTreeId) - 1; berryStage -= 1; if (berryId >= NUM_BERRIES) { berryId = 0; } - FieldObjectSetGraphicsId(mapObject, gBerryTreeFieldObjectGraphicsIdTablePointers[berryId][berryStage]); + EventObjectSetGraphicsId(eventObject, gBerryTreeEventObjectGraphicsIdTablePointers[berryId][berryStage]); sprite->images = gBerryTreePicTablePointers[berryId]; sprite->oam.paletteNum = gBerryTreePaletteSlotTablePointers[berryId][berryStage]; StartSpriteAnim(sprite, berryStage); } } -const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId) +const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) { u8 bard; if (graphicsId >= SPRITE_VAR) { - graphicsId = VarGetFieldObjectGraphicsId(graphicsId - SPRITE_VAR); + graphicsId = VarGetEventObjectGraphicsId(graphicsId - SPRITE_VAR); } if (graphicsId == 0x45) { @@ -2053,83 +2051,83 @@ const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId) { graphicsId = 0x05; // LittleBoy1 } - return gFieldObjectGraphicsInfoPointers[graphicsId]; + return gEventObjectGraphicsInfoPointers[graphicsId]; } -static void FieldObjectHandleDynamicGraphicsId(struct MapObject *mapObject) +static void EventObjectHandleDynamicGraphicsId(struct EventObject *eventObject) { - if (mapObject->graphicsId >= SPRITE_VAR) + if (eventObject->graphicsId >= SPRITE_VAR) { - mapObject->graphicsId = VarGetFieldObjectGraphicsId(mapObject->graphicsId - SPRITE_VAR); + eventObject->graphicsId = VarGetEventObjectGraphicsId(eventObject->graphicsId - SPRITE_VAR); } } void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGroup, u8 state) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - gMapObjects[mapObjectId].invisible = state; + gEventObjects[eventObjectId].invisible = state; } } -void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup) +void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup) { - *(u8*)(localId) = mapObject->localId; - *(u8*)(mapNum) = mapObject->mapNum; - *(u8*)(mapGroup) = mapObject->mapGroup; + *(u8*)(localId) = eventObject->localId; + *(u8*)(mapNum) = eventObject->mapNum; + *(u8*)(mapGroup) = eventObject->mapGroup; } void sub_808E75C(s16 x, s16 y) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; - mapObjectId = GetFieldObjectIdByXY(x, y); - if (mapObjectId != NUM_FIELD_OBJECTS) + eventObjectId = GetEventObjectIdByXY(x, y); + if (eventObjectId != NUM_EVENT_OBJECTS) { - mapObject = &gMapObjects[mapObjectId]; - mapObject->triggerGroundEffectsOnMove = TRUE; + eventObject = &gEventObjects[eventObjectId]; + eventObject->triggerGroundEffectsOnMove = TRUE; } } void sub_808E78C(u8 localId, u8 mapNum, u8 mapGroup, u8 subpriority) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; struct Sprite *sprite; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - mapObject = &gMapObjects[mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; - mapObject->fixedPriority = TRUE; + eventObject = &gEventObjects[eventObjectId]; + sprite = &gSprites[eventObject->spriteId]; + eventObject->fixedPriority = TRUE; sprite->subpriority = subpriority; } } void sub_808E7E4(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; - struct MapObject *mapObject; + u8 eventObjectId; + struct EventObject *eventObject; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - mapObject = &gMapObjects[mapObjectId]; - mapObject->fixedPriority = FALSE; - mapObject->triggerGroundEffectsOnMove = TRUE; + eventObject = &gEventObjects[eventObjectId]; + eventObject->fixedPriority = FALSE; + eventObject->triggerGroundEffectsOnMove = TRUE; } } void sub_808E82C(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { - u8 mapObjectId; + u8 eventObjectId; struct Sprite *sprite; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - sprite = &gSprites[gMapObjects[mapObjectId].spriteId]; + sprite = &gSprites[gEventObjects[eventObjectId].spriteId]; sprite->pos2.x = x; sprite->pos2.y = y; } @@ -2145,7 +2143,7 @@ static void sub_808E894(u16 paletteTag) { u16 paletteSlot; - paletteSlot = FindFieldObjectPaletteIndexByTag(paletteTag); + paletteSlot = FindEventObjectPaletteIndexByTag(paletteTag); if (paletteSlot != 0x11ff) // always true { sub_808E8F4(&gUnknown_0850BBC8[paletteSlot]); @@ -2175,7 +2173,7 @@ void pal_patch_for_npc(u16 paletteTag, u8 paletteSlot) { u16 paletteIdx; - paletteIdx = FindFieldObjectPaletteIndexByTag(paletteTag); + paletteIdx = FindEventObjectPaletteIndexByTag(paletteTag); LoadPalette(gUnknown_0850BBC8[paletteIdx].data, 16 * paletteSlot + 256, 0x20); } @@ -2189,7 +2187,7 @@ void pal_patch_for_npc_range(const u16 *paletteTags, u8 minSlot, u8 maxSlot) } } -static u8 FindFieldObjectPaletteIndexByTag(u16 tag) +static u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; @@ -2239,45 +2237,45 @@ static void sub_808EAB0(u16 tag, u8 slot) pal_patch_for_npc(tag, slot); } -void unref_sub_808EAC4(struct MapObject *mapObject, s16 x, s16 y) +void unref_sub_808EAC4(struct EventObject *eventObject, s16 x, s16 y) { - mapObject->previousCoords.x = mapObject->currentCoords.x; - mapObject->previousCoords.y = mapObject->currentCoords.y; - mapObject->currentCoords.x += x; - mapObject->currentCoords.y += y; + eventObject->previousCoords.x = eventObject->currentCoords.x; + eventObject->previousCoords.y = eventObject->currentCoords.y; + eventObject->currentCoords.x += x; + eventObject->currentCoords.y += y; } -void npc_coords_shift(struct MapObject *mapObject, s16 x, s16 y) +void npc_coords_shift(struct EventObject *eventObject, s16 x, s16 y) { - mapObject->previousCoords.x = mapObject->currentCoords.x; - mapObject->previousCoords.y = mapObject->currentCoords.y; - mapObject->currentCoords.x = x; - mapObject->currentCoords.y = y; + eventObject->previousCoords.x = eventObject->currentCoords.x; + eventObject->previousCoords.y = eventObject->currentCoords.y; + eventObject->currentCoords.x = x; + eventObject->currentCoords.y = y; } -/*static*/ void npc_coords_set(struct MapObject *mapObject, s16 x, s16 y) +/*static*/ void npc_coords_set(struct EventObject *eventObject, s16 x, s16 y) { - mapObject->previousCoords.x = x; - mapObject->previousCoords.y = y; - mapObject->currentCoords.x = x; - mapObject->currentCoords.y = y; + eventObject->previousCoords.x = x; + eventObject->previousCoords.y = y; + eventObject->currentCoords.x = x; + eventObject->currentCoords.y = y; } -void sub_808EB08(struct MapObject *mapObject, s16 x, s16 y) +void sub_808EB08(struct EventObject *eventObject, s16 x, s16 y) { struct Sprite *sprite; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; - sprite = &gSprites[mapObject->spriteId]; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); - npc_coords_set(mapObject, x, y); - sub_8093038(mapObject->currentCoords.x, mapObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); + sprite = &gSprites[eventObject->spriteId]; + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); + npc_coords_set(eventObject, x, y); + sub_8093038(eventObject->currentCoords.x, eventObject->currentCoords.y, &sprite->pos1.x, &sprite->pos1.y); sprite->centerToCornerVecX = -(graphicsInfo->width >> 1); sprite->centerToCornerVecY = -(graphicsInfo->height >> 1); sprite->pos1.x += 8; sprite->pos1.y += 16 + sprite->centerToCornerVecY; - sub_808E38C(mapObject); - if (mapObject->trackedByCamera) + sub_808E38C(eventObject); + if (eventObject->trackedByCamera) { CameraObjectReset1(); } @@ -2285,22 +2283,22 @@ void sub_808EB08(struct MapObject *mapObject, s16 x, s16 y) void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { x += 7; y += 7; - sub_808EB08(&gMapObjects[mapObjectId], x, y); + sub_808EB08(&gEventObjects[eventObjectId], x, y); } } -void npc_coords_shift_still(struct MapObject *mapObject) +void npc_coords_shift_still(struct EventObject *eventObject) { - npc_coords_shift(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); + npc_coords_shift(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); } -void UpdateFieldObjectCoordsForCameraUpdate(void) +void UpdateEventObjectCoordsForCameraUpdate(void) { u8 i; s16 dx; @@ -2310,51 +2308,51 @@ void UpdateFieldObjectCoordsForCameraUpdate(void) { dx = gCamera.x; dy = gCamera.y; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (gMapObjects[i].active) + if (gEventObjects[i].active) { - gMapObjects[i].initialCoords.x -= dx; - gMapObjects[i].initialCoords.y -= dy; - gMapObjects[i].currentCoords.x -= dx; - gMapObjects[i].currentCoords.y -= dy; - gMapObjects[i].previousCoords.x -= dx; - gMapObjects[i].previousCoords.y -= dy; + gEventObjects[i].initialCoords.x -= dx; + gEventObjects[i].initialCoords.y -= dy; + gEventObjects[i].currentCoords.x -= dx; + gEventObjects[i].currentCoords.y -= dy; + gEventObjects[i].previousCoords.x -= dx; + gEventObjects[i].previousCoords.y -= dy; } } } } -u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z) +u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z) { u8 i; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - if (gMapObjects[i].active) + if (gEventObjects[i].active) { - if (gMapObjects[i].currentCoords.x == x && gMapObjects[i].currentCoords.y == y && FieldObjectDoesZCoordMatch(&gMapObjects[i], z)) + if (gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y && EventObjectDoesZCoordMatch(&gEventObjects[i], z)) { return i; } } } - return NUM_FIELD_OBJECTS; + return NUM_EVENT_OBJECTS; } -static bool8 FieldObjectDoesZCoordMatch(struct MapObject *mapObject, u8 z) +static bool8 EventObjectDoesZCoordMatch(struct EventObject *eventObject, u8 z) { - if (mapObject->currentElevation != 0 && z != 0 && mapObject->currentElevation != z) + if (eventObject->currentElevation != 0 && z != 0 && eventObject->currentElevation != z) { return FALSE; } return TRUE; } -void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y) +void UpdateEventObjectsForCameraUpdate(s16 x, s16 y) { - UpdateFieldObjectCoordsForCameraUpdate(); - SpawnFieldObjectsInView(x, y); - RemoveFieldObjectsOutsideView(); + UpdateEventObjectCoordsForCameraUpdate(); + SpawnEventObjectsInView(x, y); + RemoveEventObjectsOutsideView(); } u8 AddCameraObject(u8 linkedSpriteId) @@ -2496,91 +2494,91 @@ u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) return MAX_SPRITES; } -void FieldObjectSetDirection(struct MapObject *mapObject, u8 direction) +void EventObjectSetDirection(struct EventObject *eventObject, u8 direction) { s8 d2; - mapObject->previousMovementDirection = mapObject->facingDirection; - if (!mapObject->facingDirectionLocked) + eventObject->previousMovementDirection = eventObject->facingDirection; + if (!eventObject->facingDirectionLocked) { d2 = direction; - mapObject->facingDirection = d2; + eventObject->facingDirection = d2; } - mapObject->movementDirection = direction; + eventObject->movementDirection = direction; } -static const u8 *GetFieldObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static const u8 *GetEventObjectScriptPointerByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; + return GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->script; } -const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId) +const u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId) { - return GetFieldObjectScriptPointerByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); + return GetEventObjectScriptPointerByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); } -static u16 GetFieldObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static u16 GetEventObjectFlagIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - return GetFieldObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; + return GetEventObjectTemplateByLocalIdAndMap(localId, mapNum, mapGroup)->flagId; } -static u16 GetFieldObjectFlagIdByFieldObjectId(u8 mapObjectId) +static u16 GetEventObjectFlagIdByEventObjectId(u8 eventObjectId) { - return GetFieldObjectFlagIdByLocalIdAndMap(gMapObjects[mapObjectId].localId, gMapObjects[mapObjectId].mapNum, gMapObjects[mapObjectId].mapGroup); + return GetEventObjectFlagIdByLocalIdAndMap(gEventObjects[eventObjectId].localId, gEventObjects[eventObjectId].mapNum, gEventObjects[eventObjectId].mapGroup); } u8 sub_808F080(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { return 0xFF; } - return gMapObjects[mapObjectId].trainerType; + return gEventObjects[eventObjectId].trainerType; } -u8 sub_808F0BC(u8 mapObjectId) +u8 sub_808F0BC(u8 eventObjectId) { - return gMapObjects[mapObjectId].trainerType; + return gEventObjects[eventObjectId].trainerType; } u8 sub_808F0D4(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { return 0xFF; } - return gMapObjects[mapObjectId].trainerRange_berryTreeId; + return gEventObjects[eventObjectId].trainerRange_berryTreeId; } -u8 FieldObjectGetBerryTreeId(u8 mapObjectId) +u8 EventObjectGetBerryTreeId(u8 eventObjectId) { - return gMapObjects[mapObjectId].trainerRange_berryTreeId; + return gEventObjects[eventObjectId].trainerRange_berryTreeId; } -static struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) +static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - struct MapObjectTemplate *templates; + struct EventObjectTemplate *templates; const struct MapHeader *mapHeader; u8 count; if (gSaveBlock1Ptr->location.mapNum == mapNum && gSaveBlock1Ptr->location.mapGroup == mapGroup) { - templates = gSaveBlock1Ptr->mapObjectTemplates; - count = gMapHeader.events->mapObjectCount; + templates = gSaveBlock1Ptr->eventObjectTemplates; + count = gMapHeader.events->eventObjectCount; } else { mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); - templates = mapHeader->events->mapObjects; - count = mapHeader->events->mapObjectCount; + templates = mapHeader->events->eventObjects; + count = mapHeader->events->eventObjectCount; } - return FindFieldObjectTemplateInArrayByLocalId(localId, templates, count); + return FindEventObjectTemplateInArrayByLocalId(localId, templates, count); } -static struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 localId, struct MapObjectTemplate *templates, u8 count) +static struct EventObjectTemplate *FindEventObjectTemplateInArrayByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count) { u8 i; @@ -2594,81 +2592,81 @@ static struct MapObjectTemplate *FindFieldObjectTemplateInArrayByLocalId(u8 loca return NULL; } -struct MapObjectTemplate *sub_808F1B4(const struct MapObject *mapObject) +struct EventObjectTemplate *sub_808F1B4(const struct EventObject *eventObject) { int i; - if (mapObject->mapNum != gSaveBlock1Ptr->location.mapNum || mapObject->mapGroup != gSaveBlock1Ptr->location.mapGroup) + if (eventObject->mapNum != gSaveBlock1Ptr->location.mapNum || eventObject->mapGroup != gSaveBlock1Ptr->location.mapGroup) { return NULL; } for (i = 0; i < 64; i ++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble) { - if (mapObject->localId == gSaveBlock1Ptr->mapObjectTemplates[i].localId) + if (eventObject->localId == gSaveBlock1Ptr->eventObjectTemplates[i].localId) { - return &gSaveBlock1Ptr->mapObjectTemplates[i]; + return &gSaveBlock1Ptr->eventObjectTemplates[i]; } } return NULL; } -void sub_808F208(const struct MapObject *mapObject) +void sub_808F208(const struct EventObject *eventObject) { - struct MapObjectTemplate *mapObjectTemplate; + struct EventObjectTemplate *eventObjectTemplate; - mapObjectTemplate = sub_808F1B4(mapObject); - if (mapObjectTemplate != NULL) + eventObjectTemplate = sub_808F1B4(eventObject); + if (eventObjectTemplate != NULL) { - mapObjectTemplate->x = mapObject->currentCoords.x - 7; - mapObjectTemplate->y = mapObject->currentCoords.y - 7; + eventObjectTemplate->x = eventObject->currentCoords.x - 7; + eventObjectTemplate->y = eventObject->currentCoords.y - 7; } } -void sub_808F228(const struct MapObject *mapObject, const u8 *script) +void sub_808F228(const struct EventObject *eventObject, const u8 *script) { - struct MapObjectTemplate *mapObjectTemplate; + struct EventObjectTemplate *eventObjectTemplate; - mapObjectTemplate = sub_808F1B4(mapObject); - if (mapObjectTemplate != NULL) + eventObjectTemplate = sub_808F1B4(eventObject); + if (eventObjectTemplate != NULL) { - mapObjectTemplate->script = script; + eventObjectTemplate->script = script; } } -void sub_808F23C(const struct MapObject *mapObject, u8 movementType) +void sub_808F23C(const struct EventObject *eventObject, u8 movementType) { - struct MapObjectTemplate *mapObjectTemplate; + struct EventObjectTemplate *eventObjectTemplate; - mapObjectTemplate = sub_808F1B4(mapObject); - if (mapObjectTemplate != NULL) + eventObjectTemplate = sub_808F1B4(eventObject); + if (eventObjectTemplate != NULL) { - mapObjectTemplate->movementType = movementType; + eventObjectTemplate->movementType = movementType; } } void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - sub_808F208(&gMapObjects[mapObjectId]); + sub_808F208(&gEventObjects[eventObjectId]); } } void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { switch (decorCat) { case DECORCAT_DOLL: - sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A2); + sub_808F228(&gEventObjects[eventObjectId], EventScript_2766A2); break; case DECORCAT_CUSHION: - sub_808F228(&gMapObjects[mapObjectId], EventScript_2766A6); + sub_808F228(&gEventObjects[eventObjectId], EventScript_2766A6); break; } } @@ -2715,34 +2713,34 @@ null_object_step(NoMovement1, FALSE) field_object_step(GoRandomDirections, gUnknown_0850D6F4) -bool8 sub_808F44C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F44C(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808F460(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F460(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808F48C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F48C(struct EventObject *eventObject, struct Sprite *sprite) { - if (!FieldObjectExecRegularAnim(mapObject, sprite)) + if (!EventObjectExecRegularAnim(eventObject, sprite)) { return FALSE; } - SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); sprite->data[1] = 3; return TRUE; } -bool8 sub_808F4C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F4C8(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite)) + if (RunEventObjectStepTimer(sprite)) { sprite->data[1] = 4; return TRUE; @@ -2750,41 +2748,41 @@ bool8 sub_808F4C8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808F4E8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F4E8(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 chosenDirection; memcpy(directions, gUnknown_0850D710, sizeof directions); chosenDirection = directions[Random() & 0x03]; - FieldObjectSetDirection(mapObject, chosenDirection); + EventObjectSetDirection(eventObject, chosenDirection); sprite->data[1] = 5; - if (npc_block_way__next_tile(mapObject, chosenDirection)) + if (npc_block_way__next_tile(eventObject, chosenDirection)) { sprite->data[1] = 1; } return TRUE; } -bool8 sub_808F534(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F534(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); - mapObject->singleMovementActive = TRUE; + EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(eventObject->movementDirection)); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; } -bool8 sub_808F564(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F564(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; } -bool8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) +bool8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) { s16 playerX; s16 playerY; @@ -2799,17 +2797,17 @@ bool8 FieldObjectIsTrainerAndCloseToPlayer(struct MapObject *mapObject) { return FALSE; } - if (mapObject->trainerType != 1 && mapObject->trainerType != 3) + if (eventObject->trainerType != 1 && eventObject->trainerType != 3) { return FALSE; } PlayerGetDestCoords(&playerX, &playerY); - objX = mapObject->currentCoords.x; - objY = mapObject->currentCoords.y; - minX = objX - mapObject->trainerRange_berryTreeId; - minY = objY - mapObject->trainerRange_berryTreeId; - maxX = objX + mapObject->trainerRange_berryTreeId; - maxY = objY + mapObject->trainerRange_berryTreeId; + objX = eventObject->currentCoords.x; + objY = eventObject->currentCoords.y; + minX = objX - eventObject->trainerRange_berryTreeId; + minY = objY - eventObject->trainerRange_berryTreeId; + maxX = objX + eventObject->trainerRange_berryTreeId; + maxY = objY + eventObject->trainerRange_berryTreeId; if (minX > playerX || maxX < playerX || minY > playerY || maxY < playerY) { return FALSE; @@ -3008,20 +3006,20 @@ u8 GetNonNorthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetRunningPastFacingDirection(struct MapObject *mapObject, u8 movementType) +u8 GetRunningPastFacingDirection(struct EventObject *eventObject, u8 movementType) { s16 dx; s16 dy; s16 absdx; s16 absdy; - if (!FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (!EventObjectIsTrainerAndCloseToPlayer(eventObject)) { return 0; } PlayerGetDestCoords(&dx, &dy); - dx -= mapObject->currentCoords.x; - dy -= mapObject->currentCoords.y; + dx -= eventObject->currentCoords.x; + dy -= eventObject->currentCoords.y; absdx = dx; absdy = dy; if (absdx < 0) @@ -3037,34 +3035,34 @@ u8 GetRunningPastFacingDirection(struct MapObject *mapObject, u8 movementType) field_object_step(LookRandomDirections, gUnknown_0850D740) -bool8 sub_808F988(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F988(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808F99C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F99C(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808F9C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808F9C8(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_808FA0C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FA0C(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3072,52 +3070,52 @@ bool8 sub_808FA0C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FA3C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FA3C(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 direction; memcpy(directions, gUnknown_0850D710, sizeof directions); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_ANY); if (direction == 0) { direction = directions[Random() & 0x03]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyGoNorthOrSouth, gUnknown_0850D754) -bool8 sub_808FAC8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FAC8(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FADC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FADC(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808FB08(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FB08(struct EventObject *eventObject, struct Sprite *sprite) { - if (!FieldObjectExecRegularAnim(mapObject, sprite)) + if (!EventObjectExecRegularAnim(eventObject, sprite)) { return FALSE; } - SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); sprite->data[1] = 3; return TRUE; } -bool8 sub_808FB44(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FB44(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite)) + if (RunEventObjectStepTimer(sprite)) { sprite->data[1] = 4; return TRUE; @@ -3125,35 +3123,35 @@ bool8 sub_808FB44(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FB64(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FB64(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D770, sizeof directions); direction = directions[Random() & 0x01]; - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 5; - if (npc_block_way__next_tile(mapObject, direction)) + if (npc_block_way__next_tile(eventObject, direction)) { sprite->data[1] = 1; } return TRUE; } -bool8 sub_808FBB0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FBB0(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); - mapObject->singleMovementActive = TRUE; + EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(eventObject->movementDirection)); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; } -bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FBE0(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -3161,34 +3159,34 @@ bool8 sub_808FBE0(struct MapObject *mapObject, struct Sprite *sprite) field_object_step(RandomlyGoEastOrWest, gUnknown_0850D774) -bool8 sub_808FC4C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FC4C(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FC60(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FC60(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808FC8C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FC8C(struct EventObject *eventObject, struct Sprite *sprite) { - if (!FieldObjectExecRegularAnim(mapObject, sprite)) + if (!EventObjectExecRegularAnim(eventObject, sprite)) { return FALSE; } - SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); sprite->data[1] = 3; return TRUE; } -bool8 sub_808FCC8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FCC8(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite)) + if (RunEventObjectStepTimer(sprite)) { sprite->data[1] = 4; return TRUE; @@ -3196,35 +3194,35 @@ bool8 sub_808FCC8(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FCE8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FCE8(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D790, sizeof directions); direction = directions[Random() & 0x01]; - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 5; - if (npc_block_way__next_tile(mapObject, direction)) + if (npc_block_way__next_tile(eventObject, direction)) { sprite->data[1] = 1; } return TRUE; } -bool8 sub_808FD34(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FD34(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(mapObject->movementDirection)); - mapObject->singleMovementActive = TRUE; + EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(eventObject->movementDirection)); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 6; return TRUE; } -bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FD64(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -3232,17 +3230,17 @@ bool8 sub_808FD64(struct MapObject *mapObject, struct Sprite *sprite) field_object_step(FaceFixedDirection, gUnknown_0850D794) -bool8 sub_808FDD0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FDD0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FDFC(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { sprite->data[1] = 2; return TRUE; @@ -3250,45 +3248,45 @@ bool8 sub_808FDFC(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FE1C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FE1C(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; return FALSE; } -static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite); -extern bool8 (*const gUnknown_0850D7A0[])(struct MapObject *mapObject, struct Sprite *sprite); -void FieldObjectCB_BerryTree(struct Sprite *sprite) +static bool8 EventObjectCB2_BerryTree(struct EventObject *eventObject, struct Sprite *sprite); +extern bool8 (*const gUnknown_0850D7A0[])(struct EventObject *eventObject, struct Sprite *sprite); +void EventObjectCB_BerryTree(struct Sprite *sprite) { - struct MapObject *mapObject; + struct EventObject *eventObject; - mapObject = &gMapObjects[sprite->data[0]]; + eventObject = &gEventObjects[sprite->data[0]]; if (!(sprite->data[7] & 0x0001)) { - get_berry_tree_graphics(mapObject, sprite); + get_berry_tree_graphics(eventObject, sprite); sprite->data[7] |= 0x0001; } - FieldObjectStep(mapObject, sprite, FieldObjectCB2_BerryTree); + EventObjectStep(eventObject, sprite, EventObjectCB2_BerryTree); } -static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite) +static bool8 EventObjectCB2_BerryTree(struct EventObject *eventObject, struct Sprite *sprite) { - return gUnknown_0850D7A0[sprite->data[1]](mapObject, sprite); + return gUnknown_0850D7A0[sprite->data[1]](eventObject, sprite); } -bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 do_berry_tree_growth_sparkle_1 (struct EventObject *eventObject, struct Sprite *sprite) { u8 berryStage; - npc_reset(mapObject, sprite); - mapObject->invisible = TRUE; + npc_reset(eventObject, sprite); + eventObject->invisible = TRUE; sprite->invisible = TRUE; - berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId); + berryStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); if (berryStage == 0) { if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4) { - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); @@ -3296,7 +3294,7 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite } return FALSE; } - mapObject->invisible = FALSE; + eventObject->invisible = FALSE; sprite->invisible = FALSE; berryStage --; if (sprite->animNum != berryStage) @@ -3304,15 +3302,15 @@ bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite sprite->data[1] = 2; return TRUE; } - get_berry_tree_graphics(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, 0x39); + get_berry_tree_graphics(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, 0x39); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FF48 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { sprite->data[1] = 0; return TRUE; @@ -3320,28 +3318,28 @@ bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 do_berry_tree_growth_sparkle_2 (struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 3; sprite->data[2] = 0; sprite->data[7] |= 0x0002; - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE); return TRUE; } -bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_808FFB4 (struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[2] ++; - mapObject->invisible = (sprite->data[2] & 0x02) >> 1; + eventObject->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) { - get_berry_tree_graphics(mapObject, sprite); + get_berry_tree_graphics(eventObject, sprite); sprite->data[1] = 4; sprite->data[2] = 0; return TRUE; @@ -3349,10 +3347,10 @@ bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090004 (struct EventObject *eventObject, struct Sprite *sprite) { sprite->data[2] ++; - mapObject->invisible = (sprite->data[2] & 0x02) >> 1; + eventObject->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) { @@ -3365,34 +3363,34 @@ bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite) field_object_step(RandomlyLookNorthOrSouth, gUnknown_0850D7B4) -bool8 sub_8090094 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090094 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80900A8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80900A8 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_80900D4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80900D4 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090118 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090118 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3400,52 +3398,52 @@ bool8 sub_8090118 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090148 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090148 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D770, sizeof gUnknown_0850D770); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_SOUTH); if (direction == 0) { direction = directions[Random() & 0x01]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookEastOrWest, gUnknown_0850D7C8) -bool8 sub_80901D4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80901D4 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80901E8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80901E8 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090214 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090214 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090258 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090258 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3453,52 +3451,52 @@ bool8 sub_8090258 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090288 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090288 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D790, sizeof gUnknown_0850D790); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_EAST_WEST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_EAST_WEST); if (direction == 0) { direction = directions[Random() & 0x01]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookNorthOrWest, gUnknown_0850D7DC) -bool8 sub_8090314 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090314 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090328 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090328 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090354 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090354 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090398 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090398 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3506,52 +3504,52 @@ bool8 sub_8090398 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80903C8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80903C8 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D7F0, sizeof gUnknown_0850D7F0); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_WEST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_WEST); if (direction == 0) { direction = directions[Random() & 0x01]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookNorthOrEast, gUnknown_0850D7F4) -bool8 sub_8090454 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090454 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090468 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090468 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090494 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090494 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_80904D8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80904D8 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3559,52 +3557,52 @@ bool8 sub_80904D8 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090508 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090508 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D808, sizeof gUnknown_0850D808); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_EAST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_EAST); if (direction == 0) { direction = directions[Random() & 0x01]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookSouthOrWest, gUnknown_0850D80C) -bool8 sub_8090594 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090594 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80905A8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80905A8 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_80905D4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80905D4 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090618 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090618 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3612,52 +3610,52 @@ bool8 sub_8090618 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090648 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090648 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D820, sizeof gUnknown_0850D820); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_WEST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_SOUTH_WEST); if (direction == 0) { direction = directions[Random() & 0x01]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookSouthOrEast, gUnknown_0850D824) -bool8 sub_80906D4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80906D4 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80906E8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80906E8 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090714 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090714 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090758 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090758 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3665,52 +3663,52 @@ bool8 sub_8090758 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090788 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090788 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[2]; u8 direction; memcpy(directions, gUnknown_0850D838, sizeof gUnknown_0850D838); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_EAST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_SOUTH_EAST); if (direction == 0) { direction = directions[Random() & 0x01]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookNorthOrSouthOrWest, gUnknown_0850D83C) -bool8 sub_8090814 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090814 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090828 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090828 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090854 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090854 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090898 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090898 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3718,52 +3716,52 @@ bool8 sub_8090898 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80908C8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80908C8 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 direction; memcpy(directions, gUnknown_0850D850, sizeof gUnknown_0850D850); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH_WEST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_WEST); if (direction == 0) { direction = directions[Random() & 0x03]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookNorthOrSouthOrEast, gUnknown_0850D854) -bool8 sub_8090954 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090954 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090968 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090968 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090994 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090994 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_80909D8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80909D8 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3771,52 +3769,52 @@ bool8 sub_80909D8 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090A08 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090A08 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 direction; memcpy(directions, gUnknown_0850D868, sizeof gUnknown_0850D868); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_SOUTH_EAST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_EAST); if (direction == 0) { direction = directions[Random() & 0x03]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookNorthOrEastOrWest, gUnknown_0850D86C) -bool8 sub_8090A94 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090A94 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090AA8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090AA8 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090AD4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090AD4 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090B18 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090B18 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3824,52 +3822,52 @@ bool8 sub_8090B18 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090B48 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090B48 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 direction; memcpy(directions, gUnknown_0850D880, sizeof gUnknown_0850D880); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_NORTH_EAST_WEST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_EAST_WEST); if (direction == 0) { direction = directions[Random() & 0x03]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(RandomlyLookSouthOrEastOrWest, gUnknown_0850D884) -bool8 sub_8090BD4 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090BD4 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090BE8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090BE8 (struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090C14 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090C14 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - mapObject->singleMovementActive = FALSE; + SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); + eventObject->singleMovementActive = FALSE; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090C58 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090C58 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3877,215 +3875,215 @@ bool8 sub_8090C58 (struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090C88 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090C88 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 direction; memcpy(directions, gUnknown_0850D898, sizeof gUnknown_0850D898); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_SOUTH_EAST_WEST); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_SOUTH_EAST_WEST); if (direction == 0) { direction = directions[Random() & 0x03]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } field_object_step(LookAroundCounterclockwise, gUnknown_0850D89C) -bool8 sub_8090D14 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090D14 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090D40 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090D40 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, 48); + SetEventObjectStepTimer(sprite, 48); sprite->data[1] = 2; } return FALSE; } -bool8 sub_8090D64 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090D64 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090D90 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090D90 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[5]; u8 direction; memcpy(directions, gUnknown_0850D8AC, sizeof gUnknown_0850D8AC); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_ANY); if (direction == 0) { - direction = directions[mapObject->facingDirection]; + direction = directions[eventObject->facingDirection]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 0; return TRUE; } field_object_step(LookAroundClockwise, gUnknown_0850D8B4) -bool8 sub_8090E18 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090E18 (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090E44 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090E44 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - SetFieldObjectStepTimer(sprite, 48); + SetEventObjectStepTimer(sprite, 48); sprite->data[1] = 2; } return FALSE; } -bool8 sub_8090E68 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090E68 (struct EventObject *eventObject, struct Sprite *sprite) { - if (RunFieldObjectStepTimer(sprite) || FieldObjectIsTrainerAndCloseToPlayer(mapObject)) + if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090E94 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090E94 (struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[5]; u8 direction; memcpy(directions, gUnknown_0850D8C4, sizeof gUnknown_0850D8C4); - direction = GetRunningPastFacingDirection(mapObject, RUNFOLLOW_ANY); + direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_ANY); if (direction == 0) { - direction = directions[mapObject->facingDirection]; + direction = directions[eventObject->facingDirection]; } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 0; return TRUE; } field_object_step(AlternatelyGoInOppositeDirections, gUnknown_0850D8CC) -bool8 sub_8090F1C (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090F1C (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090F30 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090F30 (struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; - direction = gInitialMovementTypeFacingDirections[mapObject->movementType]; - if (mapObject->directionSequenceIndex) + direction = gInitialMovementTypeFacingDirections[eventObject->movementType]; + if (eventObject->directionSequenceIndex) { direction = GetOppositeDirection(direction); } - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090F68 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8090F68 (struct EventObject *eventObject, struct Sprite *sprite) { bool8 blockingWay; u8 animId; - if (mapObject->directionSequenceIndex && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 0; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); + eventObject->directionSequenceIndex = 0; + EventObjectSetDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); } - blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); - animId = GetGoSpeed0AnimId(mapObject->movementDirection); + blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); + animId = GetGoSpeed0AnimId(eventObject->movementDirection); if (blockingWay == TRUE) { - mapObject->directionSequenceIndex ++; - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - animId = GetGoSpeed0AnimId(mapObject->movementDirection); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); + eventObject->directionSequenceIndex ++; + EventObjectSetDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + animId = GetGoSpeed0AnimId(eventObject->movementDirection); + blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); } if (blockingWay) { - animId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); + animId = GetStepInPlaceDelay16AnimId(eventObject->facingDirection); } - FieldObjectSetRegularAnim(mapObject, sprite, animId); - mapObject->singleMovementActive = TRUE; + EventObjectSetRegularAnim(eventObject, sprite, animId); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 3; return TRUE; } -bool8 sub_8091020 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8091020 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; } -bool8 sub_8091048(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8091048(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MoveFieldObjectInNextDirectionInSequence(struct MapObject *mapObject, struct Sprite *sprite, u8 *route) +bool8 MoveEventObjectInNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *route) { u8 blockingWay; u8 animId; - if (mapObject->directionSequenceIndex == 3 && mapObject->initialCoords.x == mapObject->currentCoords.x && mapObject->initialCoords.y == mapObject->currentCoords.y) + if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { - mapObject->directionSequenceIndex = 0; + eventObject->directionSequenceIndex = 0; } - FieldObjectSetDirection(mapObject, route[mapObject->directionSequenceIndex]); - animId = GetGoSpeed0AnimId(mapObject->movementDirection); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); + EventObjectSetDirection(eventObject, route[eventObject->directionSequenceIndex]); + animId = GetGoSpeed0AnimId(eventObject->movementDirection); + blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); if (blockingWay == TRUE) { - mapObject->directionSequenceIndex ++; - FieldObjectSetDirection(mapObject, route[mapObject->directionSequenceIndex]); - animId = GetGoSpeed0AnimId(mapObject->movementDirection); - blockingWay = npc_block_way__next_tile(mapObject, mapObject->movementDirection); + eventObject->directionSequenceIndex ++; + EventObjectSetDirection(eventObject, route[eventObject->directionSequenceIndex]); + animId = GetGoSpeed0AnimId(eventObject->movementDirection); + blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); } if (blockingWay) { - animId = GetStepInPlaceDelay16AnimId(mapObject->facingDirection); + animId = GetStepInPlaceDelay16AnimId(eventObject->facingDirection); } - FieldObjectSetRegularAnim(mapObject, sprite, animId); - mapObject->singleMovementActive = TRUE; + EventObjectSetRegularAnim(eventObject, sprite, animId); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_8091110(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8091110(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; @@ -4118,271 +4116,271 @@ field_object_path(24, gUnknown_0850DA48, sub_8091E10, gUnknown_0850DA54, 2, x) field_object_step(CopyPlayer1, gUnknown_0850DA58) -bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *mapObject, struct Sprite *sprite) +bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - if (mapObject->directionSequenceIndex == 0) + npc_reset(eventObject, sprite); + if (eventObject->directionSequenceIndex == 0) { - mapObject->directionSequenceIndex = player_get_direction_lower_nybble(); + eventObject->directionSequenceIndex = player_get_direction_lower_nybble(); } sprite->data[1] = 1; return TRUE; } -bool8 sub_8091EC0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8091EC0(struct EventObject *eventObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) + if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } - return gUnknown_0850DA64[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), NULL); + return gUnknown_0850DA64[player_get_x22()](eventObject, sprite, player_get_direction_upper_nybble(), NULL); } -bool8 sub_8091F20(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8091F20(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; sprite->data[1] = 1; } return FALSE; } -bool8 sub_8091F48(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_8091F48(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { return FALSE; } -bool8 sub_8091F4C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_8091F4C(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, playerDirection))); - mapObject->singleMovementActive = TRUE; + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, playerDirection))); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_8091F94(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_8091F94(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - if (FieldObjectIsFarawayIslandMew(mapObject)) + if (EventObjectIsFarawayIslandMew(eventObject)) { direction = sub_81D427C(); if (direction == 0) { direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); - mapObject->singleMovementActive = TRUE; + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } } else { - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); } - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed0AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(direction)); + if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_80920A4(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_80920A4(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed1AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed1AnimId(direction)); + if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_809215C(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_809215C(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, GetGoSpeed3AnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed3AnimId(direction)); + if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_8092214(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_8092214(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_8093438(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetRegularAnim(eventObject, sprite, sub_8093438(direction)); + if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 cph_IM_DIFFERENT(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectSetRegularAnim(mapObject, sprite, sub_80934BC(direction)); - mapObject->singleMovementActive = TRUE; + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectSetRegularAnim(eventObject, sprite, sub_80934BC(direction)); + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 sub_8092314(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 sub_8092314(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - FieldObjectMoveDestCoords(mapObject, direction, &x, &y); - FieldObjectSetRegularAnim(mapObject, sprite, sub_8093514(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + EventObjectMoveDestCoords(eventObject, direction, &x, &y); + EventObjectSetRegularAnim(eventObject, sprite, sub_8093514(direction)); + if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } -bool8 oac_hopping(struct MapObject *mapObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 oac_hopping(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) { u32 direction; s16 x; s16 y; direction = playerDirection; - direction = state_to_direction(gInitialMovementTypeFacingDirections[mapObject->movementType], mapObject->directionSequenceIndex, direction); - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; + direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; sub_8092F88(direction, &x, &y, 2, 2); - FieldObjectSetRegularAnim(mapObject, sprite, GetJumpLedgeAnimId(direction)); - if (npc_block_way(mapObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetRegularAnim(eventObject, sprite, GetJumpLedgeAnimId(direction)); + if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) { - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); } - mapObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = TRUE; sprite->data[1] = 2; return TRUE; } field_object_step(CopyPlayer2, gUnknown_0850DA90) -bool8 mss_08062EA4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 mss_08062EA4(struct EventObject *eventObject, struct Sprite *sprite) { - if (gMapObjects[gPlayerAvatar.mapObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) + if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) { return FALSE; } - return gUnknown_0850DA64[player_get_x22()](mapObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass); + return gUnknown_0850DA64[player_get_x22()](eventObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass); } -bool8 sub_80925AC(struct MapObject *, struct Sprite *); +bool8 sub_80925AC(struct EventObject *, struct Sprite *); -void FieldObjectCB_TreeDisguise(struct Sprite *sprite) +void EventObjectCB_TreeDisguise(struct Sprite *sprite) { - struct MapObject *mapObject; + struct EventObject *eventObject; - mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && !sprite->data[7])) + eventObject = &gEventObjects[sprite->data[0]]; + if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && !sprite->data[7])) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); - mapObject->directionSequenceIndex = 1; + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); + eventObject->directionSequenceIndex = 1; sprite->data[7] ++; } - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); + EventObjectStep(&gEventObjects[sprite->data[0]], sprite, sub_80925AC); } -bool8 sub_80925AC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80925AC(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); return FALSE; } -void FieldObjectCB_MountainDisguise(struct Sprite *sprite) +void EventObjectCB_MountainDisguise(struct Sprite *sprite) { - struct MapObject *mapObject; + struct EventObject *eventObject; - mapObject = &gMapObjects[sprite->data[0]]; - if (mapObject->directionSequenceIndex == 0 || (mapObject->directionSequenceIndex == 1 && !sprite->data[7])) + eventObject = &gEventObjects[sprite->data[0]]; + if (eventObject->directionSequenceIndex == 0 || (eventObject->directionSequenceIndex == 1 && !sprite->data[7])) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); - mapObject->directionSequenceIndex = 1; + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); + eventObject->directionSequenceIndex = 1; sprite->data[7] ++; } - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_80925AC); + EventObjectStep(&gEventObjects[sprite->data[0]], sprite, sub_80925AC); } -extern bool8 (*const gUnknown_0850DA9C[])(struct MapObject *, struct Sprite *); -bool8 sub_809268C(struct MapObject *, struct Sprite *); +extern bool8 (*const gUnknown_0850DA9C[])(struct EventObject *, struct Sprite *); +bool8 sub_809268C(struct EventObject *, struct Sprite *); -void FieldObjectCB_Hidden1(struct Sprite *sprite) +void EventObjectCB_Hidden1(struct Sprite *sprite) { if (!sprite->data[7]) { - gMapObjects[sprite->data[0]].fixedPriority = TRUE; + gEventObjects[sprite->data[0]].fixedPriority = TRUE; sprite->subspriteMode = 2; sprite->oam.priority = 3; sprite->data[7] ++; } - FieldObjectStep(&gMapObjects[sprite->data[0]], sprite, sub_809268C); + EventObjectStep(&gEventObjects[sprite->data[0]], sprite, sub_809268C); } -bool8 sub_809268C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_809268C(struct EventObject *eventObject, struct Sprite *sprite) { - return gUnknown_0850DA9C[sprite->data[1]](mapObject, sprite); + return gUnknown_0850DA9C[sprite->data[1]](eventObject, sprite); } -bool8 sub_80926AC (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80926AC (struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); + npc_reset(eventObject, sprite); return FALSE; } -bool8 sub_80926B8 (struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80926B8 (struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { sprite->data[1] = 0; } @@ -4391,57 +4389,57 @@ bool8 sub_80926B8 (struct MapObject *mapObject, struct Sprite *sprite) field_object_step(WalkInPlace1, gUnknown_0850DAA0) -bool8 sub_8092718(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8092718(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay16AnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay16AnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } field_object_step(WalkInPlace4, gUnknown_0850DAA8) -bool8 sub_8092788(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8092788(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay32AnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay32AnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } field_object_step(WalkInPlace2, gUnknown_0850DAB0) -bool8 sub_80927F8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80927F8(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay8AnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay8AnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } field_object_step(WalkInPlace3, gUnknown_0850DAB8) -bool8 sub_8092868(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8092868(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay4AnimId(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } field_object_step(Hidden2, gUnknown_0850DAC0) -bool8 sub_80928D8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80928D8(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(mapObject, sprite); - FieldObjectSetRegularAnim(mapObject, sprite, GetFaceDirectionAnimId(mapObject->facingDirection)); - mapObject->invisible = TRUE; + npc_reset(eventObject, sprite); + EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + eventObject->invisible = TRUE; sprite->data[1] = 1; return TRUE; } -bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_809290C(struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectExecRegularAnim(mapObject, sprite)) + if (EventObjectExecRegularAnim(eventObject, sprite)) { sprite->data[1] = 2; return TRUE; @@ -4449,18 +4447,18 @@ bool8 sub_809290C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_809292C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_809292C(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = FALSE; return FALSE; } -static void npc_reset(struct MapObject *mapObject, struct Sprite *sprite) +static void npc_reset(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->singleMovementActive = FALSE; - mapObject->heldMovementActive = FALSE; - mapObject->heldMovementFinished = FALSE; - mapObject->movementActionId = 0xFF; + eventObject->singleMovementActive = FALSE; + eventObject->heldMovementActive = FALSE; + eventObject->heldMovementFinished = FALSE; + eventObject->movementActionId = 0xFF; sprite->data[1] = 0; } @@ -4470,7 +4468,7 @@ u8 name(u8 direction)\ return table[direction];\ } -dirn2anim(FieldObjectDirectionToImageAnimId, gUnknown_0850DACC) +dirn2anim(EventObjectDirectionToImageAnimId, gUnknown_0850DACC) dirn2anim(get_go_image_anim_num, gUnknown_0850DAD5) dirn2anim(get_go_fast_image_anim_num, gUnknown_0850DADE) dirn2anim(get_go_faster_image_anim_num, gUnknown_0850DAE7) @@ -4500,11 +4498,11 @@ static const struct UnkStruct_085094AC *sub_8092A4C(const union AnimCmd *const * return NULL; } -void npc_apply_anim_looping(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +void npc_apply_anim_looping(struct EventObject *eventObject, struct Sprite *sprite, u8 animNum) { const struct UnkStruct_085094AC *unk85094AC; - if (!mapObject->inanimate) + if (!eventObject->inanimate) { sprite->animNum = animNum; unk85094AC = sub_8092A4C(sprite->anims); @@ -4523,11 +4521,11 @@ void npc_apply_anim_looping(struct MapObject *mapObject, struct Sprite *sprite, } } -void obj_npc_animation_step(struct MapObject *mapObject, struct Sprite *sprite, u8 animNum) +void obj_npc_animation_step(struct EventObject *eventObject, struct Sprite *sprite, u8 animNum) { const struct UnkStruct_085094AC *unk85094AC; - if (!mapObject->inanimate) + if (!eventObject->inanimate) { u8 animPos; @@ -4564,100 +4562,100 @@ u8 sub_8092AF8(s16 x1, s16 y1, s16 x2, s16 y2) return DIR_SOUTH; } -void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 movementType) +void npc_set_running_behaviour_etc(struct EventObject *eventObject, u8 movementType) { - mapObject->movementType = movementType; - mapObject->directionSequenceIndex = 0; - mapObject->playerCopyableMovement = 0; - gSprites[mapObject->spriteId].callback = gUnknown_08505438[movementType]; - gSprites[mapObject->spriteId].data[1] = 0; + eventObject->movementType = movementType; + eventObject->directionSequenceIndex = 0; + eventObject->playerCopyableMovement = 0; + gSprites[eventObject->spriteId].callback = gUnknown_08505438[movementType]; + gSprites[eventObject->spriteId].data[1] = 0; } dirn2anim(npc_running_behaviour_by_direction, gUnknown_0850DB53) -u8 npc_block_way__next_tile(struct MapObject *mapObject, u8 direction) +u8 npc_block_way__next_tile(struct EventObject *eventObject, u8 direction) { s16 x; s16 y; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; MoveCoords(direction, &x, &y); - return npc_block_way(mapObject, x, y, direction); + return npc_block_way(eventObject, x, y, direction); } -u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) +u8 npc_block_way(struct EventObject *eventObject, s16 x, s16 y, u32 dirn) { u8 direction; direction = dirn; - if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) + if (IsCoordOutsideEventObjectMovementRect(eventObject, x, y)) { return 1; } - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction)) { return 2; } - if (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction)) + if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction)) { return 2; } - if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) + if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) { return 3; } - if (CheckForCollisionBetweenFieldObjects(mapObject, x, y)) + if (CheckForCollisionBetweenEventObjects(eventObject, x, y)) { return 4; } return 0; } -u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +u8 sub_8092C8C(struct EventObject *eventObject, s16 x, s16 y, u8 direction) { u8 retval; retval = 0x00; - if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) + if (IsCoordOutsideEventObjectMovementRect(eventObject, x, y)) { retval |= 1; } - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->trackedByCamera && !CanCameraMoveInDirection(direction))) + if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction) || (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction))) { retval |= 2; } - if (IsZCoordMismatchAt(mapObject->currentElevation, x, y)) + if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) { retval |= 4; } - if (CheckForCollisionBetweenFieldObjects(mapObject, x, y)) + if (CheckForCollisionBetweenEventObjects(eventObject, x, y)) { retval |= 8; } return retval; } -static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y) +static bool8 IsCoordOutsideEventObjectMovementRect(struct EventObject *eventObject, s16 x, s16 y) { s16 left; s16 right; s16 top; s16 bottom; - if (mapObject->range.as_nybbles.x != 0) + if (eventObject->range.as_nybbles.x != 0) { - left = mapObject->initialCoords.x - mapObject->range.as_nybbles.x; - right = mapObject->initialCoords.x + mapObject->range.as_nybbles.x; + left = eventObject->initialCoords.x - eventObject->range.as_nybbles.x; + right = eventObject->initialCoords.x + eventObject->range.as_nybbles.x; if (left > x || right < x) { return TRUE; } } - if (mapObject->range.as_nybbles.y != 0) + if (eventObject->range.as_nybbles.y != 0) { - top = mapObject->initialCoords.y - mapObject->range.as_nybbles.y; - bottom = mapObject->initialCoords.y + mapObject->range.as_nybbles.y; + top = eventObject->initialCoords.y - eventObject->range.as_nybbles.y; + bottom = eventObject->initialCoords.y + eventObject->range.as_nybbles.y; if (top > y || bottom < y) { return TRUE; @@ -4666,28 +4664,28 @@ static bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, return FALSE; } -static bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction) +static bool8 IsMetatileDirectionallyImpassable(struct EventObject *eventObject, s16 x, s16 y, u8 direction) { - if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](mapObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](eventObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return TRUE; } return FALSE; } -static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *mapObject, s16 x, s16 y) +static bool8 CheckForCollisionBetweenEventObjects(struct EventObject *eventObject, s16 x, s16 y) { u8 i; - struct MapObject *curObject; + struct EventObject *curObject; - for (i = 0; i < NUM_FIELD_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i ++) { - curObject = &gMapObjects[i]; - if (curObject->active && curObject != mapObject) + curObject = &gEventObjects[i]; + if (curObject->active && curObject != eventObject) { if ((curObject->currentCoords.x == x && curObject->currentCoords.y == y) || (curObject->previousCoords.x == x && curObject->previousCoords.y == y)) { - if (AreZCoordsCompatible(mapObject->currentElevation, curObject->currentElevation)) + if (AreZCoordsCompatible(eventObject->currentElevation, curObject->currentElevation)) { return TRUE; } @@ -4699,9 +4697,9 @@ static bool8 CheckForCollisionBetweenFieldObjects(struct MapObject *mapObject, s bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId) && gSprites[gMapObjects[mapObjectId].spriteId].data[7] & 0x02) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) && gSprites[gEventObjects[eventObjectId].spriteId].data[7] & 0x02) { return TRUE; } @@ -4710,11 +4708,11 @@ bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup) void sub_8092EF0(u8 localId, u8 mapNum, u8 mapGroup) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - gSprites[gMapObjects[mapObjectId].spriteId].data[7] |= 0x04; + gSprites[gEventObjects[eventObjectId].spriteId].data[7] |= 0x04; } } @@ -4803,7 +4801,7 @@ void sub_80930E0(s16 *x, s16 *y, s16 dx, s16 dy) *y += dy; } -static void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) +static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) { *x = 0; *y = 0; @@ -4825,120 +4823,120 @@ static void GetFieldObjectMovingCameraOffset(s16 *x, s16 *y) } } -void FieldObjectMoveDestCoords(struct MapObject *mapObject, u32 dirn, s16 *x, s16 *y) +void EventObjectMoveDestCoords(struct EventObject *eventObject, u32 dirn, s16 *x, s16 *y) { u8 direction; direction = dirn; - *x = mapObject->currentCoords.x; - *y = mapObject->currentCoords.y; + *x = eventObject->currentCoords.x; + *y = eventObject->currentCoords.y; MoveCoords(direction, x, y); } // file boundary? -bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject) +bool8 EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct EventObject *eventObject) { - if (mapObject->singleMovementActive || mapObject->heldMovementActive) + if (eventObject->singleMovementActive || eventObject->heldMovementActive) { return TRUE; } return FALSE; } -bool8 FieldObjectIsSpecialAnimActive(struct MapObject *mapObject) +bool8 EventObjectIsSpecialAnimActive(struct EventObject *eventObject) { - if (mapObject->heldMovementActive && mapObject->movementActionId != 0xFF) + if (eventObject->heldMovementActive && eventObject->movementActionId != 0xFF) { return TRUE; } return FALSE; } -bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) +bool8 EventObjectSetSpecialAnim(struct EventObject *eventObject, u8 specialAnimId) { - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) + if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject)) { return TRUE; } - npc_sync_anim_pause_bits(mapObject); - mapObject->movementActionId = specialAnimId; - mapObject->heldMovementActive = TRUE; - mapObject->heldMovementFinished = FALSE; - gSprites[mapObject->spriteId].data[2] = 0; + npc_sync_anim_pause_bits(eventObject); + eventObject->movementActionId = specialAnimId; + eventObject->heldMovementActive = TRUE; + eventObject->heldMovementFinished = FALSE; + gSprites[eventObject->spriteId].data[2] = 0; return FALSE; } -void FieldObjectForceSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId) +void EventObjectForceSetSpecialAnim(struct EventObject *eventObject, u8 specialAnimId) { - FieldObjectClearAnimIfSpecialAnimActive(mapObject); - FieldObjectSetSpecialAnim(mapObject, specialAnimId); + EventObjectClearAnimIfSpecialAnimActive(eventObject); + EventObjectSetSpecialAnim(eventObject, specialAnimId); } -void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *mapObject) +void EventObjectClearAnimIfSpecialAnimActive(struct EventObject *eventObject) { - if (mapObject->heldMovementActive) + if (eventObject->heldMovementActive) { - FieldObjectClearAnim(mapObject); + EventObjectClearAnim(eventObject); } } -void FieldObjectClearAnim(struct MapObject *mapObject) +void EventObjectClearAnim(struct EventObject *eventObject) { - mapObject->movementActionId = 0xFF; - mapObject->heldMovementActive = FALSE; - mapObject->heldMovementFinished = FALSE; - gSprites[mapObject->spriteId].data[1] = 0; - gSprites[mapObject->spriteId].data[2] = 0; + eventObject->movementActionId = 0xFF; + eventObject->heldMovementActive = FALSE; + eventObject->heldMovementFinished = FALSE; + gSprites[eventObject->spriteId].data[1] = 0; + gSprites[eventObject->spriteId].data[2] = 0; } -u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject) +u8 EventObjectCheckIfSpecialAnimFinishedOrInactive(struct EventObject *eventObject) { - if (mapObject->heldMovementActive) + if (eventObject->heldMovementActive) { - return mapObject->heldMovementFinished; + return eventObject->heldMovementFinished; } return 0x10; } -u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *mapObject) +u8 EventObjectClearAnimIfSpecialAnimFinished(struct EventObject *eventObject) { u8 specialAnimState; - specialAnimState = FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject); + specialAnimState = EventObjectCheckIfSpecialAnimFinishedOrInactive(eventObject); if (specialAnimState != 0 && specialAnimState != 16) { - FieldObjectClearAnimIfSpecialAnimActive(mapObject); + EventObjectClearAnimIfSpecialAnimActive(eventObject); } return specialAnimState; } -u8 FieldObjectGetSpecialAnim(struct MapObject *mapObject) +u8 EventObjectGetSpecialAnim(struct EventObject *eventObject) { - if (mapObject->heldMovementActive) + if (eventObject->heldMovementActive) { - return mapObject->movementActionId; + return eventObject->movementActionId; } return 0xFF; } -void FieldObjectStep(struct MapObject *mapObject, struct Sprite *sprite, bool8 (*callback)(struct MapObject *, struct Sprite *)) +void EventObjectStep(struct EventObject *eventObject, struct Sprite *sprite, bool8 (*callback)(struct EventObject *, struct Sprite *)) { - DoGroundEffects_OnSpawn(mapObject, sprite); - sub_80964E8(mapObject, sprite); - if (FieldObjectIsSpecialAnimActive(mapObject)) + DoGroundEffects_OnSpawn(eventObject, sprite); + sub_80964E8(eventObject, sprite); + if (EventObjectIsSpecialAnimActive(eventObject)) { - FieldObjectExecSpecialAnim(mapObject, sprite); + EventObjectExecSpecialAnim(eventObject, sprite); } - else if (!mapObject->frozen) + else if (!eventObject->frozen) { - while (callback(mapObject, sprite)); + while (callback(eventObject, sprite)); } - DoGroundEffects_OnBeginStep(mapObject, sprite); - DoGroundEffects_OnFinishStep(mapObject, sprite); - npc_obj_transfer_image_anim_pause_flag(mapObject, sprite); - sub_8096518(mapObject, sprite); - FieldObjectUpdateSubpriority(mapObject, sprite); + DoGroundEffects_OnBeginStep(eventObject, sprite); + DoGroundEffects_OnFinishStep(eventObject, sprite); + npc_obj_transfer_image_anim_pause_flag(eventObject, sprite); + sub_8096518(eventObject, sprite); + EventObjectUpdateSubpriority(eventObject, sprite); } #define dirn2anim_2(name, table) \ @@ -4973,9 +4971,9 @@ dirn2anim_2(GetStepInPlaceDelay16AnimId, gUnknown_0850DBE6); dirn2anim_2(GetStepInPlaceDelay8AnimId, gUnknown_0850DBEB); dirn2anim_2(GetStepInPlaceDelay4AnimId, gUnknown_0850DBF0); -bool8 FieldObjectFaceOppositeDirection(struct MapObject *mapObject, u8 direction) +bool8 EventObjectFaceOppositeDirection(struct EventObject *eventObject, u8 direction) { - return FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); + return EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); } dirn2anim_2(sub_8093648, gUnknown_0850DBF5); @@ -5022,141 +5020,141 @@ static u32 state_to_direction(u8 a0, u32 a1, u32 a2) return gUnknown_0850DC3F[a0 - 1][zffuOffset - 1]; } -static void FieldObjectExecSpecialAnim(struct MapObject *mapObject, struct Sprite *sprite) +static void EventObjectExecSpecialAnim(struct EventObject *eventObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) + if (gUnknown_0850DC50[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { - mapObject->heldMovementFinished = TRUE; + eventObject->heldMovementFinished = TRUE; } } -bool8 FieldObjectExecRegularAnim(struct MapObject *mapObject, struct Sprite *sprite) +bool8 EventObjectExecRegularAnim(struct EventObject *eventObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[mapObject->movementActionId][sprite->data[2]](mapObject, sprite)) + if (gUnknown_0850DC50[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { - mapObject->movementActionId = 0xFF; + eventObject->movementActionId = 0xFF; sprite->data[2] = 0; return TRUE; } return FALSE; } -static void FieldObjectSetRegularAnim(struct MapObject *mapObject, struct Sprite *sprite, u8 animId) +static void EventObjectSetRegularAnim(struct EventObject *eventObject, struct Sprite *sprite, u8 animId) { - mapObject->movementActionId = animId; + eventObject->movementActionId = animId; sprite->data[2] = 0; } // file boundary? -void an_look_any(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void an_look_any(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - FieldObjectSetDirection(mapObject, direction); - npc_coords_shift_still(mapObject); - obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + EventObjectSetDirection(eventObject, direction); + npc_coords_shift_still(eventObject); + obj_npc_animation_step(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); sprite->animPaused = TRUE; sprite->data[2] = 1; } -bool8 sub_8093950(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8093950(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_SOUTH); + an_look_any(eventObject, sprite, DIR_SOUTH); return TRUE; } -bool8 sub_8093960(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8093960(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_NORTH); + an_look_any(eventObject, sprite, DIR_NORTH); return TRUE; } -bool8 sub_8093970(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8093970(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_WEST); + an_look_any(eventObject, sprite, DIR_WEST); return TRUE; } -bool8 sub_8093980(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8093980(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, DIR_EAST); + an_look_any(eventObject, sprite, DIR_EAST); return TRUE; } -void npc_apply_direction(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +void npc_apply_direction(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { s16 x; s16 y; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; - FieldObjectSetDirection(mapObject, direction); + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; + EventObjectSetDirection(eventObject, direction); MoveCoords(direction, &x, &y); - npc_coords_shift(mapObject, x, y); + npc_coords_shift(eventObject, x, y); oamt_npc_ministep_reset(sprite, direction, speed); sprite->animPaused = FALSE; - if (gUnknown_020375B8 != NULL && sub_8097F78(mapObject) != 0x10) + if (gUnknown_020375B8 != NULL && sub_8097F78(eventObject) != 0x10) { sprite->animPaused = TRUE; } - mapObject->triggerGroundEffectsOnMove = TRUE; + eventObject->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void do_go_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +void do_go_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { u8 (*functions[ARRAY_COUNT(gUnknown_0850DEE8)])(u8); memcpy(functions, gUnknown_0850DEE8, sizeof gUnknown_0850DEE8); - npc_apply_direction(mapObject, sprite, direction, speed); - npc_apply_anim_looping(mapObject, sprite, functions[speed](mapObject->facingDirection)); + npc_apply_direction(eventObject, sprite, direction, speed); + npc_apply_anim_looping(eventObject, sprite, functions[speed](eventObject->facingDirection)); } -void do_run_anim(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void do_run_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - npc_apply_direction(mapObject, sprite, direction, 1); - npc_apply_anim_looping(mapObject, sprite, get_run_image_anim_num(mapObject->facingDirection)); + npc_apply_direction(eventObject, sprite, direction, 1); + npc_apply_anim_looping(eventObject, sprite, get_run_image_anim_num(eventObject->facingDirection)); } -bool8 npc_obj_ministep_stop_on_arrival(struct MapObject *mapObject, struct Sprite *sprite) +bool8 npc_obj_ministep_stop_on_arrival(struct EventObject *eventObject, struct Sprite *sprite) { if (obj_npc_ministep(sprite)) { - npc_coords_shift_still(mapObject); - mapObject->triggerGroundEffectsOnStop = TRUE; + npc_coords_shift_still(eventObject); + eventObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } return FALSE; } -void sub_8093AF0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_8093AF0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { s16 x; s16 y; - x = mapObject->currentCoords.x; - y = mapObject->currentCoords.y; - FieldObjectSetDirection(mapObject, direction); + x = eventObject->currentCoords.x; + y = eventObject->currentCoords.y; + EventObjectSetDirection(eventObject, direction); MoveCoords(direction, &x, &y); - npc_coords_shift(mapObject, x, y); + npc_coords_shift(eventObject, x, y); sub_80976DC(sprite, direction); sprite->animPaused = FALSE; - mapObject->triggerGroundEffectsOnMove = TRUE; + eventObject->triggerGroundEffectsOnMove = TRUE; sprite->data[2] = 1; } -void sub_8093B60(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_8093B60(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - sub_8093AF0(mapObject, sprite, direction); - npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + sub_8093AF0(eventObject, sprite, direction); + npc_apply_anim_looping(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); } -bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) +bool8 an_walk_any_2(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_80976EC(sprite)) { - npc_coords_shift_still(mapObject); - mapObject->triggerGroundEffectsOnStop = TRUE; + npc_coords_shift_still(eventObject); + eventObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } @@ -5164,15 +5162,15 @@ bool8 an_walk_any_2(struct MapObject *mapObject, struct Sprite *sprite) } #define an_walk_any_2_macro(name, fn1, fn2, ...) \ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *, struct Sprite *);\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - fn1(mapObject, sprite, __VA_ARGS__);\ - return name##_2(mapObject, sprite);\ + fn1(eventObject, sprite, __VA_ARGS__);\ + return name##_2(eventObject, sprite);\ }\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - if (fn2(mapObject, sprite))\ + if (fn2(eventObject, sprite))\ {\ sprite->data[2] = 2;\ return TRUE;\ @@ -5197,7 +5195,7 @@ an_walk_any_2_macro(sub_8093F04, do_go_anim, npc_obj_ministep_stop_on_arrival, 2 an_walk_any_2_macro(sub_8093F44, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 0) an_walk_any_2_macro(sub_8093F84, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 0) -void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) +void sub_8093FC4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) { s16 displacements[ARRAY_COUNT(gUnknown_0850DFBC)]; s16 x; @@ -5206,24 +5204,24 @@ void sub_8093FC4(struct MapObject *mapObject, struct Sprite *sprite, u8 directio memcpy(displacements, gUnknown_0850DFBC, sizeof gUnknown_0850DFBC); x = 0; y = 0; - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]); - npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); + npc_coords_shift(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); sub_809783C(sprite, direction, speed, a5); sprite->data[2] = 1; sprite->animPaused = 0; - mapObject->triggerGroundEffectsOnMove = 1; - mapObject->disableCoveringGroundEffects = 1; + eventObject->triggerGroundEffectsOnMove = 1; + eventObject->disableCoveringGroundEffects = 1; } -void maybe_shadow_1(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +void maybe_shadow_1(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { - sub_8093FC4(mapObject, sprite, direction, speed, a4); - npc_apply_anim_looping(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); - DoShadowFieldEffect(mapObject); + sub_8093FC4(eventObject, sprite, direction, speed, a4); + npc_apply_anim_looping(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); + DoShadowFieldEffect(eventObject); } -u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(struct Sprite *)) +u8 sub_80940C4(struct EventObject *eventObject, struct Sprite *sprite, u8 callback(struct Sprite *)) { s16 displacements[ARRAY_COUNT(gUnknown_0850DFC2)]; s16 x; @@ -5236,75 +5234,75 @@ u8 sub_80940C4(struct MapObject *mapObject, struct Sprite *sprite, u8 callback(s { x = 0; y = 0; - sub_8092F88(mapObject->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); - npc_coords_shift(mapObject, mapObject->currentCoords.x + x, mapObject->currentCoords.y + y); - mapObject->triggerGroundEffectsOnMove = TRUE; - mapObject->disableCoveringGroundEffects = TRUE; + sub_8092F88(eventObject->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); + npc_coords_shift(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); + eventObject->triggerGroundEffectsOnMove = TRUE; + eventObject->disableCoveringGroundEffects = TRUE; } else if (result == 0xFF) { - npc_coords_shift_still(mapObject); - mapObject->triggerGroundEffectsOnStop = TRUE; - mapObject->landingJump = TRUE; + npc_coords_shift_still(eventObject); + eventObject->triggerGroundEffectsOnStop = TRUE; + eventObject->landingJump = TRUE; sprite->animPaused = TRUE; } return result; } -u8 sub_8094188(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8094188(struct EventObject *eventObject, struct Sprite *sprite) { - return sub_80940C4(mapObject, sprite, sub_809785C); + return sub_80940C4(eventObject, sprite, sub_809785C); } -u8 sub_809419C(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_809419C(struct EventObject *eventObject, struct Sprite *sprite) { - return sub_80940C4(mapObject, sprite, sub_80978E4); + return sub_80940C4(eventObject, sprite, sub_80978E4); } -bool8 sub_80941B0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80941B0(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8094188(mapObject, sprite) == 0xFF) + if (sub_8094188(eventObject, sprite) == 0xFF) { return TRUE; } return FALSE; } -bool8 sub_80941C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80941C8(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_809419C(mapObject, sprite) == 0xFF) + if (sub_809419C(eventObject, sprite) == 0xFF) { return TRUE; } return FALSE; } -bool8 sub_80941E0(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80941E0(struct EventObject *eventObject, struct Sprite *sprite) { - switch (sub_8094188(mapObject, sprite)) + switch (sub_8094188(eventObject, sprite)) { case 255: return TRUE; case 1: - FieldObjectSetDirection(mapObject, GetOppositeDirection(mapObject->movementDirection)); - obj_npc_animation_step(mapObject, sprite, get_go_image_anim_num(mapObject->facingDirection)); + EventObjectSetDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + obj_npc_animation_step(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); default: return FALSE; } } #define maybe_shadow_1_macro(name, fn1, fn2, ...) \ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *, struct Sprite *);\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - fn1(mapObject, sprite, __VA_ARGS__);\ - return name##_2(mapObject, sprite);\ + fn1(eventObject, sprite, __VA_ARGS__);\ + return name##_2(eventObject, sprite);\ }\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - if (fn2(mapObject, sprite))\ + if (fn2(eventObject, sprite))\ {\ - mapObject->hasShadow = FALSE;\ + eventObject->hasShadow = FALSE;\ sprite->data[2] = 2;\ return TRUE;\ }\ @@ -5322,7 +5320,7 @@ void sub_8094390(struct Sprite *sprite, u16 duration) sprite->data[3] = duration; } -bool8 sub_8094398(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8094398(struct EventObject *eventObject, struct Sprite *sprite) { if (-- sprite->data[3] == 0) { @@ -5333,10 +5331,10 @@ bool8 sub_8094398(struct MapObject *mapObject, struct Sprite *sprite) } #define special_anim_with_timer(name, duration)\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ sub_8094390(sprite, duration);\ - return sub_8094398(mapObject, sprite);\ + return sub_8094398(eventObject, sprite);\ } special_anim_with_timer(sub_80943B4, 1) @@ -5350,16 +5348,16 @@ an_walk_any_2_macro(sub_8094494, do_go_anim, npc_obj_ministep_stop_on_arrival, 2 an_walk_any_2_macro(sub_80944D4, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 1) an_walk_any_2_macro(sub_8094514, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 1) -void sub_8094554(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +void sub_8094554(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) { - FieldObjectSetDirection(mapObject, direction); - npc_apply_anim_looping(mapObject, sprite, animNum); + EventObjectSetDirection(eventObject, direction); + npc_apply_anim_looping(eventObject, sprite, animNum); sprite->animPaused = FALSE; sprite->data[2] = 1; sprite->data[3] = duration; } -bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_809459C(struct EventObject *eventObject, struct Sprite *sprite) { if (-- sprite->data[3] == 0) { @@ -5370,22 +5368,22 @@ bool8 sub_809459C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80945C4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80945C4(struct EventObject *eventObject, struct Sprite *sprite) { if (sprite->data[3] & 1) { sprite->animDelayCounter ++; } - return sub_809459C(mapObject, sprite); + return sub_809459C(eventObject, sprite); } #define special_anim_with_timer_2(name, direction, images, duration, timer) \ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ u8 animId;\ animId = images(DIR_##direction);\ - sub_8094554(mapObject, sprite, DIR_##direction, animId, duration);\ - return timer(mapObject, sprite);\ + sub_8094554(eventObject, sprite, DIR_##direction, animId, duration);\ + return timer(eventObject, sprite);\ } special_anim_with_timer_2(sub_8094600, SOUTH, get_go_image_anim_num, 32, sub_80945C4) @@ -5422,20 +5420,20 @@ an_walk_any_2_macro(sub_8094CC0, do_run_anim, npc_obj_ministep_stop_on_arrival, an_walk_any_2_macro(sub_8094D00, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST) an_walk_any_2_macro(sub_8094D40, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST) -void npc_set_direction_and_anim__an_proceed(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 animNum) +void npc_set_direction_and_anim__an_proceed(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum) { obj_anim_image_set_and_seek(sprite, animNum, 0); - FieldObjectSetDirection(mapObject, direction); + EventObjectSetDirection(eventObject, direction); sprite->data[2] = 1; } -bool8 sub_8094DAC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8094DAC(struct EventObject *eventObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, mapObject->movementDirection, sprite->animNum); + npc_set_direction_and_anim__an_proceed(eventObject, sprite, eventObject->movementDirection, sprite->animNum); return FALSE; } -bool8 sub_8094DC4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8094DC4(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_80979BC(sprite)) { @@ -5445,25 +5443,25 @@ bool8 sub_8094DC4(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -void sub_8094DE4(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +void sub_8094DE4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - sub_8093FC4(mapObject, sprite, direction, 1, 0); + sub_8093FC4(eventObject, sprite, direction, 1, 0); StartSpriteAnim(sprite, sub_80929AC(direction)); } #define unk_macro_8094E18(name, direction)\ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *, struct Sprite *);\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - sub_8094DE4(mapObject, sprite, direction);\ - return name##_2(mapObject, sprite);\ + sub_8094DE4(eventObject, sprite, direction);\ + return name##_2(eventObject, sprite);\ }\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - if (sub_80941C8(mapObject, sprite))\ + if (sub_80941C8(eventObject, sprite))\ {\ sprite->data[2] = 2;\ - mapObject->landingJump = FALSE;\ + eventObject->landingJump = FALSE;\ return TRUE;\ }\ return FALSE;\ @@ -5474,40 +5472,40 @@ unk_macro_8094E18(sub_8094E60, DIR_NORTH) unk_macro_8094E18(sub_8094EB8, DIR_WEST) unk_macro_8094E18(sub_8094710, DIR_EAST) -bool8 sub_8094F38(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8094F38(struct EventObject *eventObject, struct Sprite *sprite) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &eventObjectId)) { - an_look_any(mapObject, sprite, sub_8092AF8(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[mapObjectId].currentCoords.x, gMapObjects[mapObjectId].currentCoords.y)); + an_look_any(eventObject, sprite, sub_8092AF8(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[eventObjectId].currentCoords.x, gEventObjects[eventObjectId].currentCoords.y)); } sprite->data[2] = 1; return TRUE; } -bool8 sub_8094F94(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8094F94(struct EventObject *eventObject, struct Sprite *sprite) { - u8 mapObjectId; + u8 eventObjectId; - if (!TryGetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0, &mapObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &eventObjectId)) { - an_look_any(mapObject, sprite, GetOppositeDirection(sub_8092AF8(mapObject->currentCoords.x, mapObject->currentCoords.y, gMapObjects[mapObjectId].currentCoords.x, gMapObjects[mapObjectId].currentCoords.y))); + an_look_any(eventObject, sprite, GetOppositeDirection(sub_8092AF8(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[eventObjectId].currentCoords.x, gEventObjects[eventObjectId].currentCoords.y))); } sprite->data[2] = 1; return TRUE; } -bool8 sub_8094FF8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8094FF8(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->facingDirectionLocked = TRUE; + eventObject->facingDirectionLocked = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 sub_8095008(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095008(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->facingDirectionLocked = FALSE; + eventObject->facingDirectionLocked = FALSE; sprite->data[2] = 1; return TRUE; } @@ -5525,104 +5523,104 @@ maybe_shadow_1_macro(sub_8095330, maybe_shadow_1, sub_80941E0, DIR_NORTH, 0, 2) maybe_shadow_1_macro(sub_8095388, maybe_shadow_1, sub_80941E0, DIR_WEST, 0, 2) maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2) -bool8 sub_8095438(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095438(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(mapObject, sprite, gInitialMovementTypeFacingDirections[mapObject->movementType]); + an_look_any(eventObject, sprite, gInitialMovementTypeFacingDirections[eventObject->movementType]); return TRUE; } -bool8 sub_8095450(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095450(struct EventObject *eventObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(mapObject, sprite, DIR_SOUTH, 0x14); + npc_set_direction_and_anim__an_proceed(eventObject, sprite, DIR_SOUTH, 0x14); return FALSE; } -bool8 sub_8095460(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095460(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->disableJumpLandingGroundEffect = FALSE; + eventObject->disableJumpLandingGroundEffect = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 sub_8095470(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095470(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->disableJumpLandingGroundEffect = TRUE; + eventObject->disableJumpLandingGroundEffect = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 sub_8095480(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095480(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->inanimate = TRUE; + eventObject->inanimate = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 sub_8095490(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095490(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; + eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; sprite->data[2] = 1; return TRUE; } -bool8 sub_80954BC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80954BC(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible = TRUE; + eventObject->invisible = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 sub_80954CC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80954CC(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible = FALSE; + eventObject->invisible = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite) +bool8 do_exclamation_mark_bubble_1(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); sprite->data[2] = 1; return TRUE; } -bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite) +bool8 do_exclamation_mark_bubble_2(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); sprite->data[2] = 1; return TRUE; } -bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite) +bool8 do_heart_bubble(struct EventObject *eventObject, struct Sprite *sprite) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_HEART_ICON); sprite->data[2] = 1; return TRUE; } -bool8 sub_8095548(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095548(struct EventObject *eventObject, struct Sprite *sprite) { - if (mapObject->movementType == 0x3F) + if (eventObject->movementType == 0x3F) { - sub_80B4578(mapObject); + sub_80B4578(eventObject); return FALSE; } - if (mapObject->movementType != 0x39 && mapObject->movementType != 0x3A) + if (eventObject->movementType != 0x39 && eventObject->movementType != 0x3A) { sprite->data[2] = 2; return TRUE; } - sub_8155D78(mapObject); + sub_8155D78(eventObject); sprite->data[2] = 1; - return sub_809558C(mapObject, sprite); + return sub_809558C(eventObject, sprite); } -bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_809558C(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8155DA0(mapObject)) + if (sub_8155DA0(eventObject)) { sprite->data[2] = 2; return TRUE; @@ -5630,77 +5628,77 @@ bool8 sub_809558C(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80955AC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80955AC(struct EventObject *eventObject, struct Sprite *sprite) { obj_anim_image_set_and_seek(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 sub_80955C8(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80955C8(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_80979BC(sprite)) { - SetFieldObjectStepTimer(sprite, 32); + SetEventObjectStepTimer(sprite, 32); sprite->data[2] = 2; } return FALSE; } -bool8 sub_80955EC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80955EC(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible ^= TRUE; - if (RunFieldObjectStepTimer(sprite)) + eventObject->invisible ^= TRUE; + if (RunEventObjectStepTimer(sprite)) { - mapObject->invisible = TRUE; + eventObject->invisible = TRUE; sprite->data[2] = 3; } return FALSE; } -bool8 sub_8095628(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095628(struct EventObject *eventObject, struct Sprite *sprite) { obj_anim_image_set_and_seek(sprite, 1, 0); sprite->data[2] = 1; return FALSE; } -bool8 sub_8095644(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095644(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_80979BC(sprite)) { - SetFieldObjectStepTimer(sprite, 32); + SetEventObjectStepTimer(sprite, 32); sprite->data[2] = 2; } return FALSE; } -bool8 sub_8095668(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095668(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->invisible ^= TRUE; - if (RunFieldObjectStepTimer(sprite)) + eventObject->invisible ^= TRUE; + if (RunEventObjectStepTimer(sprite)) { - mapObject->invisible = TRUE; + eventObject->invisible = TRUE; sprite->data[2] = 3; } return FALSE; } -bool8 sub_80956A4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80956A4(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->fixedPriority = TRUE; + eventObject->fixedPriority = TRUE; sprite->data[2] = 1; return TRUE; } -bool8 sub_80956B4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80956B4(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->fixedPriority = FALSE; + eventObject->fixedPriority = FALSE; sprite->data[2] = 1; return TRUE; } -bool8 sub_80956C4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80956C4(struct EventObject *eventObject, struct Sprite *sprite) { sprite->oam.affineMode = 3; InitSpriteAffineAnim(sprite); @@ -5709,7 +5707,7 @@ bool8 sub_80956C4(struct MapObject *mapObject, struct Sprite *sprite) return TRUE; } -bool8 sub_80956F4(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80956F4(struct EventObject *eventObject, struct Sprite *sprite) { FreeOamMatrix(sprite->oam.matrixNum); sprite->oam.affineMode = 0; @@ -5717,30 +5715,30 @@ bool8 sub_80956F4(struct MapObject *mapObject, struct Sprite *sprite) return TRUE; } -bool8 sub_8095724(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095724(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->unk3_3 = TRUE; + eventObject->unk3_3 = TRUE; return TRUE; } -bool8 sub_8095730(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095730(struct EventObject *eventObject, struct Sprite *sprite) { - mapObject->unk3_3 = FALSE; + eventObject->unk3_3 = FALSE; return TRUE; } #define affine_an_walk_any_2_macro(name, fn, fn2, action, anim, ...)\ -bool8 name##_2(struct MapObject *, struct Sprite *);\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *, struct Sprite *);\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - fn(mapObject, sprite, __VA_ARGS__);\ + fn(eventObject, sprite, __VA_ARGS__);\ sprite->affineAnimPaused = FALSE;\ action(sprite, anim);\ - return name##_2(mapObject, sprite);\ + return name##_2(eventObject, sprite);\ }\ -bool8 name##_2(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - if (fn2(mapObject, sprite))\ + if (fn2(eventObject, sprite))\ {\ sprite->affineAnimPaused = TRUE;\ sprite->data[2] = 2;\ @@ -5754,43 +5752,43 @@ affine_an_walk_any_2_macro(sub_80957A0, sub_8093B60, an_walk_any_2, ChangeSprite affine_an_walk_any_2_macro(sub_8095800, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 2, DIR_WEST, 1) affine_an_walk_any_2_macro(sub_8095860, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 3, DIR_EAST, 1) -static void sub_80958C0(struct MapObject *mapObject, struct Sprite *sprite, u8 direction) +static void sub_80958C0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - FieldObjectSetDirection(mapObject, direction); - npc_coords_shift_still(mapObject); - obj_npc_animation_step(mapObject, sprite, sub_80929FC(direction)); + EventObjectSetDirection(eventObject, direction); + npc_coords_shift_still(eventObject); + obj_npc_animation_step(eventObject, sprite, sub_80929FC(direction)); sprite->animPaused = TRUE; sprite->data[2] = 1; } -bool8 sub_8095900(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095900(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(mapObject, sprite, DIR_SOUTH); + sub_80958C0(eventObject, sprite, DIR_SOUTH); return TRUE; } -bool8 sub_8095910(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095910(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(mapObject, sprite, DIR_NORTH); + sub_80958C0(eventObject, sprite, DIR_NORTH); return TRUE; } -bool8 sub_8095920(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095920(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(mapObject, sprite, DIR_WEST); + sub_80958C0(eventObject, sprite, DIR_WEST); return TRUE; } -bool8 sub_8095930(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095930(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(mapObject, sprite, DIR_EAST); + sub_80958C0(eventObject, sprite, DIR_EAST); return TRUE; } #define set_dirn_and_anim__an_proceed(name, direction, anims)\ -bool8 name(struct MapObject *mapObject, struct Sprite *sprite)\ +bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ {\ - npc_set_direction_and_anim__an_proceed(mapObject, sprite, direction, anims(direction));\ + npc_set_direction_and_anim__an_proceed(eventObject, sprite, direction, anims(direction));\ return FALSE;\ } @@ -5807,34 +5805,34 @@ set_dirn_and_anim__an_proceed(sub_8095A84, DIR_NORTH, sub_80929EC) set_dirn_and_anim__an_proceed(sub_8095AA8, DIR_WEST, sub_80929EC) set_dirn_and_anim__an_proceed(sub_8095ACC, DIR_EAST, sub_80929EC) -void sub_8095AF0(struct MapObject *mapObject, struct Sprite *sprite) +void sub_8095AF0(struct EventObject *eventObject, struct Sprite *sprite) { sub_8097750(sprite); sprite->animPaused = FALSE; } -bool8 sub_8095B0C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095B0C(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_8097758(sprite)) { - npc_coords_shift_still(mapObject); - mapObject->triggerGroundEffectsOnStop = TRUE; + npc_coords_shift_still(eventObject); + eventObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; } return FALSE; } -bool8 sub_8095B44(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095B44(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8095AF0(mapObject, sprite); + sub_8095AF0(eventObject, sprite); sprite->data[2] = 1; - return sub_8095B64(mapObject, sprite); + return sub_8095B64(eventObject, sprite); } -bool8 sub_8095B64(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8095B64(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8095B0C(mapObject, sprite)) + if (sub_8095B0C(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5842,11 +5840,11 @@ bool8 sub_8095B64(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -void sub_8095B84(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +void sub_8095B84(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { - sub_8093FC4(mapObject, sprite, direction, speed, a4); + sub_8093FC4(eventObject, sprite, direction, speed, a4); StartSpriteAnimIfDifferent(sprite, sub_80929BC(direction)); - DoShadowFieldEffect(mapObject); + DoShadowFieldEffect(eventObject); } maybe_shadow_1_macro(sub_8095BC8, sub_8095B84, sub_80941B0, DIR_SOUTH, 0, 1) @@ -5867,10 +5865,10 @@ special_anim_with_timer_2(sub_8096020, NORTH, sub_80929FC, 8, sub_809459C) special_anim_with_timer_2(sub_8096058, WEST, sub_80929FC, 8, sub_809459C) special_anim_with_timer_2(sub_8096090, EAST, sub_80929FC, 8, sub_809459C) -void sub_80960C8(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +void sub_80960C8(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(mapObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929BC(mapObject->facingDirection)); + npc_apply_direction(eventObject, sprite, direction, speed); + StartSpriteAnim(sprite, sub_80929BC(eventObject->facingDirection)); SeekSpriteAnim(sprite, 0); } @@ -5879,10 +5877,10 @@ an_walk_any_2_macro(sub_8096140, sub_80960C8, npc_obj_ministep_stop_on_arrival, an_walk_any_2_macro(sub_8096180, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) an_walk_any_2_macro(sub_80961C0, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) -void sub_8096200(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +void sub_8096200(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(mapObject, sprite, direction, speed); - npc_apply_anim_looping(mapObject, sprite, sub_80929FC(mapObject->facingDirection)); + npc_apply_direction(eventObject, sprite, direction, speed); + npc_apply_anim_looping(eventObject, sprite, sub_80929FC(eventObject->facingDirection)); } an_walk_any_2_macro(sub_8096230, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) @@ -5890,10 +5888,10 @@ an_walk_any_2_macro(sub_8096270, sub_8096200, npc_obj_ministep_stop_on_arrival, an_walk_any_2_macro(sub_80962B0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) an_walk_any_2_macro(sub_80962F0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) -void sub_8096330(struct MapObject *mapObject, struct Sprite *sprite, u8 direction, u8 speed) +void sub_8096330(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - npc_apply_direction(mapObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929DC(mapObject->facingDirection)); + npc_apply_direction(eventObject, sprite, direction, speed); + StartSpriteAnim(sprite, sub_80929DC(eventObject->facingDirection)); SeekSpriteAnim(sprite, 0); } an_walk_any_2_macro(sub_8096368, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) @@ -5901,77 +5899,77 @@ an_walk_any_2_macro(sub_80963A8, sub_8096330, npc_obj_ministep_stop_on_arrival, an_walk_any_2_macro(sub_80963E8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) -bool8 sub_8096468(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8096468(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8097FA4(mapObject); + sub_8097FA4(eventObject); sprite->data[2] = 1; return TRUE; } -bool8 sub_809647C(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_809647C(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8098044(mapObject->warpArrowSpriteId); + sub_8098044(eventObject->warpArrowSpriteId); sprite->pos2.y = 0; sprite->data[2] = 1; return TRUE; } -bool8 sub_8096494(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_8096494(struct EventObject *eventObject, struct Sprite *sprite) { if (sprite->pos2.y == 0) { - sub_8098044(mapObject->warpArrowSpriteId); + sub_8098044(eventObject->warpArrowSpriteId); sprite->data[2] = 1; return TRUE; } return FALSE; } -u8 sub_80964B8(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_80964B8(struct EventObject *eventObject, struct Sprite *sprite) { return TRUE; } -bool8 sub_80964BC(struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80964BC(struct EventObject *eventObject, struct Sprite *sprite) { sprite->animPaused = TRUE; return TRUE; } -void npc_obj_transfer_image_anim_pause_flag(struct MapObject *mapObject, struct Sprite *sprite) +void npc_obj_transfer_image_anim_pause_flag(struct EventObject *eventObject, struct Sprite *sprite) { - if (mapObject->disableAnim) + if (eventObject->disableAnim) { sprite->animPaused = TRUE; } } -void sub_80964E8(struct MapObject *mapObject, struct Sprite *sprite) +void sub_80964E8(struct EventObject *eventObject, struct Sprite *sprite) { - if (mapObject->enableAnim) + if (eventObject->enableAnim) { sprite->animPaused = FALSE; - mapObject->disableAnim = FALSE; - mapObject->enableAnim = FALSE; + eventObject->disableAnim = FALSE; + eventObject->enableAnim = FALSE; } } -static void sub_8096518(struct MapObject *mapObject, struct Sprite *sprite) +static void sub_8096518(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8096530(mapObject, sprite); - npc_update_obj_anim_flag(mapObject, sprite); + sub_8096530(eventObject, sprite); + npc_update_obj_anim_flag(eventObject, sprite); } -static void sub_8096530(struct MapObject *mapObject, struct Sprite *sprite) +static void sub_8096530(struct EventObject *eventObject, struct Sprite *sprite) { u16 x; u16 y; u16 x2; u16 y2; - const struct MapObjectGraphicsInfo *graphicsInfo; + const struct EventObjectGraphicsInfo *graphicsInfo; - mapObject->offScreen = FALSE; - graphicsInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + eventObject->offScreen = FALSE; + graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); if (sprite->coordOffsetEnabled) { x = sprite->pos1.x + sprite->pos2.x + sprite->centerToCornerVecX + gSpriteCoordOffsetX; @@ -5988,26 +5986,26 @@ static void sub_8096530(struct MapObject *mapObject, struct Sprite *sprite) y2 += graphicsInfo->height; if ((s16)x >= 0x100 || (s16)x2 < -0x10) { - mapObject->offScreen = TRUE; + eventObject->offScreen = TRUE; } if ((s16)y >= 0xB0 || (s16)y2 < -0x10) { - mapObject->offScreen = TRUE; + eventObject->offScreen = TRUE; } } -static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite *sprite) +static void npc_update_obj_anim_flag(struct EventObject *eventObject, struct Sprite *sprite) { sprite->invisible = FALSE; - if (mapObject->invisible || mapObject->offScreen) + if (eventObject->invisible || eventObject->offScreen) { sprite->invisible = TRUE; } } -/*static*/ void GetAllGroundEffectFlags_OnSpawn(struct MapObject *eventObj, u32 *flags) +/*static*/ void GetAllGroundEffectFlags_OnSpawn(struct EventObject *eventObj, u32 *flags) { - FieldObjectUpdateMetatileBehaviors(eventObj); + EventObjectUpdateMetatileBehaviors(eventObj); GetGroundEffectFlags_Reflection(eventObj, flags); GetGroundEffectFlags_TallGrassOnSpawn(eventObj, flags); GetGroundEffectFlags_LongGrassOnSpawn(eventObj, flags); @@ -6017,9 +6015,9 @@ static void npc_update_obj_anim_flag(struct MapObject *mapObject, struct Sprite GetGroundEffectFlags_HotSprings(eventObj, flags); } -static void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *eventObj, u32 *flags) +static void GetAllGroundEffectFlags_OnBeginStep(struct EventObject *eventObj, u32 *flags) { - FieldObjectUpdateMetatileBehaviors(eventObj); + EventObjectUpdateMetatileBehaviors(eventObj); GetGroundEffectFlags_Reflection(eventObj, flags); GetGroundEffectFlags_TallGrassOnBeginStep(eventObj, flags); GetGroundEffectFlags_LongGrassOnBeginStep(eventObj, flags); @@ -6031,9 +6029,9 @@ static void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *eventObj, u32 GetGroundEffectFlags_HotSprings(eventObj, flags); } -/*static*/ void GetAllGroundEffectFlags_OnFinishStep(struct MapObject *eventObj, u32 *flags) +/*static*/ void GetAllGroundEffectFlags_OnFinishStep(struct EventObject *eventObj, u32 *flags) { - FieldObjectUpdateMetatileBehaviors(eventObj); + EventObjectUpdateMetatileBehaviors(eventObj); GetGroundEffectFlags_ShallowFlowingWater(eventObj, flags); GetGroundEffectFlags_SandHeap(eventObj, flags); GetGroundEffectFlags_Puddle(eventObj, flags); @@ -6044,16 +6042,16 @@ static void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *eventObj, u32 GetGroundEffectFlags_JumpLanding(eventObj, flags); } -static void FieldObjectUpdateMetatileBehaviors(struct MapObject *eventObj) +static void EventObjectUpdateMetatileBehaviors(struct EventObject *eventObj) { eventObj->previousMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->previousCoords.x, eventObj->previousCoords.y); eventObj->currentMetatileBehavior = MapGridGetMetatileBehaviorAt(eventObj->currentCoords.x, eventObj->currentCoords.y); } -static void GetGroundEffectFlags_Reflection(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Reflection(struct EventObject *eventObj, u32 *flags) { u32 reflectionFlags[2] = { GROUND_EFFECT_FLAG_REFLECTION, GROUND_EFFECT_FLAG_ICE_REFLECTION }; - u8 type = FieldObjectCheckForReflectiveSurface(eventObj); + u8 type = EventObjectCheckForReflectiveSurface(eventObj); if (type) { @@ -6070,31 +6068,31 @@ static void GetGroundEffectFlags_Reflection(struct MapObject *eventObj, u32 *fla } } -static void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN; } -static void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsTallGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE; } -static void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN; } -static void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsLongGrass(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE; } -static void GetGroundEffectFlags_Tracks(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Tracks(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) { @@ -6107,7 +6105,7 @@ static void GetGroundEffectFlags_Tracks(struct MapObject *eventObj, u32 *flags) } } -static void GetGroundEffectFlags_SandHeap(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_SandHeap(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsDeepSand(eventObj->currentMetatileBehavior) && MetatileBehavior_IsDeepSand(eventObj->previousMetatileBehavior)) @@ -6125,7 +6123,7 @@ static void GetGroundEffectFlags_SandHeap(struct MapObject *eventObj, u32 *flags } } -static void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *eventObj, u32 *flags) { if ((MetatileBehavior_IsShallowFlowingWater(eventObj->currentMetatileBehavior) && MetatileBehavior_IsShallowFlowingWater(eventObj->previousMetatileBehavior)) @@ -6145,7 +6143,7 @@ static void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *eventObj, } } -static void GetGroundEffectFlags_Puddle(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Puddle(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsPuddle(eventObj->currentMetatileBehavior) && MetatileBehavior_IsPuddle(eventObj->previousMetatileBehavior)) @@ -6154,13 +6152,13 @@ static void GetGroundEffectFlags_Puddle(struct MapObject *eventObj, u32 *flags) } } -static void GetGroundEffectFlags_Ripple(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Ripple(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_HasRipples(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_RIPPLES; } -static void GetGroundEffectFlags_ShortGrass(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_ShortGrass(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsShortGrass(eventObj->currentMetatileBehavior) && MetatileBehavior_IsShortGrass(eventObj->previousMetatileBehavior)) @@ -6178,7 +6176,7 @@ static void GetGroundEffectFlags_ShortGrass(struct MapObject *eventObj, u32 *fla } } -static void GetGroundEffectFlags_HotSprings(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_HotSprings(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsHotSprings(eventObj->currentMetatileBehavior) && MetatileBehavior_IsHotSprings(eventObj->previousMetatileBehavior)) @@ -6196,13 +6194,13 @@ static void GetGroundEffectFlags_HotSprings(struct MapObject *eventObj, u32 *fla } } -static void GetGroundEffectFlags_Seaweed(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_Seaweed(struct EventObject *eventObj, u32 *flags) { if (MetatileBehavior_IsSeaweed(eventObj->currentMetatileBehavior)) *flags |= GROUND_EFFECT_FLAG_SEAWEED; } -static void GetGroundEffectFlags_JumpLanding(struct MapObject *eventObj, u32 *flags) +static void GetGroundEffectFlags_JumpLanding(struct EventObject *eventObj, u32 *flags) { typedef bool8 (*MetatileFunc)(u8); @@ -6239,9 +6237,9 @@ static void GetGroundEffectFlags_JumpLanding(struct MapObject *eventObj, u32 *fl } } -static u8 FieldObjectCheckForReflectiveSurface(struct MapObject *eventObj) +static u8 EventObjectCheckForReflectiveSurface(struct EventObject *eventObj) { - const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); + const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); // ceil div by tile width? s16 width = (info->width + 8) >> 4; @@ -6311,7 +6309,7 @@ u8 GetLedgeJumpDirection(s16 x, s16 y, u8 z) return 0; } -void FieldObjectSetSpriteOamTableForLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +void EventObjectSetSpriteOamTableForLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { if (eventObj->disableCoveringGroundEffects) return; @@ -6364,12 +6362,12 @@ static const u8 sEventObjectPriorities_08376070[] = { 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1, }; -void FieldObjectUpdateZCoordAndPriority(struct MapObject *eventObj, struct Sprite *sprite) +void EventObjectUpdateZCoordAndPriority(struct EventObject *eventObj, struct Sprite *sprite) { if (eventObj->fixedPriority) return; - FieldObjectUpdateZCoord(eventObj); + EventObjectUpdateZCoord(eventObj); sprite->subspriteTableNum = sEventObjectPriorities_08376070[eventObj->previousElevation]; sprite->oam.priority = sEventObjectPriorities_08376060[eventObj->previousElevation]; @@ -6386,7 +6384,7 @@ u8 ZCoordToPriority(u8 z) return sEventObjectPriorities_08376060[z]; } -void FieldObjectUpdateZCoord(struct MapObject *eventObj) +void EventObjectUpdateZCoord(struct EventObject *eventObj) { u8 z = MapGridGetZCoordAt(eventObj->currentCoords.x, eventObj->currentCoords.y); u8 z2 = MapGridGetZCoordAt(eventObj->previousCoords.x, eventObj->previousCoords.y); @@ -6410,7 +6408,7 @@ void SetObjectSubpriorityByZCoord(u8 a, struct Sprite *sprite, u8 b) sprite->subpriority = tmp3 + sUnknown_08376050[a] + b; } -static void FieldObjectUpdateSubpriority(struct MapObject *eventObj, struct Sprite *sprite) +static void EventObjectUpdateSubpriority(struct EventObject *eventObj, struct Sprite *sprite) { if (eventObj->fixedPriority) return; @@ -6429,7 +6427,7 @@ bool8 AreZCoordsCompatible(u8 a, u8 b) return TRUE; } -void GroundEffect_SpawnOnTallGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_SpawnOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6442,7 +6440,7 @@ void GroundEffect_SpawnOnTallGrass(struct MapObject *eventObj, struct Sprite *sp FieldEffectStart(FLDEFF_TALL_GRASS); } -void GroundEffect_StepOnTallGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_StepOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6455,7 +6453,7 @@ void GroundEffect_StepOnTallGrass(struct MapObject *eventObj, struct Sprite *spr FieldEffectStart(FLDEFF_TALL_GRASS); } -void GroundEffect_SpawnOnLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_SpawnOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6468,7 +6466,7 @@ void GroundEffect_SpawnOnLongGrass(struct MapObject *eventObj, struct Sprite *sp FieldEffectStart(FLDEFF_LONG_GRASS); } -void GroundEffect_StepOnLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_StepOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6481,44 +6479,44 @@ void GroundEffect_StepOnLongGrass(struct MapObject *eventObj, struct Sprite *spr FieldEffectStart(FLDEFF_LONG_GRASS); } -void GroundEffect_WaterReflection(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_WaterReflection(struct EventObject *eventObj, struct Sprite *sprite) { SetUpReflection(eventObj, sprite, 0); } -void GroundEffect_IceReflection(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_IceReflection(struct EventObject *eventObj, struct Sprite *sprite) { SetUpReflection(eventObj, sprite, 1); } -void GroundEffect_FlowingWater(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_FlowingWater(struct EventObject *eventObj, struct Sprite *sprite) { StartFieldEffectForEventObject(FLDEFF_FEET_IN_FLOWING_WATER, eventObj); } -static void (*const sGroundEffectTracksFuncs[])(struct MapObject *eventObj, struct Sprite *sprite, u8 a) = { +static void (*const sGroundEffectTracksFuncs[])(struct EventObject *eventObj, struct Sprite *sprite, u8 a) = { DoTracksGroundEffect_None, DoTracksGroundEffect_Footprints, DoTracksGroundEffect_BikeTireTracks, }; -void GroundEffect_SandTracks(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_SandTracks(struct EventObject *eventObj, struct Sprite *sprite) { - const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); + const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 0); } -void GroundEffect_DeepSandTracks(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_DeepSandTracks(struct EventObject *eventObj, struct Sprite *sprite) { - const struct MapObjectGraphicsInfo *info = GetFieldObjectGraphicsInfo(eventObj->graphicsId); + const struct EventObjectGraphicsInfo *info = GetEventObjectGraphicsInfo(eventObj->graphicsId); sGroundEffectTracksFuncs[info->tracks](eventObj, sprite, 1); } -static void DoTracksGroundEffect_None(struct MapObject *eventObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_None(struct EventObject *eventObj, struct Sprite *sprite, u8 a) { } -static void DoTracksGroundEffect_Footprints(struct MapObject *eventObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_Footprints(struct EventObject *eventObj, struct Sprite *sprite, u8 a) { // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) u16 sandFootprints_FieldEffectData[2] = { @@ -6534,7 +6532,7 @@ static void DoTracksGroundEffect_Footprints(struct MapObject *eventObj, struct S FieldEffectStart(sandFootprints_FieldEffectData[a]); } -static void DoTracksGroundEffect_BikeTireTracks(struct MapObject *eventObj, struct Sprite *sprite, u8 a) +static void DoTracksGroundEffect_BikeTireTracks(struct EventObject *eventObj, struct Sprite *sprite, u8 a) { // Specifies which bike track shape to show next. // For example, when the bike turns from up to right, it will show @@ -6561,22 +6559,22 @@ static void DoTracksGroundEffect_BikeTireTracks(struct MapObject *eventObj, stru } } -void GroundEffect_Ripple(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_Ripple(struct EventObject *eventObj, struct Sprite *sprite) { DoRippleFieldEffect(eventObj, sprite); } -void GroundEffect_StepOnPuddle(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_StepOnPuddle(struct EventObject *eventObj, struct Sprite *sprite) { StartFieldEffectForEventObject(FLDEFF_SPLASH, eventObj); } -void GroundEffect_SandHeap(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_SandHeap(struct EventObject *eventObj, struct Sprite *sprite) { StartFieldEffectForEventObject(FLDEFF_SAND_PILE, eventObj); } -void GroundEffect_JumpOnTallGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnTallGrass(struct EventObject *eventObj, struct Sprite *sprite) { u8 spriteId; @@ -6593,7 +6591,7 @@ void GroundEffect_JumpOnTallGrass(struct MapObject *eventObj, struct Sprite *spr GroundEffect_SpawnOnTallGrass(eventObj, sprite); } -void GroundEffect_JumpOnLongGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnLongGrass(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6602,7 +6600,7 @@ void GroundEffect_JumpOnLongGrass(struct MapObject *eventObj, struct Sprite *spr FieldEffectStart(FLDEFF_JUMP_LONG_GRASS); } -void GroundEffect_JumpOnShallowWater(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnShallowWater(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6611,7 +6609,7 @@ void GroundEffect_JumpOnShallowWater(struct MapObject *eventObj, struct Sprite * FieldEffectStart(FLDEFF_JUMP_SMALL_SPLASH); } -void GroundEffect_JumpOnWater(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpOnWater(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6620,7 +6618,7 @@ void GroundEffect_JumpOnWater(struct MapObject *eventObj, struct Sprite *sprite) FieldEffectStart(FLDEFF_JUMP_BIG_SPLASH); } -void GroundEffect_JumpLandingDust(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_JumpLandingDust(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; @@ -6629,24 +6627,24 @@ void GroundEffect_JumpLandingDust(struct MapObject *eventObj, struct Sprite *spr FieldEffectStart(FLDEFF_DUST); } -void GroundEffect_ShortGrass(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_ShortGrass(struct EventObject *eventObj, struct Sprite *sprite) { StartFieldEffectForEventObject(FLDEFF_SHORT_GRASS, eventObj); } -void GroundEffect_HotSprings(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_HotSprings(struct EventObject *eventObj, struct Sprite *sprite) { StartFieldEffectForEventObject(FLDEFF_HOT_SPRINGS_WATER, eventObj); } -void GroundEffect_Seaweed(struct MapObject *eventObj, struct Sprite *sprite) +void GroundEffect_Seaweed(struct EventObject *eventObj, struct Sprite *sprite) { gFieldEffectArguments[0] = eventObj->currentCoords.x; gFieldEffectArguments[1] = eventObj->currentCoords.y; FieldEffectStart(FLDEFF_BUBBLES); } -static void (*const sGroundEffectFuncs[])(struct MapObject *eventObj, struct Sprite *sprite) = { +static void (*const sGroundEffectFuncs[])(struct EventObject *eventObj, struct Sprite *sprite) = { GroundEffect_SpawnOnTallGrass, GroundEffect_StepOnTallGrass, GroundEffect_SpawnOnLongGrass, @@ -6669,11 +6667,11 @@ static void (*const sGroundEffectFuncs[])(struct MapObject *eventObj, struct Spr GroundEffect_Seaweed }; -/*static*/ void DoFlaggedGroundEffects(struct MapObject *eventObj, struct Sprite *sprite, u32 flags) +/*static*/ void DoFlaggedGroundEffects(struct EventObject *eventObj, struct Sprite *sprite, u32 flags) { u8 i; - if (FieldObjectIsFarawayIslandMew(eventObj) == TRUE && !sub_81D4A58(eventObj)) + if (EventObjectIsFarawayIslandMew(eventObj) == TRUE && !sub_81D4A58(eventObj)) return; for (i = 0; i < ARRAY_COUNT(sGroundEffectFuncs); i++, flags >>= 1) @@ -6681,7 +6679,7 @@ static void (*const sGroundEffectFuncs[])(struct MapObject *eventObj, struct Spr sGroundEffectFuncs[i](eventObj, sprite); } -void filters_out_some_ground_effects(struct MapObject *eventObj, u32 *flags) +void filters_out_some_ground_effects(struct EventObject *eventObj, u32 *flags) { if (eventObj->disableCoveringGroundEffects) { @@ -6697,38 +6695,38 @@ void filters_out_some_ground_effects(struct MapObject *eventObj, u32 *flags) } } -void FilterOutStepOnPuddleGroundEffectIfJumping(struct MapObject *eventObj, u32 *flags) +void FilterOutStepOnPuddleGroundEffectIfJumping(struct EventObject *eventObj, u32 *flags) { if (eventObj->landingJump) *flags &= ~GROUND_EFFECT_FLAG_PUDDLE; } -static void DoGroundEffects_OnSpawn(struct MapObject *eventObj, struct Sprite *sprite) +static void DoGroundEffects_OnSpawn(struct EventObject *eventObj, struct Sprite *sprite) { u32 flags; if (eventObj->triggerGroundEffectsOnMove) { flags = 0; - FieldObjectUpdateZCoordAndPriority(eventObj, sprite); + EventObjectUpdateZCoordAndPriority(eventObj, sprite); GetAllGroundEffectFlags_OnSpawn(eventObj, &flags); - FieldObjectSetSpriteOamTableForLongGrass(eventObj, sprite); + EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite); DoFlaggedGroundEffects(eventObj, sprite, flags); eventObj->triggerGroundEffectsOnMove = 0; eventObj->disableCoveringGroundEffects = 0; } } -static void DoGroundEffects_OnBeginStep(struct MapObject *eventObj, struct Sprite *sprite) +static void DoGroundEffects_OnBeginStep(struct EventObject *eventObj, struct Sprite *sprite) { u32 flags; if (eventObj->triggerGroundEffectsOnMove) { flags = 0; - FieldObjectUpdateZCoordAndPriority(eventObj, sprite); + EventObjectUpdateZCoordAndPriority(eventObj, sprite); GetAllGroundEffectFlags_OnBeginStep(eventObj, &flags); - FieldObjectSetSpriteOamTableForLongGrass(eventObj, sprite); + EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite); filters_out_some_ground_effects(eventObj, &flags); DoFlaggedGroundEffects(eventObj, sprite, flags); eventObj->triggerGroundEffectsOnMove = 0; @@ -6736,16 +6734,16 @@ static void DoGroundEffects_OnBeginStep(struct MapObject *eventObj, struct Sprit } } -static void DoGroundEffects_OnFinishStep(struct MapObject *eventObj, struct Sprite *sprite) +static void DoGroundEffects_OnFinishStep(struct EventObject *eventObj, struct Sprite *sprite) { u32 flags; if (eventObj->triggerGroundEffectsOnStop) { flags = 0; - FieldObjectUpdateZCoordAndPriority(eventObj, sprite); + EventObjectUpdateZCoordAndPriority(eventObj, sprite); GetAllGroundEffectFlags_OnFinishStep(eventObj, &flags); - FieldObjectSetSpriteOamTableForLongGrass(eventObj, sprite); + EventObjectSetSpriteOamTableForLongGrass(eventObj, sprite); FilterOutStepOnPuddleGroundEffectIfJumping(eventObj, &flags); DoFlaggedGroundEffects(eventObj, sprite, flags); eventObj->triggerGroundEffectsOnStop = 0; @@ -6753,55 +6751,55 @@ static void DoGroundEffects_OnFinishStep(struct MapObject *eventObj, struct Spri } } -bool8 FreezeMapObject(struct MapObject *mapObject) +bool8 FreezeEventObject(struct EventObject *eventObject) { - if (mapObject->heldMovementActive || mapObject->frozen) + if (eventObject->heldMovementActive || eventObject->frozen) { return TRUE; } else { - mapObject->frozen = 1; - mapObject->spriteAnimPausedBackup = gSprites[mapObject->spriteId].animPaused; - mapObject->spriteAffineAnimPausedBackup = gSprites[mapObject->spriteId].affineAnimPaused; - gSprites[mapObject->spriteId].animPaused = 1; - gSprites[mapObject->spriteId].affineAnimPaused = 1; + eventObject->frozen = 1; + eventObject->spriteAnimPausedBackup = gSprites[eventObject->spriteId].animPaused; + eventObject->spriteAffineAnimPausedBackup = gSprites[eventObject->spriteId].affineAnimPaused; + gSprites[eventObject->spriteId].animPaused = 1; + gSprites[eventObject->spriteId].affineAnimPaused = 1; return FALSE; } } -void FreezeMapObjects(void) +void FreezeEventObjects(void) { u8 i; - for (i = 0; i < MAP_OBJECTS_COUNT; i++) - if (gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - FreezeMapObject(&gMapObjects[i]); + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + if (gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) + FreezeEventObject(&gEventObjects[i]); } -void FreezeMapObjectsExceptOne(u8 a1) +void FreezeEventObjectsExceptOne(u8 a1) { u8 i; - for (i = 0; i < MAP_OBJECTS_COUNT; i++) - if (i != a1 && gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - FreezeMapObject(&gMapObjects[i]); + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + if (i != a1 && gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) + FreezeEventObject(&gEventObjects[i]); } -void npc_sync_anim_pause_bits(struct MapObject *mapObject) +void npc_sync_anim_pause_bits(struct EventObject *eventObject) { - if (mapObject->active && mapObject->frozen) + if (eventObject->active && eventObject->frozen) { - mapObject->frozen = 0; - gSprites[mapObject->spriteId].animPaused = mapObject->spriteAnimPausedBackup; - gSprites[mapObject->spriteId].affineAnimPaused = mapObject->spriteAffineAnimPausedBackup; + eventObject->frozen = 0; + gSprites[eventObject->spriteId].animPaused = eventObject->spriteAnimPausedBackup; + gSprites[eventObject->spriteId].affineAnimPaused = eventObject->spriteAffineAnimPausedBackup; } } -void UnfreezeMapObjects(void) +void UnfreezeEventObjects(void) { u8 i; - for (i = 0; i < MAP_OBJECTS_COUNT; i++) - if (gMapObjects[i].active) - npc_sync_anim_pause_bits(&gMapObjects[i]); + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) + if (gEventObjects[i].active) + npc_sync_anim_pause_bits(&gEventObjects[i]); } void little_step(struct Sprite *sprite, u8 dir) @@ -7126,12 +7124,12 @@ u8 sub_80978E4(struct Sprite *sprite) return v2; } -void SetFieldObjectStepTimer(struct Sprite *sprite, s16 timer) +void SetEventObjectStepTimer(struct Sprite *sprite, s16 timer) { sprite->data[3] = timer; } -bool8 RunFieldObjectStepTimer(struct Sprite *sprite) +bool8 RunEventObjectStepTimer(struct Sprite *sprite) { sprite->data[3]--; @@ -7220,7 +7218,7 @@ void sub_8097B78(u8 var1, u8 var2) u8 spriteId = sub_8097B2C(var1); if(spriteId != MAX_SPRITES) - StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(var2)); + StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(var2)); } void sub_8097BB4(u8 var1, u8 var2) @@ -7230,7 +7228,7 @@ void sub_8097BB4(u8 var1, u8 var2) if(spriteId != MAX_SPRITES) { struct Sprite *sprite = &gSprites[spriteId]; - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(var2); + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(var2); u16 tileNum = sprite->oam.tileNum; sprite->oam = *gfxInfo->oam; @@ -7354,24 +7352,24 @@ bool32 sub_8097D9C(u8 var) return FALSE; } -u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct MapObject *mapObject) +u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct EventObject *eventObject) { - FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); return FieldEffectStart(fieldEffectId); } -void DoShadowFieldEffect(struct MapObject *mapObject) +void DoShadowFieldEffect(struct EventObject *eventObject) { - if (!mapObject->hasShadow) + if (!eventObject->hasShadow) { - mapObject->hasShadow = 1; - StartFieldEffectForEventObject(FLDEFF_SHADOW, mapObject); + eventObject->hasShadow = 1; + StartFieldEffectForEventObject(FLDEFF_SHADOW, eventObject); } } -static void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *sprite) +static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite *sprite) { - const struct MapObjectGraphicsInfo *gfxInfo = GetFieldObjectGraphicsInfo(mapObject->graphicsId); + const struct EventObjectGraphicsInfo *gfxInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); gFieldEffectArguments[0] = sprite->pos1.x; gFieldEffectArguments[1] = sprite->pos1.y + (gfxInfo->height >> 1) - 2; gFieldEffectArguments[2] = 151; @@ -7379,36 +7377,36 @@ static void DoRippleFieldEffect(struct MapObject *mapObject, struct Sprite *spri FieldEffectStart(FLDEFF_RIPPLE); } -u8 (*const gUnknown_0850E854[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E854[])(struct EventObject *, struct Sprite *) = { sub_8097E50, sub_80964B8, }; -u8 (*const gUnknown_0850E85C[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E85C[])(struct EventObject *, struct Sprite *) = { sub_8097EF0, sub_80964B8, }; -u8 (*const gUnknown_0850E864[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E864[])(struct EventObject *, struct Sprite *) = { sub_80980C0, sub_80980D0, sub_8098124, }; -u8 (*const gUnknown_0850E870[])(struct MapObject *, struct Sprite *) = { +u8 (*const gUnknown_0850E870[])(struct EventObject *, struct Sprite *) = { sub_80980F4, sub_8098108, sub_8098124, }; -u8 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8097E50(struct EventObject *eventObject, struct Sprite *sprite) { u32 one; bool32 ableToStore = FALSE; if (gUnknown_020375B8 == NULL) { gUnknown_020375B8 = AllocZeroed(0x14); - gUnknown_020375B8[0] = mapObject->localId; + gUnknown_020375B8[0] = eventObject->localId; // needed to match gUnknown_020375B8[16] = (one = 1); ableToStore = one; @@ -7423,7 +7421,7 @@ u8 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) if (firstFreeSlot == 16 && gUnknown_020375B8[i] == 0) firstFreeSlot = i; - if (gUnknown_020375B8[i] == mapObject->localId) + if (gUnknown_020375B8[i] == eventObject->localId) { found = TRUE; break; @@ -7432,7 +7430,7 @@ u8 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) if (!found && firstFreeSlot != 16) { - gUnknown_020375B8[firstFreeSlot] = mapObject->localId; + gUnknown_020375B8[firstFreeSlot] = eventObject->localId; gUnknown_020375B8[16]++; ableToStore = TRUE; } @@ -7440,15 +7438,15 @@ u8 sub_8097E50(struct MapObject *mapObject, struct Sprite *sprite) if (ableToStore == TRUE) { - mapObject->inanimate = TRUE; - mapObject->facingDirectionLocked = TRUE; + eventObject->inanimate = TRUE; + eventObject->facingDirectionLocked = TRUE; } sprite->data[2] = 1; return TRUE; } -u8 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8097EF0(struct EventObject *eventObject, struct Sprite *sprite) { bool32 ableToStore; u8 id; @@ -7457,7 +7455,7 @@ u8 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) if (gUnknown_020375B8 != NULL) { ableToStore = FALSE; - id = sub_8097F78(mapObject); + id = sub_8097F78(eventObject); if (id != 16) { gUnknown_020375B8[id] = 0; @@ -7468,8 +7466,8 @@ u8 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) FREE_AND_SET_NULL(gUnknown_020375B8); if (ableToStore == TRUE) { - mapObject->inanimate = GetFieldObjectGraphicsInfo(mapObject->graphicsId)->inanimate; - mapObject->facingDirectionLocked = 0; + eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; + eventObject->facingDirectionLocked = 0; sprite->animPaused = 0; } } @@ -7477,36 +7475,36 @@ u8 sub_8097EF0(struct MapObject *mapObject, struct Sprite *sprite) return TRUE; } -u8 sub_8097F78(struct MapObject *mapObject) +u8 sub_8097F78(struct EventObject *eventObject) { u8 i; - for(i = 0; i < MAP_OBJECTS_COUNT; i++) + for(i = 0; i < EVENT_OBJECTS_COUNT; i++) { - if(gUnknown_020375B8[i] == mapObject->localId) + if(gUnknown_020375B8[i] == eventObject->localId) return i; } - return MAP_OBJECTS_COUNT; + return EVENT_OBJECTS_COUNT; } -void sub_8097FA4(struct MapObject *mapObject) +void sub_8097FA4(struct EventObject *eventObject) { u8 taskId = CreateTask(sub_8097FE4, 0xFF); struct Task *task = &gTasks[taskId]; - StoreWordInTwoHalfwords(&task->data[0], (u32)mapObject); - mapObject->warpArrowSpriteId = taskId; + StoreWordInTwoHalfwords(&task->data[0], (u32)eventObject); + eventObject->warpArrowSpriteId = taskId; task->data[3] = 0xFFFF; } static void sub_8097FE4(u8 taskId) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; struct Task *task = &gTasks[taskId]; - LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&mapObject); // load the map object pointer. - sprite = &gSprites[mapObject->spriteId]; + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&eventObject); // load the map object pointer. + sprite = &gSprites[eventObject->spriteId]; if(!(task->data[2] & 0x3)) sprite->pos2.y += task->data[3]; @@ -7530,22 +7528,22 @@ void sub_8098074(u8 var1, u8 var2) { u8 i; - for(i = 0; i < MAP_OBJECTS_COUNT; i++) + for(i = 0; i < EVENT_OBJECTS_COUNT; i++) { if(i != var1 && i != var2 && - gMapObjects[i].active && i != gPlayerAvatar.mapObjectId) - FreezeMapObject(&gMapObjects[i]); + gEventObjects[i].active && i != gPlayerAvatar.eventObjectId) + FreezeEventObject(&gEventObjects[i]); } } -u8 sub_80980C0(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_80980C0(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = 0; sprite->data[2]++; return FALSE; } -u8 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_80980D0(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y -= 8; @@ -7554,14 +7552,14 @@ u8 sub_80980D0(struct MapObject *mapObject, struct Sprite *sprite) return FALSE; } -u8 sub_80980F4(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_80980F4(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = -160; sprite->data[2]++; return FALSE; } -u8 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8098108(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y += 8; @@ -7571,7 +7569,7 @@ u8 sub_8098108(struct MapObject *mapObject, struct Sprite *sprite) } // though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it. -u8 sub_8098124(struct MapObject *mapObject, struct Sprite *sprite) +u8 sub_8098124(struct EventObject *eventObject, struct Sprite *sprite) { return TRUE; } diff --git a/src/field_camera.c b/src/field_camera.c index b937f704b..f4d9550a3 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -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; diff --git a/src/field_effect.c b/src/field_effect.c index 71bce8f41..4ad3bd916 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -48,12 +48,12 @@ const u32 gNewGameBirchPic[] = INCBIN_U32("graphics/birch_speech/birch.4bpp"); const u32 gUnusedBirchBeauty[] = INCBIN_U32("graphics/unused/intro_birch_beauty.4bpp"); const u16 gNewGameBirchPalette[16] = INCBIN_U16("graphics/birch_speech/birch.gbapal"); const u32 gSpriteImage_855A970[] = INCBIN_U32("graphics/misc/pokeball_glow.4bpp"); -const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_04.gbapal"); +const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_04.gbapal"); const u32 gSpriteImage_855A9B0[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp"); const u32 gSpriteImage_855AA70[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp"); const u32 gSpriteImage_855AB30[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp"); const u8 gSpriteImage_855AD30[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp"); -const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/map_objects/palettes/field_effect_object_palette_05.gbapal"); +const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_05.gbapal"); // Graphics for the lights streaking past your Pokemon when it uses a field move. const u32 gFieldMoveStreaksTiles[] = INCBIN_U32("graphics/misc/field_move_streaks.4bpp"); @@ -286,7 +286,7 @@ bool8 (*const gUnknown_0855C3FC[])(struct Task *) = { sub_80B72F4, }; -bool8 (*const gUnknown_0855C418[])(struct Task *, struct MapObject *) = { +bool8 (*const gUnknown_0855C418[])(struct Task *, struct EventObject *) = { sub_80B73D0, waterfall_1_do_anim_probably, waterfall_2_wait_anim_finish_probably, @@ -300,7 +300,7 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) = { dive_3_unknown, }; -bool8 (*const gUnknown_0855C438[])(struct Task *, struct MapObject *, struct Sprite *) = { +bool8 (*const gUnknown_0855C438[])(struct Task *, struct EventObject *, struct Sprite *) = { sub_80B764C, sub_80B7684, sub_80B76B8, @@ -309,14 +309,14 @@ bool8 (*const gUnknown_0855C438[])(struct Task *, struct MapObject *, struct Spr sub_80B7814, }; -bool8 (*const gUnknown_0855C450[])(struct Task *, struct MapObject *, struct Sprite *) = { +bool8 (*const gUnknown_0855C450[])(struct Task *, struct EventObject *, struct Sprite *) = { sub_80B78EC, sub_80B791C, sub_80B7968, sub_80B79BC, }; -bool8 (*const gUnknown_0855C460[])(struct Task *, struct MapObject *, struct Sprite *) = { +bool8 (*const gUnknown_0855C460[])(struct Task *, struct EventObject *, struct Sprite *) = { sub_80B7AE8, sub_80B7B18, sub_80B7B94, @@ -1147,7 +1147,7 @@ void mapldr_080842E8(void) pal_fill_black(); CreateTask(task00_8084310, 0); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; } @@ -1184,13 +1184,13 @@ void mapldr_08084390(void) Overworld_PlaySpecialMapMusic(); pal_fill_black(); CreateTask(c3_080843F8, 0); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; if (gPlayerAvatar.flags & 0x08) { - FieldObjectTurn(&gMapObjects[gPlayerAvatar.mapObjectId], DIR_WEST); + EventObjectTurn(&gEventObjects[gPlayerAvatar.eventObjectId], DIR_WEST); } ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; } @@ -1210,7 +1210,7 @@ void c3_080843F8(u8 taskId) if (!FieldEffectActiveListContains(FLDEFF_FLY_IN)) { ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(taskId); } } @@ -1225,7 +1225,7 @@ void sub_80B6B68(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_maplights(); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); CreateTask(sub_80B6B94, 0); gFieldCallback = NULL; } @@ -1239,14 +1239,14 @@ void sub_80B6B94(u8 taskId) bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] { - struct MapObject *playerObject; + struct EventObject *playerObject; struct Sprite *playerSprite; - playerObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + playerObject = &gEventObjects[gPlayerAvatar.eventObjectId]; playerSprite = &gSprites[gPlayerAvatar.spriteId]; CameraObjectReset2(); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; - FieldObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + EventObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1273,7 +1273,7 @@ bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); task->data[1] = 1; task->data[2] = 0; - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 0; PlaySE(SE_RU_HYUU); task->data[0]++; return FALSE; @@ -1281,10 +1281,10 @@ bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2] bool8 sub_80B6D04(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; sprite = &gSprites[gPlayerAvatar.spriteId]; sprite->pos2.y += task->data[1]; if (task->data[1] < 8) @@ -1298,15 +1298,15 @@ bool8 sub_80B6D04(struct Task *task) if (task->data[3] == 0 && sprite->pos2.y >= -16) { task->data[3]++; - mapObject->fixedPriority = 0; + eventObject->fixedPriority = 0; sprite->subspriteMode = task->data[4]; - mapObject->triggerGroundEffectsOnMove = 1; + eventObject->triggerGroundEffectsOnMove = 1; } if (sprite->pos2.y >= 0) { PlaySE(SE_W070); - mapObject->triggerGroundEffectsOnStop = 1; - mapObject->landingJump = 1; + eventObject->triggerGroundEffectsOnStop = 1; + eventObject->landingJump = 1; sprite->pos2.y = 0; task->data[0]++; } @@ -1343,7 +1343,7 @@ bool8 sub_80B6E18(struct Task *task) gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); CameraObjectReset1(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); InstallCameraPanAheadCallback(); DestroyTask(FindTaskIdByFunc(sub_80B6B94)); return FALSE; @@ -1382,7 +1382,7 @@ void sub_80B6E88(u8 taskId) bool8 sub_80B6EC0(struct Task *task) { - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); sub_80E1558(task->data[1]); task->data[0]++; @@ -1391,11 +1391,11 @@ bool8 sub_80B6EC0(struct Task *task) bool8 sub_80B6EE0(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1506,13 +1506,13 @@ void sub_80B70DC(u8 taskId) bool8 sub_80B7114(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; s16 x; s16 y; u8 behavior; CameraObjectReset2(); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(DIR_EAST)); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1604,13 +1604,13 @@ bool8 sub_80B72D0(struct Task *task) bool8 sub_80B72F4(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { CameraObjectReset1(); ScriptContext2_Disable(); - FieldObjectSetSpecialAnim(mapObject, GetGoSpeed0AnimId(DIR_EAST)); + EventObjectSetSpecialAnim(eventObject, GetGoSpeed0AnimId(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_80B70DC)); } return FALSE; @@ -1629,10 +1629,10 @@ bool8 FldEff_UseWaterfall(void) void sub_80B7384(u8 taskId) { - while (gUnknown_0855C418[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId])); + while (gUnknown_0855C418[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId])); } -bool8 sub_80B73D0(struct Task *task, struct MapObject *mapObject) +bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject) { ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; @@ -1640,12 +1640,12 @@ bool8 sub_80B73D0(struct Task *task, struct MapObject *mapObject) return FALSE; } -bool8 waterfall_1_do_anim_probably(struct Task *task, struct MapObject *mapObject) +bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject) { ScriptContext2_Enable(); - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject)) + if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject)) { - FieldObjectClearAnimIfSpecialAnimFinished(mapObject); + EventObjectClearAnimIfSpecialAnimFinished(eventObject); gFieldEffectArguments[0] = task->data[1]; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->data[0]++; @@ -1653,7 +1653,7 @@ bool8 waterfall_1_do_anim_probably(struct Task *task, struct MapObject *mapObjec return FALSE; } -bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject *mapObject) +bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObject *eventObject) { if (FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { @@ -1663,20 +1663,20 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct MapObject return TRUE; } -bool8 sub_80B7450(struct Task *task, struct MapObject *mapObject) +bool8 sub_80B7450(struct Task *task, struct EventObject *eventObject) { - FieldObjectSetSpecialAnim(mapObject, GetSimpleGoAnimId(DIR_NORTH)); + EventObjectSetSpecialAnim(eventObject, GetSimpleGoAnimId(DIR_NORTH)); task->data[0]++; return FALSE; } -bool8 sub_80B7478(struct Task *task, struct MapObject *mapObject) +bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject) { - if (!FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (!EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { return FALSE; } - if (MetatileBehavior_IsWaterfall(mapObject->currentMetatileBehavior)) + if (MetatileBehavior_IsWaterfall(eventObject->currentMetatileBehavior)) { task->data[0] = 3; return TRUE; @@ -1728,7 +1728,7 @@ bool8 dive_3_unknown(struct Task *task) PlayerGetDestCoords(&mapPosition.x, &mapPosition.y); if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - dive_warp(&mapPosition, gMapObjects[gPlayerAvatar.mapObjectId].currentMetatileBehavior); + dive_warp(&mapPosition, gEventObjects[gPlayerAvatar.eventObjectId].currentMetatileBehavior); DestroyTask(FindTaskIdByFunc(Task_Dive)); FieldEffectActiveListRemove(FLDEFF_USE_DIVE); } @@ -1745,22 +1745,22 @@ void sub_80B75D8(u8 priority) void sub_80B75F0(u8 taskId) { - while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -bool8 sub_80B764C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B764C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); SetCameraPanningCallback(NULL); gPlayerAvatar.preventStep = TRUE; - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; task->data[1] = 1; task->data[0]++; return TRUE; } -bool8 sub_80B7684(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7684(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { SetCameraPanning(0, task->data[1]); task->data[1] = -task->data[1]; @@ -1773,12 +1773,12 @@ bool8 sub_80B7684(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_80B76B8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B76B8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = 0; task->data[3] = 1; - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; FieldEffectStart(FLDEFF_LAVARIDGE_GYM_WARP); @@ -1787,7 +1787,7 @@ bool8 sub_80B76B8(struct Task *task, struct MapObject *mapObject, struct Sprite return TRUE; } -bool8 sub_80B7704(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7704(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { s16 centerToCornerVecY; SetCameraPanning(0, task->data[1]); @@ -1819,7 +1819,7 @@ bool8 sub_80B7704(struct Task *task, struct MapObject *mapObject, struct Sprite if (task->data[5] == 0 && sprite->pos2.y < -0x10) { task->data[5]++; - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; sprite->oam.priority = 1; sprite->subspriteMode = 2; } @@ -1830,7 +1830,7 @@ bool8 sub_80B7704(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_80B77F8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B77F8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { music_something(); sub_80AF0B4(); @@ -1838,7 +1838,7 @@ bool8 sub_80B77F8(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_80B7814(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7814(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && sub_80859A0() == TRUE) { @@ -1863,25 +1863,25 @@ void mapldr_080851BC(void) void sub_80B7890(u8 taskId) { - while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); + while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -bool8 sub_80B78EC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B78EC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { CameraObjectReset2(); - FreezeMapObjects(); + FreezeEventObjects(); gPlayerAvatar.preventStep = TRUE; - mapObject->invisible = 1; + eventObject->invisible = 1; task->data[0]++; return FALSE; } -bool8 sub_80B791C(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B791C(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (IsWeatherNotFadingIn()) { - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1890,27 +1890,27 @@ bool8 sub_80B791C(struct Task *task, struct MapObject *mapObject, struct Sprite return FALSE; } -bool8 sub_80B7968(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { sprite = &gSprites[task->data[1]]; if (sprite->animCmdIndex > 1) { task->data[0]++; - mapObject->invisible = 0; + eventObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); - FieldObjectSetSpecialAnim(mapObject, sub_8093514(DIR_EAST)); + EventObjectSetSpecialAnim(eventObject, sub_8093514(DIR_EAST)); } return FALSE; } -bool8 sub_80B79BC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_80B7890)); } return FALSE; @@ -1945,27 +1945,27 @@ void sub_80B7A74(u8 priority) void sub_80B7A8C(u8 taskId) { - while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gMapObjects[gPlayerAvatar.mapObjectId], &gSprites[gPlayerAvatar.spriteId])); + while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gEventObjects[gPlayerAvatar.eventObjectId], &gSprites[gPlayerAvatar.spriteId])); } -bool8 sub_80B7AE8(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); gPlayerAvatar.preventStep = TRUE; - mapObject->fixedPriority = 1; + eventObject->fixedPriority = 1; task->data[0]++; return FALSE; } -bool8 sub_80B7B18(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { if (task->data[1] > 3) { - gFieldEffectArguments[0] = mapObject->currentCoords.x; - gFieldEffectArguments[1] = mapObject->currentCoords.y; + gFieldEffectArguments[0] = eventObject->currentCoords.x; + gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; gFieldEffectArguments[3] = sprite->oam.priority; task->data[1] = FieldEffectStart(FLDEFF_POP_OUT_OF_ASH); @@ -1973,24 +1973,24 @@ bool8 sub_80B7B18(struct Task *task, struct MapObject *mapObject, struct Sprite } else { task->data[1]++; - FieldObjectSetSpecialAnim(mapObject, GetStepInPlaceDelay4AnimId(mapObject->facingDirection)); + EventObjectSetSpecialAnim(eventObject, GetStepInPlaceDelay4AnimId(eventObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } return FALSE; } -bool8 sub_80B7B94(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7B94(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (gSprites[task->data[1]].animCmdIndex == 2) { - mapObject->invisible = 1; + eventObject->invisible = 1; task->data[0]++; } return FALSE; } -bool8 sub_80B7BCC(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7BCC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { @@ -2004,7 +2004,7 @@ bool8 sub_80B7BCC(struct Task *task, struct MapObject *mapObject, struct Sprite void sub_80B7CE4(u8); void mapldr_080859D4(void); -bool8 sub_80B7BF4(struct Task *task, struct MapObject *mapObject, struct Sprite *sprite) +bool8 sub_80B7BF4(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { if (!gPaletteFade.active && sub_80859A0() == TRUE) { @@ -2037,7 +2037,7 @@ void sub_80B7CAC(struct Sprite *sprite) void sub_80B7CC8(void) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); CreateTask(sub_80B7CE4, 0x50); } @@ -2055,19 +2055,19 @@ void sub_80B7D14(struct Task *task) void sub_80B7D34(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; u8 spinDirections[5] = {1, 3, 4, 2, 1}; if (task->data[14] != 0 && (--task->data[14]) == 0) { music_something(); sub_80AF0B4(); } - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { if (task->data[14] == 0 && !gPaletteFade.active && sub_80859A0() == TRUE) { - FieldObjectSetDirection(mapObject, task->data[15]); + EventObjectSetDirection(eventObject, task->data[15]); sub_8084E14(); warp_in(); gFieldCallback = mapldr_080859D4; @@ -2075,7 +2075,7 @@ void sub_80B7D34(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80B7CE4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->facingDirection])); + EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(spinDirections[eventObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2097,9 +2097,9 @@ void mapldr_080859D4(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_maplights(); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; CreateTask(sub_80B7E94, 0); } @@ -2120,29 +2120,29 @@ void sub_80B7EC4(struct Task *task) void sub_80B7EE8(struct Task *task) { u8 spinDirections[5] = {1, 3, 4, 2, 1}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) && !FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) && !EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { return; } if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble()) { - mapObject->invisible = 0; + eventObject->invisible = 0; ScriptContext2_Disable(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_80B7E94)); return; } - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(spinDirections[mapObject->facingDirection])); + EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(spinDirections[eventObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; } task->data[1] = task->data[2] >> 2; } - mapObject->invisible ^= 1; + eventObject->invisible ^= 1; } static void ExecuteTeleportFieldEffectTask(u8); @@ -2172,7 +2172,7 @@ static void ExecuteTeleportFieldEffectTask(u8 taskId) static void TeleportFieldEffectTask1(struct Task *task) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); CameraObjectReset2(); task->data[15] = player_get_direction_lower_nybble(); task->data[0]++; @@ -2181,14 +2181,14 @@ static void TeleportFieldEffectTask1(struct Task *task) static void TeleportFieldEffectTask2(struct Task *task) { u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); + EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); task->data[1] = 8; task->data[2]++; } - if (task->data[2] > 7 && task->data[15] == mapObject->facingDirection) + if (task->data[2] > 7 && task->data[15] == eventObject->facingDirection) { task->data[0]++; task->data[1] = 4; @@ -2201,12 +2201,12 @@ static void TeleportFieldEffectTask2(struct Task *task) static void TeleportFieldEffectTask3(struct Task *task) { u8 spinDirections[5] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((--task->data[1]) <= 0) { task->data[1] = 4; - FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); + EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); } sprite->pos1.y -= task->data[3]; task->data[4] += task->data[3]; @@ -2254,9 +2254,9 @@ static void mapldr_08085D88(void) Overworld_PlaySpecialMapMusic(); pal_fill_for_maplights(); ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gFieldCallback = NULL; - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 1; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; CameraObjectReset2(); CreateTask(sub_80B8250, 0); } @@ -2281,7 +2281,7 @@ void sub_80B8280(struct Task *task) sprite = &gSprites[gPlayerAvatar.spriteId]; centerToCornerVecY = -(sprite->centerToCornerVecY << 1); sprite->pos2.y = -(sprite->pos1.y + sprite->centerToCornerVecY + gSpriteCoordOffsetY + centerToCornerVecY); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = 0; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = 0; task->data[0]++; task->data[1] = 8; task->data[2] = 1; @@ -2294,14 +2294,14 @@ void sub_80B8280(struct Task *task) void sub_80B830C(struct Task *task) { u8 spinDirections[5] = {1, 3, 4, 2, 1}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((sprite->pos2.y += task->data[1]) >= -8) { if (task->data[13] == 0) { task->data[13]++; - mapObject->triggerGroundEffectsOnMove = 1; + eventObject->triggerGroundEffectsOnMove = 1; sprite->subspriteMode = task->data[14]; } } else @@ -2319,7 +2319,7 @@ void sub_80B830C(struct Task *task) if ((--task->data[2]) == 0) { task->data[2] = 4; - FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); + EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); } if (sprite->pos2.y >= 0) { @@ -2333,16 +2333,16 @@ void sub_80B830C(struct Task *task) void sub_80B8410(struct Task *task) { u8 spinDirections[5] = {1, 3, 4, 2, 1}; - struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if ((--task->data[1]) == 0) { - FieldObjectTurn(mapObject, spinDirections[mapObject->facingDirection]); + EventObjectTurn(eventObject, spinDirections[eventObject->facingDirection]); task->data[1] = 8; - if ((++task->data[2]) > 4 && task->data[14] == mapObject->facingDirection) + if ((++task->data[2]) > 4 && task->data[14] == eventObject->facingDirection) { ScriptContext2_Disable(); CameraObjectReset1(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); DestroyTask(FindTaskIdByFunc(sub_80B8250)); } } @@ -2892,31 +2892,31 @@ void sub_80B8D84(u8 taskId) void sub_80B8DB4(struct Task *task) { ScriptContext2_Enable(); - FreezeMapObjects(); + FreezeEventObjects(); gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(8); PlayerGetDestCoords(&task->data[1], &task->data[2]); - MoveCoords(gMapObjects[gPlayerAvatar.mapObjectId].movementDirection, &task->data[1], &task->data[2]); + MoveCoords(gEventObjects[gPlayerAvatar.eventObjectId].movementDirection, &task->data[1], &task->data[2]); task->data[0]++; } void sub_80B8E14(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { sub_808C114(); - FieldObjectSetSpecialAnim(mapObject, 0x39); + EventObjectSetSpecialAnim(eventObject, 0x39); task->data[0]++; } } void sub_80B8E60(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectCheckIfSpecialAnimFinishedOrInactive(eventObject)) { gFieldEffectArguments[0] = task->data[15] | 0x80000000; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); @@ -2926,32 +2926,32 @@ void sub_80B8E60(struct Task *task) void sub_80B8EA8(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(3)); - FieldObjectClearAnimIfSpecialAnimFinished(mapObject); - FieldObjectSetSpecialAnim(mapObject, sub_8093540(mapObject->movementDirection)); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(3)); + EventObjectClearAnimIfSpecialAnimFinished(eventObject); + EventObjectSetSpecialAnim(eventObject, sub_8093540(eventObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; - gFieldEffectArguments[2] = gPlayerAvatar.mapObjectId; - mapObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); + gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId; + eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB); task->data[0]++; } } void sub_80B8F24(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - FieldObjectSetSpecialAnim(mapObject, GetFaceDirectionAnimId(mapObject->movementDirection)); - sub_81555AC(mapObject->fieldEffectSpriteId, 1); - UnfreezeMapObjects(); + EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(eventObject->movementDirection)); + sub_81555AC(eventObject->fieldEffectSpriteId, 1); + UnfreezeEventObjects(); ScriptContext2_Disable(); FieldEffectActiveListRemove(FLDEFF_USE_SURF); DestroyTask(FindTaskIdByFunc(sub_80B8D84)); @@ -3204,24 +3204,24 @@ void sub_80B91D4(u8 taskId) void sub_80B9204(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { task->data[15] = gPlayerAvatar.flags; gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_808C114(); - FieldObjectSetSpecialAnim(mapObject, 0x39); + EventObjectSetSpecialAnim(eventObject, 0x39); task->data[0]++; } } void sub_80B925C(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { task->data[0]++; gFieldEffectArguments[0] = task->data[1]; @@ -3231,14 +3231,14 @@ void sub_80B925C(struct Task *task) void sub_80B92A0(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[15] & 0x08) { - sub_81555AC(mapObject->fieldEffectSpriteId, 2); - sub_81555D8(mapObject->fieldEffectSpriteId, 0); + sub_81555AC(eventObject->fieldEffectSpriteId, 2); + sub_81555D8(eventObject->fieldEffectSpriteId, 0); } task->data[1] = sub_80B94C4(); task->data[0]++; @@ -3252,15 +3252,15 @@ void sub_80B92F8(struct Task *task) task->data[0]++; task->data[2] = 16; SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], 0x02); + EventObjectSetSpecialAnim(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02); } } void sub_80B933C(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if ((task->data[2] == 0 || (--task->data[2]) == 0) && FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { task->data[0]++; PlaySE(SE_W019); @@ -3270,17 +3270,17 @@ void sub_80B933C(struct Task *task) void sub_80B9390(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if ((++task->data[2]) >= 8) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); - StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->inanimate = 1; - FieldObjectSetSpecialAnim(mapObject, 0x48); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); + StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); + eventObject->inanimate = 1; + EventObjectSetSpecialAnim(eventObject, 0x48); if (task->data[15] & 0x08) { - DestroySprite(&gSprites[mapObject->fieldEffectSpriteId]); + DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]); } task->data[0]++; task->data[2] = 0; @@ -3289,14 +3289,14 @@ void sub_80B9390(struct Task *task) void sub_80B9418(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; if ((++task->data[2]) >= 10) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - FieldObjectClearAnimIfSpecialAnimActive(mapObject); - mapObject->inanimate = 0; - mapObject->hasShadow = 0; - sub_80B9560(task->data[1], mapObject->spriteId); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + EventObjectClearAnimIfSpecialAnimActive(eventObject); + eventObject->inanimate = 0; + eventObject->hasShadow = 0; + sub_80B9560(task->data[1], eventObject->spriteId); CameraObjectReset2(); task->data[0]++; } @@ -3501,9 +3501,9 @@ void sub_80B97D4(u8 taskId) void sub_80B9804(struct Task *task) { - struct MapObject *mapObject; - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) || FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) + struct EventObject *eventObject; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) { task->data[0]++; task->data[2] = 17; @@ -3512,27 +3512,27 @@ void sub_80B9804(struct Task *task) SetPlayerAvatarStateMask(0x01); if (task->data[15] & 0x08) { - sub_81555AC(mapObject->fieldEffectSpriteId, 0); + sub_81555AC(eventObject->fieldEffectSpriteId, 0); } - FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); + EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x3)); CameraObjectReset2(); - FieldObjectTurn(mapObject, DIR_WEST); - StartSpriteAnim(&gSprites[mapObject->spriteId], 0x16); - mapObject->invisible = 0; + EventObjectTurn(eventObject, DIR_WEST); + StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); + eventObject->invisible = 0; task->data[1] = sub_80B94C4(); sub_80B9524(task->data[1]); - sub_80B9560(task->data[1], mapObject->spriteId); + sub_80B9560(task->data[1], eventObject->spriteId); } } void sub_80B98B8(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; if (task->data[2] == 0 || (--task->data[2]) == 0) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + sprite = &gSprites[eventObject->spriteId]; sub_80B9560(task->data[1], 0x40); sprite->pos1.x += sprite->pos2.x; sprite->pos1.y += sprite->pos2.y; @@ -3575,26 +3575,26 @@ void sub_80B9924(struct Task *task) void sub_80B9978(struct Task *task) { - struct MapObject *mapObject; + struct EventObject *eventObject; struct Sprite *sprite; if (sub_80B9508(task->data[1])) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sprite = &gSprites[mapObject->spriteId]; - mapObject->inanimate = 0; - sub_808EB08(mapObject, mapObject->currentCoords.x, mapObject->currentCoords.y); + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; + sprite = &gSprites[eventObject->spriteId]; + eventObject->inanimate = 0; + sub_808EB08(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); sprite->pos2.x = 0; sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; sub_808C114(); - FieldObjectSetSpecialAnim(mapObject, 0x39); + EventObjectSetSpecialAnim(eventObject, 0x39); task->data[0]++; } } void sub_80B99F0(struct Task *task) { - if (FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gPlayerAvatar.mapObjectId])) + if (EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gPlayerAvatar.eventObjectId])) { task->data[0]++; sub_80B9794(task->data[1]); @@ -3614,18 +3614,18 @@ void sub_80B9A28(struct Task *task) void sub_80B9A60(struct Task *task) { u8 state; - struct MapObject *mapObject; + struct EventObject *eventObject; if ((--task->data[1]) == 0) { - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; state = 0; if (task->data[15] & 0x08) { state = 3; - sub_81555AC(mapObject->fieldEffectSpriteId, 1); + sub_81555AC(eventObject->fieldEffectSpriteId, 1); } - FieldObjectSetGraphicsId(mapObject, GetPlayerAvatarGraphicsIdByStateId(state)); - FieldObjectTurn(mapObject, DIR_SOUTH); + EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(state)); + EventObjectTurn(eventObject, DIR_SOUTH); gPlayerAvatar.flags = task->data[15]; gPlayerAvatar.preventStep = FALSE; FieldEffectActiveListRemove(FLDEFF_FLY_IN); @@ -3638,11 +3638,11 @@ void sub_80B9BE8(u8 taskId); bool8 sub_80B9ADC(void) { u8 taskId; - u8 mapObjectIdBuffer; - if (!TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &mapObjectIdBuffer)) + u8 eventObjectIdBuffer; + if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer)) { taskId = CreateTask(sub_80B9BE8, 0x50); - gTasks[taskId].data[2] = mapObjectIdBuffer; + gTasks[taskId].data[2] = eventObjectIdBuffer; gTasks[taskId].data[6] = gFieldEffectArguments[0]; gTasks[taskId].data[7] = gFieldEffectArguments[1]; gTasks[taskId].data[8] = gFieldEffectArguments[2]; @@ -3721,8 +3721,8 @@ void sub_80B9C54(s16* data, u8 taskId) { if (++data[3] > 0x78) { - struct Sprite *sprite = &gSprites[gMapObjects[data[2]].spriteId]; - gMapObjects[data[2]].invisible = TRUE; + struct Sprite *sprite = &gSprites[gEventObjects[data[2]].spriteId]; + gEventObjects[data[2]].invisible = TRUE; BlendPalettes(0x0000FFFF, 0x10, RGB_WHITE); BeginNormalPaletteFade(0x0000FFFF, 0, 0x10, 0, RGB_WHITE); sub_80B9D24(sprite); @@ -3738,7 +3738,7 @@ void sub_80B9CDC(s16* a0, u8 taskId) if (!gPaletteFade.active && !FuncIsActiveTask(sub_80B9B3C)) { InstallCameraPanAheadCallback(); - RemoveFieldObjectByLocalIdAndMap(a0[6], a0[7], a0[8]); + RemoveEventObjectByLocalIdAndMap(a0[6], a0[7], a0[8]); FieldEffectActiveListRemove(0x41); DestroyTask(taskId); } @@ -3837,13 +3837,13 @@ void sub_80B9EDC(u8 taskId); bool8 sub_80B9E28(struct Sprite* sprite) { - u8 mapObjectIdBuffer; - if (!TryGetFieldObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &mapObjectIdBuffer)) + u8 eventObjectIdBuffer; + if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer)) { - struct MapObject *object; + struct EventObject *object; int xPos, yPos; u8 taskId; - object = &gMapObjects[mapObjectIdBuffer]; + object = &gEventObjects[eventObjectIdBuffer]; xPos = object->currentCoords.x - 7; yPos = object->currentCoords.y - 7; xPos = (gFieldEffectArguments[3] - xPos) * 16; @@ -3854,7 +3854,7 @@ bool8 sub_80B9E28(struct Sprite* sprite) gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos; gTasks[taskId].data[8] = gFieldEffectArguments[5]; - gTasks[taskId].data[9] = mapObjectIdBuffer; + gTasks[taskId].data[9] = eventObjectIdBuffer; } return FALSE; } @@ -3883,7 +3883,7 @@ void sub_80B9EDC(u8 taskId) } else { - struct MapObject *object = &gMapObjects[data[9]]; + struct EventObject *object = &gEventObjects[data[9]]; sprite->pos1.x = data[2]; sprite->pos1.y = data[3]; npc_coords_shift_still(object); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 8a4fb7c69..a5058b363 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -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], EventObjectDirectionToImageAnimId(4)); } else { - StartSpriteAnim(&gSprites[spriteId], FieldObjectDirectionToImageAnimId(3)); + StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(3)); } } void sub_80FB768(void) { sub_80FB6EC(); - gMapObjects[gPlayerAvatar.mapObjectId].invisible = TRUE; + gEventObjects[gPlayerAvatar.eventObjectId].invisible = TRUE; pal_fill_black(); CreateTask(Task_HandlePorthole, 80); ScriptContext2_Enable(); diff --git a/src/fldeff_groundshake.c b/src/fldeff_groundshake.c index 6da529d00..60b078982 100644 --- a/src/fldeff_groundshake.c +++ b/src/fldeff_groundshake.c @@ -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(); diff --git a/src/item_menu.c b/src/item_menu.c index 132f39c34..0642c771e 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -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; diff --git a/src/item_use.c b/src/item_use.c index 82d96606a..2044a8c87 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -579,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)]); + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + EventObjectClearAnim(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + npc_sync_anim_pause_bits(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); PlayerTurnInPlace(direction); } void sub_80FDA94(u8 taskId) { - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + if (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); } @@ -595,7 +595,7 @@ void sub_80FDADC(u8 taskId) { s16 *data = gTasks[taskId].data; - if (FieldObjectCheckIfSpecialAnimFinishedOrInactive(&gMapObjects[GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + if (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE || data[2] == FALSE) { sub_80FDA24(gUnknown_085920E4[data[5]]); @@ -727,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; diff --git a/src/load_save.c b/src/load_save.c index 917c1dfe1..0c6df7662 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -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) diff --git a/src/map_obj_lock.c b/src/map_obj_lock.c deleted file mode 100644 index 6647f629b..000000000 --- a/src/map_obj_lock.c +++ /dev/null @@ -1,186 +0,0 @@ -#include "global.h" -#include "event_data.h" -#include "event_object_movement.h" -#include "field_player_avatar.h" -#include "map_obj_lock.h" -#include "script_movement.h" -#include "task.h" -#include "trainer_see.h" - -bool8 walkrun_is_standing_still(void) -{ - if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION) - return FALSE; - else - return TRUE; -} - -static void sub_80983A4(u8 taskId) -{ - if (walkrun_is_standing_still()) - { - sub_808B864(); - DestroyTask(taskId); - } -} - -bool8 sub_80983C4(void) -{ - if (FuncIsActiveTask(sub_80983A4)) - { - return FALSE; - } - else - { - sub_808BCF4(); - return TRUE; - } -} - - -void ScriptFreezeMapObjects(void) -{ - FreezeMapObjects(); - CreateTask(sub_80983A4, 80); -} - -static void sub_8098400(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - - if (!task->data[0] && walkrun_is_standing_still() == TRUE) - { - sub_808B864(); - task->data[0] = 1; - } - if (!task->data[1] && !gMapObjects[gSelectedMapObject].singleMovementActive) - { - FreezeMapObject(&gMapObjects[gSelectedMapObject]); - task->data[1] = 1; - } - if (task->data[0] && task->data[1]) - DestroyTask(taskId); -} - -bool8 sub_809847C(void) -{ - if (FuncIsActiveTask(sub_8098400)) - { - return FALSE; - } - else - { - sub_808BCF4(); - return TRUE; - } -} - -void LockSelectedMapObject(void) -{ - u8 taskId; - FreezeMapObjectsExceptOne(gSelectedMapObject); - taskId = CreateTask(sub_8098400, 80); - if (!gMapObjects[gSelectedMapObject].singleMovementActive) - { - FreezeMapObject(&gMapObjects[gSelectedMapObject]); - gTasks[taskId].data[1] = 1; - } -} - -void sub_80984F4(void) -{ - u8 objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); - sub_80D338C(); - UnfreezeMapObjects(); -} - -void sub_8098524(void) -{ - u8 objectId; - - if (gMapObjects[gSelectedMapObject].active) - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[gSelectedMapObject]); - objectId = GetFieldObjectIdByLocalIdAndMap(0xFF, 0, 0); - FieldObjectClearAnimIfSpecialAnimFinished(&gMapObjects[objectId]); - sub_80D338C(); - UnfreezeMapObjects(); -} - -void sub_8098574(void) -{ - FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject], gSpecialVar_Facing); -} - -void sub_809859C(void) -{ - FieldObjectClearAnimIfSpecialAnimActive(&gMapObjects[gSelectedMapObject]); -} - -static void sub_80985BC(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - u8 mapObjectId = task->data[2]; - - if (!task->data[0] && walkrun_is_standing_still() == TRUE) - { - sub_808B864(); - task->data[0] = 1; - } - if (!task->data[1] && !gMapObjects[mapObjectId].singleMovementActive) - { - FreezeMapObject(&gMapObjects[mapObjectId]); - task->data[1] = 1; - } - if (task->data[0] && task->data[1]) - DestroyTask(taskId); -} - -void sub_8098630(void) -{ - u8 trainerObjectId1, trainerObjectId2, taskId; - trainerObjectId1 = GetChosenApproachingTrainerMapObjectId(0); - if(gNoOfApproachingTrainers == 2) - { - trainerObjectId2 = GetChosenApproachingTrainerMapObjectId(1); - sub_8098074(trainerObjectId1, trainerObjectId2); - taskId = CreateTask(sub_80985BC, 80); - gTasks[taskId].data[2] = trainerObjectId1; - if(!gMapObjects[trainerObjectId1].singleMovementActive) - { - FreezeMapObject(&gMapObjects[trainerObjectId1]); - gTasks[taskId].data[1] = 1; - } - taskId = CreateTask(sub_80985BC, 81); - gTasks[taskId].data[2] = trainerObjectId2; - if(!gMapObjects[trainerObjectId2].singleMovementActive) - { - FreezeMapObject(&gMapObjects[trainerObjectId2]); - gTasks[taskId].data[1] = 1; - } - } - else - { - FreezeMapObjectsExceptOne(trainerObjectId1); - taskId = CreateTask(sub_80985BC, 80); - gTasks[taskId].data[2] = trainerObjectId1; - if(!gMapObjects[trainerObjectId1].singleMovementActive) - { - FreezeMapObject(&gMapObjects[trainerObjectId1]); - gTasks[taskId].data[1] = 1; - } - } -} - -bool8 sub_8098734(void) -{ - if (FuncIsActiveTask(sub_80985BC)) - { - return FALSE; - } - else - { - sub_808BCF4(); - return TRUE; - } -} diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c index 2ce8a271d..591e3ad9a 100644 --- a/src/mauville_old_man.c +++ b/src/mauville_old_man.c @@ -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? diff --git a/src/naming_screen.c b/src/naming_screen.c index 9ad1a9742..f99d23bc3 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -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); } diff --git a/src/overworld.c b/src/overworld.c index 85bdbc5ea..5b92b8023 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -204,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); @@ -212,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); @@ -267,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 = @@ -352,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, @@ -382,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, @@ -501,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; } } @@ -824,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(); @@ -867,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); @@ -1734,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) @@ -2170,7 +2170,7 @@ static void sub_80869DC(void) gUnknown_03005DEC = 0; gUnknown_03005DE8 = 0; sub_808D438(); - SpawnFieldObjectsInView(0, 0); + SpawnEventObjectsInView(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -2187,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); + SpawnEventObjectsInView(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -2200,7 +2200,7 @@ static void sub_8086A68(void) static void sub_8086A80(void) { - gMapObjects[gPlayerAvatar.mapObjectId].trackedByCamera = 1; + gEventObjects[gPlayerAvatar.eventObjectId].trackedByCamera = 1; InitCameraUpdateCallback(gPlayerAvatar.spriteId); } @@ -2231,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); } @@ -2676,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; @@ -2889,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 ZeroAllLinkPlayerEventObjects(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 = sub_808D4F4(); + 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->singleMovementActive = 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->currentCoords.x = x; - mapObj->currentCoords.y = y; - mapObj->previousCoords.x = x; - mapObj->previousCoords.y = y; - sub_8093038(x, y, &mapObj->initialCoords.x, &mapObj->initialCoords.y); - mapObj->initialCoords.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->currentCoords.x; - *y = mapObj->currentCoords.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->currentElevation; + 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->directionSequenceIndex; + u8 eventObjId = gLinkPlayerEventObjects[linkPlayerId].eventObjId; + struct EventObject *eventObj = &gEventObjects[eventObjId]; + return 16 - (s8)eventObj->directionSequenceIndex; } static u8 GetLinkPlayerIdAt(s16 x, s16 y) @@ -2999,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->currentCoords.x == x && mapObj->currentCoords.y == y) + struct EventObject *eventObj = &gEventObjects[gLinkPlayerEventObjects[i].eventObjId]; + if (eventObj->currentCoords.x == x && eventObj->currentCoords.y == y) return i; } } @@ -3012,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->triggerGroundEffectsOnMove = 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->directionSequenceIndex = 16; - npc_coords_shift(mapObj, x, y); - FieldObjectUpdateZCoord(mapObj); + eventObj->directionSequenceIndex = 16; + npc_coords_shift(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->directionSequenceIndex--; - linkPlayerMapObj->mode = 1; - MoveCoords(mapObj->range.as_byte, &mapObj->initialCoords.x, &mapObj->initialCoords.y); - if (!mapObj->directionSequenceIndex) + 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; + npc_coords_shift_still(eventObj); + linkPlayerEventObj->mode = 2; } } @@ -3108,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].currentCoords.x == x && gMapObjects[i].currentCoords.y == y) - || (gMapObjects[i].previousCoords.x == x && gMapObjects[i].previousCoords.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; } @@ -3127,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->singleMovementActive), 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->singleMovementActive), 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->singleMovementActive), 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->triggerGroundEffectsOnMove = 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->initialCoords.x; - sprite->pos1.y = mapObj->initialCoords.y; - SetObjectSubpriorityByZCoord(mapObj->previousElevation, sprite, 1); - sprite->oam.priority = ZCoordToPriority(mapObj->previousElevation); + 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, EventObjectDirectionToImageAnimId(eventObj->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->range.as_byte)); + StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(eventObj->range.as_byte)); sub_80979D4(sprite, 0); - if (mapObj->triggerGroundEffectsOnMove) + if (eventObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); sprite->data[7]++; diff --git a/src/rom6.c b/src/rom6.c index 9b505a205..60447f641 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -1,5 +1,5 @@ #include "global.h" -#include "constants/map_objects.h" +#include "constants/event_objects.h" #include "constants/songs.h" #include "rom6.h" #include "braille_puzzles.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 (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gEventObjects[eventObjId]) + || EventObjectClearAnimIfSpecialAnimFinished(&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); + EventObjectSetSpecialAnim(&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 (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[gPlayerAvatar.eventObjectId]) == TRUE) { FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); gTasks[taskId].func = sub_8135578; @@ -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; diff --git a/src/scrcmd.c b/src/scrcmd.c index e36b60718..e3edb5abf 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -24,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" @@ -1051,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; } @@ -1061,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; } @@ -1099,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; } @@ -1154,9 +1154,9 @@ bool8 ScrCmd_resetobjectpriority(struct ScriptContext *ctx) bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) { - if (gMapObjects[gSelectedMapObject].active) + if (gEventObjects[gSelectedEventObject].active) { - FieldObjectFaceOppositeDirection(&gMapObjects[gSelectedMapObject], + EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], player_get_direction_lower_nybble()); } return FALSE; @@ -1167,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; } @@ -1176,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; } @@ -1210,7 +1210,7 @@ bool8 ScrCmd_lockall(struct ScriptContext *ctx) } else { - ScriptFreezeMapObjects(); + ScriptFreezeEventObjects(); SetupNativeScript(ctx, sub_80983C4); return TRUE; } @@ -1224,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; @@ -1243,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); + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); sub_80D338C(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); return FALSE; } @@ -1255,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) + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gSelectedEventObject]); + objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); sub_80D338C(); - UnfreezeMapObjects(); + UnfreezeEventObjects(); return FALSE; } @@ -2178,7 +2178,7 @@ bool8 ScrCmd_mossdeepgym4(struct ScriptContext *ctx) bool8 ScrCmd_cmdD8(struct ScriptContext *ctx) { - gSelectedMapObject = GetCurrentApproachingTrainerMapObjectId(); + gSelectedEventObject = GetCurrentApproachingTrainerEventObjectId(); return FALSE; } @@ -2190,7 +2190,7 @@ bool8 ScrCmd_cmdD9(struct ScriptContext *ctx) } else { - if (gMapObjects[gSelectedMapObject].active) + if (gEventObjects[gSelectedEventObject].active) { sub_8098630(); SetupNativeScript(ctx, sub_8098734); diff --git a/src/script_movement.c b/src/script_movement.c index 02ab55223..27280addf 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -21,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); @@ -73,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) @@ -86,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; } } @@ -97,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; } } @@ -173,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) + npc_sync_anim_pause_bits(&gEventObjects[*pEventObjId]); } } @@ -206,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 (EventObjectIsSpecialAnimActive(&gEventObjects[eventObjId]) + && !EventObjectClearAnimIfSpecialAnimFinished(&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 (!EventObjectSetSpecialAnim(&gEventObjects[eventObjId], var)) { d++; npc_obj_offscreen_culling_and_flag_update(b, d); diff --git a/src/secret_base.c b/src/secret_base.c index 71cf3f1a6..d6f4e24a5 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -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); } } diff --git a/src/start_menu.c b/src/start_menu.c index 9ab8a69ba..7080ae6a8 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -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(); } diff --git a/src/trainer_see.c b/src/trainer_see.c index db8cff8a1..cf47bbe2a 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -15,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 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 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 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); @@ -63,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, @@ -71,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, @@ -87,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, @@ -171,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); @@ -196,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; @@ -206,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(); @@ -221,7 +221,7 @@ bool8 CheckForTrainersWantingBattle(void) } } -static u8 CheckTrainer(u8 mapObjectId) +static u8 CheckTrainer(u8 eventObjectId) { const u8 *scriptPtr; u8 ret = 1; @@ -230,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 @@ -248,7 +248,7 @@ static u8 CheckTrainer(u8 mapObjectId) return 0; } - approachDistance = GetTrainerApproachDistance(&gMapObjects[mapObjectId]); + approachDistance = GetTrainerApproachDistance(&gEventObjects[eventObjectId]); if (approachDistance != 0) { @@ -262,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; @@ -274,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; @@ -300,7 +300,7 @@ 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->currentCoords.x == x && y > trainerObj->currentCoords.y @@ -311,7 +311,7 @@ static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 rang } // 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->currentCoords.x == x && y < trainerObj->currentCoords.y @@ -322,7 +322,7 @@ static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 rang } // 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->currentCoords.y == y && x < trainerObj->currentCoords.x @@ -333,7 +333,7 @@ static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range } // 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->currentCoords.y == y && x > trainerObj->currentCoords.x @@ -345,7 +345,7 @@ static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range #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; @@ -386,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) @@ -417,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) { @@ -429,24 +429,24 @@ 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]); + EventObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); direction = GetFaceDirectionAnimId(trainerObj->facingDirection); - FieldObjectSetSpecialAnim(trainerObj, direction); + EventObjectSetSpecialAnim(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)) { @@ -463,88 +463,88 @@ static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct MapObject *trainer } } -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 (!(EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)) || EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) { if (task->tTrainerRange) { - FieldObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); + EventObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); task->tTrainerRange--; } else { - FieldObjectSetSpecialAnim(trainerObj, 0x3E); + EventObjectSetSpecialAnim(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 (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) return FALSE; npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); sub_808F23C(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); sub_808F208(trainerObj); - playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !FieldObjectClearAnimIfSpecialAnimFinished(playerObj)) + playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; + if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !EventObjectClearAnimIfSpecialAnimFinished(playerObj)) return FALSE; sub_808BCE8(); - FieldObjectSetSpecialAnim(&gMapObjects[gPlayerAvatar.mapObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); + EventObjectSetSpecialAnim(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionAnimId(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 (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) + || EventObjectClearAnimIfSpecialAnimFinished(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 (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) + || EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) { - FieldObjectSetSpecialAnim(trainerObj, 0x59); + EventObjectSetSpecialAnim(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 (EventObjectClearAnimIfSpecialAnimFinished(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 (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) + || EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) { - FieldObjectSetSpecialAnim(trainerObj, 0x3E); + EventObjectSetSpecialAnim(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 (EventObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj)) { gFieldEffectArguments[0] = trainerObj->currentCoords.x; gFieldEffectArguments[1] = trainerObj->currentCoords.y; @@ -556,7 +556,7 @@ 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; @@ -567,15 +567,15 @@ static bool8 sub_80B4438(u8 taskId, struct Task *task, struct MapObject *trainer sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; - FieldObjectClearAnimIfSpecialAnimFinished(trainerObj); - FieldObjectSetSpecialAnim(trainerObj, sub_80934BC(trainerObj->facingDirection)); + EventObjectClearAnimIfSpecialAnimFinished(trainerObj); + EventObjectSetSpecialAnim(trainerObj, sub_80934BC(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; @@ -586,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); + EventObjectClearAnim(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->facingDirection)); - sub_808F23C(mapObj, npc_running_behaviour_by_direction(mapObj->facingDirection)); + npc_set_running_behaviour_etc(eventObj, npc_running_behaviour_by_direction(eventObj->facingDirection)); + sub_808F23C(eventObj, npc_running_behaviour_by_direction(eventObj->facingDirection)); DestroyTask(taskId); } else { - mapObj->heldMovementFinished = 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); } @@ -637,8 +637,8 @@ void sub_80B45D0(void) { gApproachingTrainerId++; gSpecialVar_Result = 1; - UnfreezeMapObjects(); - FreezeMapObjectsExceptOne(gApproachingTrainers[1].mapObjectId); + UnfreezeEventObjects(); + FreezeEventObjectsExceptOne(gApproachingTrainers[1].eventObjectId); } else { @@ -710,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 @@ -739,38 +739,38 @@ 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]; + trainerObj = &gEventObjects[gApproachingTrainers[gUnknown_03006080].eventObjectId]; gUnknown_03006084[0] = GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection)); gUnknown_03006084[1] = 0xFE; ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); } else { - trainerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; + trainerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; gUnknown_03006084[0] = GetFaceDirectionAnimId(trainerObj->facingDirection); gUnknown_03006084[1] = 0xFE; ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); diff --git a/src/tv.c b/src/tv.c index 5c1037293..2219a720b 100644 --- a/src/tv.c +++ b/src/tv.c @@ -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); } -- cgit v1.2.3 From 4d13e3394ad44eaa5dab972e73985dd1820069ea Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 13 Jun 2018 17:51:26 -0500 Subject: Bring all movement function names up-to-date with pokeruby --- src/battle_setup.c | 2 +- src/berry.c | 4 +- src/bike.c | 18 +- .../field_event_obj/movement_action_func_tables.h | 2398 ++++---- .../field_event_obj/movement_type_func_tables.h | 594 +- src/decoration.c | 2 +- src/event_obj_lock.c | 8 +- src/event_object_movement.c | 5800 +++++++++++++------- src/field_camera.c | 2 +- src/field_effect.c | 86 +- src/field_special_scene.c | 4 +- src/item_use.c | 12 +- src/overworld.c | 22 +- src/rom6.c | 10 +- src/scrcmd.c | 10 +- src/script_movement.c | 8 +- src/trainer_see.c | 72 +- 17 files changed, 5324 insertions(+), 3728 deletions(-) (limited to 'src') diff --git a/src/battle_setup.c b/src/battle_setup.c index 2875aaff2..ccc36b7c2 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1203,7 +1203,7 @@ void sub_80B16D8(void) { struct EventObject *eventObject = &gEventObjects[gSelectedEventObject]; - npc_set_running_behaviour_etc(eventObject, npc_running_behaviour_by_direction(eventObject->facingDirection)); + SetTrainerMovementType(eventObject, GetTrainerFacingDirectionMovementType(eventObject->facingDirection)); } u8 GetTrainerBattleMode(void) diff --git a/src/berry.c b/src/berry.c index 7b83743a7..f8a0204c4 100644 --- a/src/berry.c +++ b/src/berry.c @@ -12,7 +12,7 @@ extern u8 EventObjectGetBerryTreeId(u8 eventObjectId); extern void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup); extern void CB2_ChooseBerry(void); extern const u8* GetEventObjectScriptPointerForComparison(void); -extern bool8 sub_8092E9C(u8, u8, u8); +extern bool8 IsBerryTreeSparkling(u8, u8, u8); extern u16 gSpecialVar_ItemId; @@ -1166,7 +1166,7 @@ void EventObjectInteractionGetBerryTreeData(void) 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); diff --git a/src/bike.c b/src/bike.c index d44bb1043..87110b87b 100644 --- a/src/bike.c +++ b/src/bike.c @@ -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) @@ -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. @@ -378,7 +378,7 @@ static u8 AcroBikeHandleInputWheelieStanding(u8 *newDirection, u16 newKeys, u16 u8 direction; struct EventObject *playerEventObj; - direction = player_get_direction_upper_nybble(); + direction = GetPlayerMovementDirection(); playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; gPlayerAvatar.runningState = NOT_MOVING; @@ -425,7 +425,7 @@ static u8 AcroBikeHandleInputBunnyHop(u8 *newDirection, u16 newKeys, u16 heldKey u8 direction; struct EventObject *playerEventObj; - direction = player_get_direction_upper_nybble(); + direction = GetPlayerMovementDirection(); playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!(heldKeys & B_BUTTON)) { @@ -472,7 +472,7 @@ static u8 AcroBikeHandleInputWheelieMoving(u8 *newDirection, u16 newKeys, u16 he u8 direction; struct EventObject *playerEventObj; - direction = player_get_direction_lower_nybble(); + direction = GetPlayerFacingDirection(); playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; if (!(heldKeys & B_BUTTON)) { @@ -527,7 +527,7 @@ static u8 AcroBikeHandleInputSidewaysJump(u8 *ptr, u16 newKeys, u16 heldKeys) struct EventObject *playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; playerEventObj->facingDirectionLocked = 0; - EventObjectSetDirection(playerEventObj, playerEventObj->facingDirection); + SetEventObjectDirection(playerEventObj, playerEventObj->facingDirection); gPlayerAvatar.acroBikeState = ACRO_STATE_NORMAL; return CheckMovementInputAcroBike(ptr, newKeys, heldKeys); } @@ -672,7 +672,7 @@ static void AcroBikeTransition_SideJump(u8 direction) playerEventObj = &gEventObjects[gPlayerAvatar.eventObjectId]; PlaySE(SE_JITE_PYOKO); playerEventObj->facingDirectionLocked = 1; - PlayerSetAnimId(sub_8093514(direction), 2); + PlayerSetAnimId(GetJumpMovementAction(direction), 2); } static void AcroBikeTransition_TurnJump(u8 direction) @@ -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()); } } } diff --git a/src/data/field_event_obj/movement_action_func_tables.h b/src/data/field_event_obj/movement_action_func_tables.h index 519ca771a..b24f5dea4 100755 --- a/src/data/field_event_obj/movement_action_func_tables.h +++ b/src/data/field_event_obj/movement_action_func_tables.h @@ -2,1505 +2,1517 @@ #define GUARD_MOVEMENT_ACTION_FUNC_TABLES_H u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *); -u8 sub_8093950(struct EventObject *, struct Sprite *); -u8 sub_80964BC(struct EventObject *, struct Sprite *); -u8 sub_8093960(struct EventObject *, struct Sprite *); -u8 sub_8093970(struct EventObject *, struct Sprite *); -u8 sub_8093980(struct EventObject *, struct Sprite *); -u8 sub_8093BC4(struct EventObject *, struct Sprite *); -u8 sub_8093BC4_2(struct EventObject *, struct Sprite *); -u8 sub_8093C04(struct EventObject *, struct Sprite *); -u8 sub_8093C04_2(struct EventObject *, struct Sprite *); -u8 sub_8093C44(struct EventObject *, struct Sprite *); -u8 sub_8093C44_2(struct EventObject *, struct Sprite *); -u8 sub_8093C84(struct EventObject *, struct Sprite *); -u8 sub_8093C84_2(struct EventObject *, struct Sprite *); -u8 sub_8093CC4(struct EventObject *, struct Sprite *); -u8 sub_8093CC4_2(struct EventObject *, struct Sprite *); -u8 sub_8093D04(struct EventObject *, struct Sprite *); -u8 sub_8093D04_2(struct EventObject *, struct Sprite *); -u8 sub_8093D44(struct EventObject *, struct Sprite *); -u8 sub_8093D44_2(struct EventObject *, struct Sprite *); -u8 sub_8093D84(struct EventObject *, struct Sprite *); -u8 sub_8093D84_2(struct EventObject *, struct Sprite *); -u8 sub_8093DC4(struct EventObject *, struct Sprite *); -u8 sub_8093DC4_2(struct EventObject *, struct Sprite *); -u8 sub_8093E04(struct EventObject *, struct Sprite *); -u8 sub_8093E04_2(struct EventObject *, struct Sprite *); -u8 sub_8093E44(struct EventObject *, struct Sprite *); -u8 sub_8093E44_2(struct EventObject *, struct Sprite *); -u8 sub_8093E84(struct EventObject *, struct Sprite *); -u8 sub_8093E84_2(struct EventObject *, struct Sprite *); -u8 sub_8093EC4(struct EventObject *, struct Sprite *); -u8 sub_8093EC4_2(struct EventObject *, struct Sprite *); -u8 sub_8093F04(struct EventObject *, struct Sprite *); -u8 sub_8093F04_2(struct EventObject *, struct Sprite *); -u8 sub_8093F44(struct EventObject *, struct Sprite *); -u8 sub_8093F44_2(struct EventObject *, struct Sprite *); -u8 sub_8093F84(struct EventObject *, struct Sprite *); -u8 sub_8093F84_2(struct EventObject *, struct Sprite *); -u8 sub_8094230(struct EventObject *, struct Sprite *); -u8 sub_8094230_2(struct EventObject *, struct Sprite *); -u8 sub_8094288(struct EventObject *, struct Sprite *); -u8 sub_8094288_2(struct EventObject *, struct Sprite *); -u8 sub_80942E0(struct EventObject *, struct Sprite *); -u8 sub_80942E0_2(struct EventObject *, struct Sprite *); -u8 sub_8094338(struct EventObject *, struct Sprite *); -u8 sub_8094338_2(struct EventObject *, struct Sprite *); -u8 sub_80943B4(struct EventObject *, struct Sprite *); -u8 sub_8094398(struct EventObject *, struct Sprite *); -u8 sub_80964B8(struct EventObject *, struct Sprite *); -u8 sub_80943D4(struct EventObject *, struct Sprite *); -u8 sub_80943F4(struct EventObject *, struct Sprite *); -u8 sub_8094414(struct EventObject *, struct Sprite *); -u8 sub_8094434(struct EventObject *, struct Sprite *); -u8 sub_8094454(struct EventObject *, struct Sprite *); -u8 sub_8094454_2(struct EventObject *, struct Sprite *); -u8 sub_8094494(struct EventObject *, struct Sprite *); -u8 sub_8094494_2(struct EventObject *, struct Sprite *); -u8 sub_80944D4(struct EventObject *, struct Sprite *); -u8 sub_80944D4_2(struct EventObject *, struct Sprite *); -u8 sub_8094514(struct EventObject *, struct Sprite *); -u8 sub_8094514_2(struct EventObject *, struct Sprite *); -u8 sub_8094600(struct EventObject *, struct Sprite *); -u8 sub_80945C4(struct EventObject *, struct Sprite *); -u8 sub_8094638(struct EventObject *, struct Sprite *); -u8 sub_8094670(struct EventObject *, struct Sprite *); -u8 sub_80946A8(struct EventObject *, struct Sprite *); -u8 sub_80946E0(struct EventObject *, struct Sprite *); -u8 sub_809459C(struct EventObject *, struct Sprite *); -u8 sub_8094718(struct EventObject *, struct Sprite *); -u8 sub_8094750(struct EventObject *, struct Sprite *); -u8 sub_8094788(struct EventObject *, struct Sprite *); -u8 sub_80947C0(struct EventObject *, struct Sprite *); -u8 sub_80947F8(struct EventObject *, struct Sprite *); -u8 sub_8094830(struct EventObject *, struct Sprite *); -u8 sub_8094868(struct EventObject *, struct Sprite *); -u8 sub_80948A0(struct EventObject *, struct Sprite *); -u8 sub_80948D8(struct EventObject *, struct Sprite *); -u8 sub_8094910(struct EventObject *, struct Sprite *); -u8 sub_8094948(struct EventObject *, struct Sprite *); -u8 sub_8094980(struct EventObject *, struct Sprite *); -u8 sub_8094980_2(struct EventObject *, struct Sprite *); -u8 sub_80949C0(struct EventObject *, struct Sprite *); -u8 sub_80949C0_2(struct EventObject *, struct Sprite *); -u8 sub_8094A00(struct EventObject *, struct Sprite *); -u8 sub_8094A00_2(struct EventObject *, struct Sprite *); -u8 sub_8094A40(struct EventObject *, struct Sprite *); -u8 sub_8094A40_2(struct EventObject *, struct Sprite *); -u8 sub_8094A80(struct EventObject *, struct Sprite *); -u8 sub_8094A80_2(struct EventObject *, struct Sprite *); -u8 sub_8094AC0(struct EventObject *, struct Sprite *); -u8 sub_8094AC0_2(struct EventObject *, struct Sprite *); -u8 sub_8094B00(struct EventObject *, struct Sprite *); -u8 sub_8094B00_2(struct EventObject *, struct Sprite *); -u8 sub_8094B40(struct EventObject *, struct Sprite *); -u8 sub_8094B40_2(struct EventObject *, struct Sprite *); -u8 sub_8094B80(struct EventObject *, struct Sprite *); -u8 sub_8094B80_2(struct EventObject *, struct Sprite *); -u8 sub_8094BC0(struct EventObject *, struct Sprite *); -u8 sub_8094BC0_2(struct EventObject *, struct Sprite *); -u8 sub_8094C00(struct EventObject *, struct Sprite *); -u8 sub_8094C00_2(struct EventObject *, struct Sprite *); -u8 sub_8094C40(struct EventObject *, struct Sprite *); -u8 sub_8094C40_2(struct EventObject *, struct Sprite *); -u8 sub_8094C80(struct EventObject *, struct Sprite *); -u8 sub_8094C80_2(struct EventObject *, struct Sprite *); -u8 sub_8094CC0(struct EventObject *, struct Sprite *); -u8 sub_8094CC0_2(struct EventObject *, struct Sprite *); -u8 sub_8094D00(struct EventObject *, struct Sprite *); -u8 sub_8094D00_2(struct EventObject *, struct Sprite *); -u8 sub_8094D40(struct EventObject *, struct Sprite *); -u8 sub_8094D40_2(struct EventObject *, struct Sprite *); -u8 sub_8094DAC(struct EventObject *, struct Sprite *); -u8 sub_8094DC4(struct EventObject *, struct Sprite *); -u8 sub_8094E18(struct EventObject *, struct Sprite *); -u8 sub_8094E18_2(struct EventObject *, struct Sprite *); -u8 sub_8094E60(struct EventObject *, struct Sprite *); -u8 sub_8094E60_2(struct EventObject *, struct Sprite *); -u8 sub_8094EB8(struct EventObject *, struct Sprite *); -u8 sub_8094EB8_2(struct EventObject *, struct Sprite *); -u8 sub_8094710(struct EventObject *, struct Sprite *); -u8 sub_8094710_2(struct EventObject *, struct Sprite *); -u8 sub_8094F38(struct EventObject *, struct Sprite *); -u8 sub_8094F94(struct EventObject *, struct Sprite *); -u8 sub_8094FF8(struct EventObject *, struct Sprite *); -u8 sub_8095008(struct EventObject *, struct Sprite *); -u8 sub_8095018(struct EventObject *, struct Sprite *); -u8 sub_8095018_2(struct EventObject *, struct Sprite *); -u8 sub_8095070(struct EventObject *, struct Sprite *); -u8 sub_8095070_2(struct EventObject *, struct Sprite *); -u8 sub_80950C8(struct EventObject *, struct Sprite *); -u8 sub_80950C8_2(struct EventObject *, struct Sprite *); -u8 sub_8095120(struct EventObject *, struct Sprite *); -u8 sub_8095120_2(struct EventObject *, struct Sprite *); -u8 sub_8095178(struct EventObject *, struct Sprite *); -u8 sub_8095178_2(struct EventObject *, struct Sprite *); -u8 sub_80951D0(struct EventObject *, struct Sprite *); -u8 sub_80951D0_2(struct EventObject *, struct Sprite *); -u8 sub_8095228(struct EventObject *, struct Sprite *); -u8 sub_8095228_2(struct EventObject *, struct Sprite *); -u8 sub_8095280(struct EventObject *, struct Sprite *); -u8 sub_8095280_2(struct EventObject *, struct Sprite *); -u8 sub_80952D8(struct EventObject *, struct Sprite *); -u8 sub_80952D8_2(struct EventObject *, struct Sprite *); -u8 sub_8095330(struct EventObject *, struct Sprite *); -u8 sub_8095330_2(struct EventObject *, struct Sprite *); -u8 sub_8095388(struct EventObject *, struct Sprite *); -u8 sub_8095388_2(struct EventObject *, struct Sprite *); -u8 sub_80953E0(struct EventObject *, struct Sprite *); -u8 sub_80953E0_2(struct EventObject *, struct Sprite *); -u8 sub_8095438(struct EventObject *, struct Sprite *); -u8 sub_8095450(struct EventObject *, struct Sprite *); -u8 sub_8095460(struct EventObject *, struct Sprite *); -u8 sub_8095470(struct EventObject *, struct Sprite *); -u8 sub_8095480(struct EventObject *, struct Sprite *); -u8 sub_8095490(struct EventObject *, struct Sprite *); -u8 sub_80954BC(struct EventObject *, struct Sprite *); -u8 sub_80954CC(struct EventObject *, struct Sprite *); -u8 do_exclamation_mark_bubble_1(struct EventObject *, struct Sprite *); -u8 do_exclamation_mark_bubble_2(struct EventObject *, struct Sprite *); -u8 do_heart_bubble(struct EventObject *, struct Sprite *); -u8 sub_8095548(struct EventObject *, struct Sprite *); -u8 sub_809558C(struct EventObject *, struct Sprite *); -u8 sub_80955AC(struct EventObject *, struct Sprite *); -u8 sub_80955C8(struct EventObject *, struct Sprite *); -u8 sub_80955EC(struct EventObject *, struct Sprite *); -u8 sub_8095628(struct EventObject *, struct Sprite *); -u8 sub_8095644(struct EventObject *, struct Sprite *); -u8 sub_8095668(struct EventObject *, struct Sprite *); -u8 sub_80956A4(struct EventObject *, struct Sprite *); -u8 sub_80956B4(struct EventObject *, struct Sprite *); -u8 sub_80956C4(struct EventObject *, struct Sprite *); -u8 sub_80956F4(struct EventObject *, struct Sprite *); -u8 sub_8095724(struct EventObject *, struct Sprite *); -u8 sub_8095730(struct EventObject *, struct Sprite *); -u8 sub_8095740(struct EventObject *, struct Sprite *); -u8 sub_8095740_2(struct EventObject *, struct Sprite *); -u8 sub_80957A0(struct EventObject *, struct Sprite *); -u8 sub_80957A0_2(struct EventObject *, struct Sprite *); -u8 sub_8095800(struct EventObject *, struct Sprite *); -u8 sub_8095800_2(struct EventObject *, struct Sprite *); -u8 sub_8095860(struct EventObject *, struct Sprite *); -u8 sub_8095860_2(struct EventObject *, struct Sprite *); -u8 sub_8095900(struct EventObject *, struct Sprite *); -u8 sub_8095910(struct EventObject *, struct Sprite *); -u8 sub_8095920(struct EventObject *, struct Sprite *); -u8 sub_8095930(struct EventObject *, struct Sprite *); -u8 sub_8095940(struct EventObject *, struct Sprite *); -u8 sub_8095964(struct EventObject *, struct Sprite *); -u8 sub_8095988(struct EventObject *, struct Sprite *); -u8 sub_80959AC(struct EventObject *, struct Sprite *); -u8 sub_80959D0(struct EventObject *, struct Sprite *); -u8 sub_80959F4(struct EventObject *, struct Sprite *); -u8 sub_8095A18(struct EventObject *, struct Sprite *); -u8 sub_8095A3C(struct EventObject *, struct Sprite *); -u8 sub_8095A60(struct EventObject *, struct Sprite *); -u8 sub_8095A84(struct EventObject *, struct Sprite *); -u8 sub_8095AA8(struct EventObject *, struct Sprite *); -u8 sub_8095ACC(struct EventObject *, struct Sprite *); -u8 sub_8095B44(struct EventObject *, struct Sprite *); -u8 sub_8095B64(struct EventObject *, struct Sprite *); -u8 sub_8095BC8(struct EventObject *, struct Sprite *); -u8 sub_8095BC8_2(struct EventObject *, struct Sprite *); -u8 sub_8095C20(struct EventObject *, struct Sprite *); -u8 sub_8095C20_2(struct EventObject *, struct Sprite *); -u8 sub_8095C78(struct EventObject *, struct Sprite *); -u8 sub_8095C78_2(struct EventObject *, struct Sprite *); -u8 sub_8095CD0(struct EventObject *, struct Sprite *); -u8 sub_8095CD0_2(struct EventObject *, struct Sprite *); -u8 sub_8095D28(struct EventObject *, struct Sprite *); -u8 sub_8095D28_2(struct EventObject *, struct Sprite *); -u8 sub_8095D80(struct EventObject *, struct Sprite *); -u8 sub_8095D80_2(struct EventObject *, struct Sprite *); -u8 sub_8095DD8(struct EventObject *, struct Sprite *); -u8 sub_8095DD8_2(struct EventObject *, struct Sprite *); -u8 sub_8095E30(struct EventObject *, struct Sprite *); -u8 sub_8095E30_2(struct EventObject *, struct Sprite *); -u8 sub_8095E88(struct EventObject *, struct Sprite *); -u8 sub_8095E88_2(struct EventObject *, struct Sprite *); -u8 sub_8095EE0(struct EventObject *, struct Sprite *); -u8 sub_8095EE0_2(struct EventObject *, struct Sprite *); -u8 sub_8095F38(struct EventObject *, struct Sprite *); -u8 sub_8095F38_2(struct EventObject *, struct Sprite *); -u8 sub_8095F90(struct EventObject *, struct Sprite *); -u8 sub_8095F90_2(struct EventObject *, struct Sprite *); -u8 sub_8095FE8(struct EventObject *, struct Sprite *); -u8 sub_8096020(struct EventObject *, struct Sprite *); -u8 sub_8096058(struct EventObject *, struct Sprite *); -u8 sub_8096090(struct EventObject *, struct Sprite *); -u8 sub_8096100(struct EventObject *, struct Sprite *); -u8 sub_8096100_2(struct EventObject *, struct Sprite *); -u8 sub_8096140(struct EventObject *, struct Sprite *); -u8 sub_8096140_2(struct EventObject *, struct Sprite *); -u8 sub_8096180(struct EventObject *, struct Sprite *); -u8 sub_8096180_2(struct EventObject *, struct Sprite *); -u8 sub_80961C0(struct EventObject *, struct Sprite *); -u8 sub_80961C0_2(struct EventObject *, struct Sprite *); -u8 sub_8096230(struct EventObject *, struct Sprite *); -u8 sub_8096230_2(struct EventObject *, struct Sprite *); -u8 sub_8096270(struct EventObject *, struct Sprite *); -u8 sub_8096270_2(struct EventObject *, struct Sprite *); -u8 sub_80962B0(struct EventObject *, struct Sprite *); -u8 sub_80962B0_2(struct EventObject *, struct Sprite *); -u8 sub_80962F0(struct EventObject *, struct Sprite *); -u8 sub_80962F0_2(struct EventObject *, struct Sprite *); -u8 sub_8096368(struct EventObject *, struct Sprite *); -u8 sub_8096368_2(struct EventObject *, struct Sprite *); -u8 sub_80963A8(struct EventObject *, struct Sprite *); -u8 sub_80963A8_2(struct EventObject *, struct Sprite *); -u8 sub_80963E8(struct EventObject *, struct Sprite *); -u8 sub_80963E8_2(struct EventObject *, struct Sprite *); -u8 sub_8096428(struct EventObject *, struct Sprite *); -u8 sub_8096428_2(struct EventObject *, struct Sprite *); -u8 sub_8096468(struct EventObject *, struct Sprite *); -u8 sub_809647C(struct EventObject *, struct Sprite *); -u8 sub_8096494(struct EventObject *, struct Sprite *); -u8 sub_8097E50(struct EventObject *, struct Sprite *); -u8 sub_80964B8(struct EventObject *, struct Sprite *); -u8 sub_8097EF0(struct EventObject *, struct Sprite *); -u8 sub_80980C0(struct EventObject *, struct Sprite *); -u8 sub_80980D0(struct EventObject *, struct Sprite *); -u8 sub_8098124(struct EventObject *, struct Sprite *); -u8 sub_80980F4(struct EventObject *, struct Sprite *); -u8 sub_8098108(struct EventObject *, struct Sprite *); - -u8 (*const gUnknown_0850DEC8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DED0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DED8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DEE0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF2C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF38[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF44[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF50[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF8C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF98[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFA4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFB0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFC8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFD4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFE0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFEC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DFF8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E004[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E010[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E01C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E028[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E034[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E040[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E04C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E058[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E064[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E070[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E07C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E088[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E094[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0A0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0AC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0B8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0C4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0D0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0DC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0E8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E0F4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E100[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E10C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E118[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E124[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E130[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E13C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E148[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E154[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E160[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E16C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E178[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E184[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E190[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E19C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1A8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1B4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1C0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1CC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1D8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1E4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1F0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E1FC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E208[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E214[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E220[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E228[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E230[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E238[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E240[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E24C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E258[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E264[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E270[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E27C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E288[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E294[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2A0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2AC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2B8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2C4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2D0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2D8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2E4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2EC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2F4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E2FC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E304[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E30C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E314[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E31C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E324[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E32C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E338[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E348[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E358[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E360[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E368[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E370[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E378[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E380[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E388[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E394[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3B8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3C0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3C8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3D0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3D8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3E4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3F0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3FC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E408[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E414[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E420[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E42C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E474[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E480[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E48C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E498[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4A4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4B0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4BC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4C8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4D4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4E0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4EC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E4F8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E504[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E510[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E51C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E528[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E534[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E540[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E54C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E558[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E564[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E570[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E57C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E588[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E594[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E5A0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E5AC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E5B8[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF5C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF68[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF74[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF80[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DEFC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF08[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF14[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850DF20[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E854[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E85C[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3A0[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E3AC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E5C4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E5CC[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E5D4[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E468[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E864[])(struct EventObject *, struct Sprite *); -u8 (*const gUnknown_0850E870[])(struct EventObject *, struct Sprite *); - -u8 (*const *const gUnknown_0850DC50[])(struct EventObject *, struct Sprite *) = { - gUnknown_0850DEC8, - gUnknown_0850DED0, - gUnknown_0850DED8, - gUnknown_0850DEE0, - gUnknown_0850DF2C, - gUnknown_0850DF38, - gUnknown_0850DF44, - gUnknown_0850DF50, - gUnknown_0850DF8C, - gUnknown_0850DF98, - gUnknown_0850DFA4, - gUnknown_0850DFB0, - gUnknown_0850DFC8, - gUnknown_0850DFD4, - gUnknown_0850DFE0, - gUnknown_0850DFEC, - gUnknown_0850DFF8, - gUnknown_0850E004, - gUnknown_0850E010, - gUnknown_0850E01C, - gUnknown_0850E028, - gUnknown_0850E034, - gUnknown_0850E040, - gUnknown_0850E04C, - gUnknown_0850E058, - gUnknown_0850E064, - gUnknown_0850E070, - gUnknown_0850E07C, - gUnknown_0850E088, - gUnknown_0850E094, - gUnknown_0850E0A0, - gUnknown_0850E0AC, - gUnknown_0850E0B8, - gUnknown_0850E0C4, - gUnknown_0850E0D0, - gUnknown_0850E0DC, - gUnknown_0850E0E8, - gUnknown_0850E0F4, - gUnknown_0850E100, - gUnknown_0850E10C, - gUnknown_0850E118, - gUnknown_0850E124, - gUnknown_0850E130, - gUnknown_0850E13C, - gUnknown_0850E148, - gUnknown_0850E154, - gUnknown_0850E160, - gUnknown_0850E16C, - gUnknown_0850E178, - gUnknown_0850E184, - gUnknown_0850E190, - gUnknown_0850E19C, - gUnknown_0850E1A8, - gUnknown_0850E1B4, - gUnknown_0850E1C0, - gUnknown_0850E1CC, - gUnknown_0850E1D8, - gUnknown_0850E1E4, - gUnknown_0850E1F0, - gUnknown_0850E1FC, - gUnknown_0850E208, - gUnknown_0850E214, - gUnknown_0850E220, - gUnknown_0850E228, - gUnknown_0850E230, - gUnknown_0850E238, - gUnknown_0850E240, - gUnknown_0850E24C, - gUnknown_0850E258, - gUnknown_0850E264, - gUnknown_0850E270, - gUnknown_0850E27C, - gUnknown_0850E288, - gUnknown_0850E294, - gUnknown_0850E2A0, - gUnknown_0850E2AC, - gUnknown_0850E2B8, - gUnknown_0850E2C4, - gUnknown_0850E2D0, - gUnknown_0850E2D8, - gUnknown_0850E2E4, - gUnknown_0850E2EC, - gUnknown_0850E2F4, - gUnknown_0850E2FC, - gUnknown_0850E304, - gUnknown_0850E30C, - gUnknown_0850E314, - gUnknown_0850E31C, - gUnknown_0850E324, - gUnknown_0850E32C, - gUnknown_0850E338, - gUnknown_0850E348, - gUnknown_0850E358, - gUnknown_0850E360, - gUnknown_0850E368, - gUnknown_0850E370, - gUnknown_0850E378, - gUnknown_0850E380, - gUnknown_0850E388, - gUnknown_0850E394, - gUnknown_0850E3B8, - gUnknown_0850E3C0, - gUnknown_0850E3C8, - gUnknown_0850E3D0, - gUnknown_0850E3D8, - gUnknown_0850E3E4, - gUnknown_0850E3F0, - gUnknown_0850E3FC, - gUnknown_0850E408, - gUnknown_0850E414, - gUnknown_0850E420, - gUnknown_0850E42C, - gUnknown_0850E474, - gUnknown_0850E480, - gUnknown_0850E48C, - gUnknown_0850E498, - gUnknown_0850E4A4, - gUnknown_0850E4B0, - gUnknown_0850E4BC, - gUnknown_0850E4C8, - gUnknown_0850E4D4, - gUnknown_0850E4E0, - gUnknown_0850E4EC, - gUnknown_0850E4F8, - gUnknown_0850E504, - gUnknown_0850E510, - gUnknown_0850E51C, - gUnknown_0850E528, - gUnknown_0850E534, - gUnknown_0850E540, - gUnknown_0850E54C, - gUnknown_0850E558, - gUnknown_0850E564, - gUnknown_0850E570, - gUnknown_0850E57C, - gUnknown_0850E588, - gUnknown_0850E594, - gUnknown_0850E5A0, - gUnknown_0850E5AC, - gUnknown_0850E5B8, - gUnknown_0850DF5C, - gUnknown_0850DF68, - gUnknown_0850DF74, - gUnknown_0850DF80, - gUnknown_0850DEFC, - gUnknown_0850DF08, - gUnknown_0850DF14, - gUnknown_0850DF20, - gUnknown_0850E854, - gUnknown_0850E85C, - gUnknown_0850E3A0, - gUnknown_0850E3AC, - gUnknown_0850E5C4, - gUnknown_0850E5CC, - gUnknown_0850E5D4, - gUnknown_0850E468, - gUnknown_0850E864, - gUnknown_0850E870, -}; - -u8 (*const gUnknown_0850DEC8[])(struct EventObject *, struct Sprite *) = { - sub_8093950, - sub_80964BC, -}; - -u8 (*const gUnknown_0850DED0[])(struct EventObject *, struct Sprite *) = { - sub_8093960, - sub_80964BC, -}; - -u8 (*const gUnknown_0850DED8[])(struct EventObject *, struct Sprite *) = { - sub_8093970, - sub_80964BC, -}; - -u8 (*const gUnknown_0850DEE0[])(struct EventObject *, struct Sprite *) = { - sub_8093980, - sub_80964BC, +u8 MovementAction_FaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PauseSpriteAnim(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkSlowRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkNormalRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Down_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Up_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Left_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Jump2Right_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay1_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Finish(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay2_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay4_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay8_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Delay16_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlow_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceSlowRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlace_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceNormalRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkInPlaceFastestRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkFastestRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SlideRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_PlayerRunRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_StartAnimInDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WaitSpriteAnim(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpSpecialRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_FacePlayer_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_LockFacingDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_FaceOriginalDirection_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_DisableAnimation_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RestoreAnimation_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SetInvisible_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_SetVisible_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EmoteExclamationMark_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EmoteQuestionMark_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_EmoteHeart_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RevealTrainer_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_RockSmashBreak_Step2(struct EventObject *, struct Sprite *); +u8 MovementAction_CutTree_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_CutTree_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_CutTree_Step2(struct EventObject *, struct Sprite *); +u8 MovementAction_SetFixedPriority_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_ClearFixedPriority_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_InitAffineAnim_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_ClearAffineAnim_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Unknown1_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Unknown2_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkDownAffine_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkLeftAffine_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkLeftAffine_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkRightAffine_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_WalkRightAffine_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieFaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieFaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_UnusedAcroActionRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Figure8_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Figure8_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Levitate_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_StopLevitate_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_StoreAndLockAnim_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_Finish(struct EventObject *, struct Sprite *); +u8 MovementAction_FreeAndUnlockAnim_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FlyUp_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FlyUp_Step1(struct EventObject *, struct Sprite *); +u8 MovementAction_Fly_Finish(struct EventObject *, struct Sprite *); +u8 MovementAction_FlyDown_Step0(struct EventObject *, struct Sprite *); +u8 MovementAction_FlyDown_Step1(struct EventObject *, struct Sprite *); + +u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Levitate[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_StopLevitate[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_Figure8[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FlyUp[])(struct EventObject *, struct Sprite *); +u8 (*const gMovementActionFuncs_FlyDown[])(struct EventObject *, struct Sprite *); + +u8 (*const *const gMovementActionFuncs[])(struct EventObject *, struct Sprite *) = { + gMovementActionFuncs_FaceDown, // MOVEMENT_ACTION_FACE_DOWN + gMovementActionFuncs_FaceUp, // MOVEMENT_ACTION_FACE_UP + gMovementActionFuncs_FaceLeft, // MOVEMENT_ACTION_FACE_LEFT + gMovementActionFuncs_FaceRight, // MOVEMENT_ACTION_FACE_RIGHT + gMovementActionFuncs_WalkSlowDown, // MOVEMENT_ACTION_WALK_SLOW_DOWN + gMovementActionFuncs_WalkSlowUp, // MOVEMENT_ACTION_WALK_SLOW_UP + gMovementActionFuncs_WalkSlowLeft, // MOVEMENT_ACTION_WALK_SLOW_LEFT + gMovementActionFuncs_WalkSlowRight, // MOVEMENT_ACTION_WALK_SLOW_RIGHT + gMovementActionFuncs_WalkNormalDown, // MOVEMENT_ACTION_WALK_NORMAL_DOWN + gMovementActionFuncs_WalkNormalUp, // MOVEMENT_ACTION_WALK_NORMAL_UP + gMovementActionFuncs_WalkNormalLeft, // MOVEMENT_ACTION_WALK_NORMAL_LEFT + gMovementActionFuncs_WalkNormalRight, // MOVEMENT_ACTION_WALK_NORMAL_RIGHT + gMovementActionFuncs_Jump2Down, // MOVEMENT_ACTION_JUMP_2_DOWN + gMovementActionFuncs_Jump2Up, // MOVEMENT_ACTION_JUMP_2_UP + gMovementActionFuncs_Jump2Left, // MOVEMENT_ACTION_JUMP_2_LEFT + gMovementActionFuncs_Jump2Right, // MOVEMENT_ACTION_JUMP_2_RIGHT + gMovementActionFuncs_Delay1, // MOVEMENT_ACTION_DELAY_1 + gMovementActionFuncs_Delay2, // MOVEMENT_ACTION_DELAY_2 + gMovementActionFuncs_Delay4, // MOVEMENT_ACTION_DELAY_4 + gMovementActionFuncs_Delay8, // MOVEMENT_ACTION_DELAY_8 + gMovementActionFuncs_Delay16, // MOVEMENT_ACTION_DELAY_16 + gMovementActionFuncs_WalkFastDown, // MOVEMENT_ACTION_WALK_FAST_DOWN + gMovementActionFuncs_WalkFastUp, // MOVEMENT_ACTION_WALK_FAST_UP + gMovementActionFuncs_WalkFastLeft, // MOVEMENT_ACTION_WALK_FAST_LEFT + gMovementActionFuncs_WalkFastRight, // MOVEMENT_ACTION_WALK_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceSlowDown, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN + gMovementActionFuncs_WalkInPlaceSlowUp, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP + gMovementActionFuncs_WalkInPlaceSlowLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT + gMovementActionFuncs_WalkInPlaceSlowRight, // MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT + gMovementActionFuncs_WalkInPlaceNormalDown, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN + gMovementActionFuncs_WalkInPlaceNormalUp, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP + gMovementActionFuncs_WalkInPlaceNormalLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT + gMovementActionFuncs_WalkInPlaceNormalRight, // MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT + gMovementActionFuncs_WalkInPlaceFastDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN + gMovementActionFuncs_WalkInPlaceFastUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP + gMovementActionFuncs_WalkInPlaceFastLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT + gMovementActionFuncs_WalkInPlaceFastRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT + gMovementActionFuncs_WalkInPlaceFastestDown, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN + gMovementActionFuncs_WalkInPlaceFastestUp, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP + gMovementActionFuncs_WalkInPlaceFastestLeft, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT + gMovementActionFuncs_WalkInPlaceFastestRight, // MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT + gMovementActionFuncs_RideWaterCurrentDown, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN + gMovementActionFuncs_RideWaterCurrentUp, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP + gMovementActionFuncs_RideWaterCurrentLeft, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT + gMovementActionFuncs_RideWaterCurrentRight, // MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT + gMovementActionFuncs_WalkFastestDown, // MOVEMENT_ACTION_WALK_FASTEST_DOWN + gMovementActionFuncs_WalkFastestUp, // MOVEMENT_ACTION_WALK_FASTEST_UP + gMovementActionFuncs_WalkFastestLeft, // MOVEMENT_ACTION_WALK_FASTEST_LEFT + gMovementActionFuncs_WalkFastestRight, // MOVEMENT_ACTION_WALK_FASTEST_RIGHT + gMovementActionFuncs_SlideDown, // MOVEMENT_ACTION_SLIDE_DOWN + gMovementActionFuncs_SlideUp, // MOVEMENT_ACTION_SLIDE_UP + gMovementActionFuncs_SlideLeft, // MOVEMENT_ACTION_SLIDE_LEFT + gMovementActionFuncs_SlideRight, // MOVEMENT_ACTION_SLIDE_RIGHT + gMovementActionFuncs_PlayerRunDown, // MOVEMENT_ACTION_PLAYER_RUN_DOWN + gMovementActionFuncs_PlayerRunUp, // MOVEMENT_ACTION_PLAYER_RUN_UP + gMovementActionFuncs_PlayerRunLeft, // MOVEMENT_ACTION_PLAYER_RUN_LEFT + gMovementActionFuncs_PlayerRunRight, // MOVEMENT_ACTION_PLAYER_RUN_RIGHT + gMovementActionFuncs_StartAnimInDirection, // MOVEMENT_ACTION_START_ANIM_IN_DIRECTION + gMovementActionFuncs_JumpSpecialDown, // MOVEMENT_ACTION_JUMP_SPECIAL_DOWN + gMovementActionFuncs_JumpSpecialUp, // MOVEMENT_ACTION_JUMP_SPECIAL_UP + gMovementActionFuncs_JumpSpecialLeft, // MOVEMENT_ACTION_JUMP_SPECIAL_LEFT + gMovementActionFuncs_JumpSpecialRight, // MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT + gMovementActionFuncs_FacePlayer, // MOVEMENT_ACTION_FACE_PLAYER + gMovementActionFuncs_FaceAwayPlayer, // MOVEMENT_ACTION_FACE_AWAY_PLAYER + gMovementActionFuncs_LockFacingDirection, // MOVEMENT_ACTION_LOCK_FACING_DIRECTION + gMovementActionFuncs_UnlockFacingDirection, // MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION + gMovementActionFuncs_JumpDown, // MOVEMENT_ACTION_JUMP_DOWN + gMovementActionFuncs_JumpUp, // MOVEMENT_ACTION_JUMP_UP + gMovementActionFuncs_JumpLeft, // MOVEMENT_ACTION_JUMP_LEFT + gMovementActionFuncs_JumpRight, // MOVEMENT_ACTION_JUMP_RIGHT + gMovementActionFuncs_JumpInPlaceDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN + gMovementActionFuncs_JumpInPlaceUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP + gMovementActionFuncs_JumpInPlaceLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT + gMovementActionFuncs_JumpInPlaceRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT + gMovementActionFuncs_JumpInPlaceDownUp, // MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP + gMovementActionFuncs_JumpInPlaceUpDown, // MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN + gMovementActionFuncs_JumpInPlaceLeftRight, // MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT + gMovementActionFuncs_JumpInPlaceRightLeft, // MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT + gMovementActionFuncs_FaceOriginalDirection, // MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION + gMovementActionFuncs_NurseJoyBowDown, // MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN + gMovementActionFuncs_EnableJumpLandingGroundEffect, // MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableJumpLandingGroundEffect, // MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT + gMovementActionFuncs_DisableAnimation, // MOVEMENT_ACTION_DISABLE_ANIMATION + gMovementActionFuncs_RestoreAnimation, // MOVEMENT_ACTION_RESTORE_ANIMATION + gMovementActionFuncs_SetInvisible, // MOVEMENT_ACTION_SET_INVISIBLE + gMovementActionFuncs_SetVisible, // MOVEMENT_ACTION_SET_VISIBLE + gMovementActionFuncs_EmoteExclamationMark, // MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK + gMovementActionFuncs_EmoteQuestionMark, // MOVEMENT_ACTION_EMOTE_QUESTION_MARK + gMovementActionFuncs_EmoteHeart, // MOVEMENT_ACTION_EMOTE_HEART + gMovementActionFuncs_RevealTrainer, // MOVEMENT_ACTION_REVEAL_TRAINER + gMovementActionFuncs_RockSmashBreak, // MOVEMENT_ACTION_ROCK_SMASH_BREAK + gMovementActionFuncs_CutTree, // MOVEMENT_ACTION_CUT_TREE + gMovementActionFuncs_SetFixedPriority, // MOVEMENT_ACTION_SET_FIXED_PRIORITY + gMovementActionFuncs_ClearFixedPriority, // MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY + gMovementActionFuncs_InitAffineAnim, // MOVEMENT_ACTION_INIT_AFFINE_ANIM + gMovementActionFuncs_ClearAffineAnim, // MOVEMENT_ACTION_CLEAR_AFFINE_ANIM + gMovementActionFuncs_Unknown1, // MOVEMENT_ACTION_UNKNOWN1 + gMovementActionFuncs_Unknown2, // MOVEMENT_ACTION_UNKNOWN2 + gMovementActionFuncs_WalkDownStartAffine, // MOVEMENT_ACTION_WALK_DOWN_START_AFFINE + gMovementActionFuncs_WalkDownAffine, // MOVEMENT_ACTION_WALK_DOWN_AFFINE + gMovementActionFuncs_AcroWheelieFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroWheelieFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP + gMovementActionFuncs_AcroWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroWheelieFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroPopWheelieDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN + gMovementActionFuncs_AcroPopWheelieUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP + gMovementActionFuncs_AcroPopWheelieLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT + gMovementActionFuncs_AcroPopWheelieRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT + gMovementActionFuncs_AcroEndWheelieFaceDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN + gMovementActionFuncs_AcroEndWheelieFaceUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP + gMovementActionFuncs_AcroEndWheelieFaceLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT + gMovementActionFuncs_AcroEndWheelieFaceRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopFaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN + gMovementActionFuncs_AcroWheelieHopFaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP + gMovementActionFuncs_AcroWheelieHopFaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT + gMovementActionFuncs_AcroWheelieHopFaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT + gMovementActionFuncs_AcroWheelieHopDown, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN + gMovementActionFuncs_AcroWheelieHopUp, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP + gMovementActionFuncs_AcroWheelieHopLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT + gMovementActionFuncs_AcroWheelieHopRight, // MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT + gMovementActionFuncs_AcroWheelieJumpDown, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN + gMovementActionFuncs_AcroWheelieJumpUp, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP + gMovementActionFuncs_AcroWheelieJumpLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT + gMovementActionFuncs_AcroWheelieJumpRight, // MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT + gMovementActionFuncs_AcroWheelieInPlaceDown, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN + gMovementActionFuncs_AcroWheelieInPlaceUp, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP + gMovementActionFuncs_AcroWheelieInPlaceLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT + gMovementActionFuncs_AcroWheelieInPlaceRight, // MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT + gMovementActionFuncs_AcroPopWheelieMoveDown, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroPopWheelieMoveUp, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroPopWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroPopWheelieMoveRight, // MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroWheelieMoveDown, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroWheelieMoveUp, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroWheelieMoveRight, // MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_AcroEndWheelieMoveDown, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN + gMovementActionFuncs_AcroEndWheelieMoveUp, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP + gMovementActionFuncs_AcroEndWheelieMoveLeft, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT + gMovementActionFuncs_AcroEndWheelieMoveRight, // MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT + gMovementActionFuncs_WalkNormalDiagonalUpLeft, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT + gMovementActionFuncs_WalkNormalDiagonalUpRight, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT + gMovementActionFuncs_WalkNormalDiagonalDownLeft, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT + gMovementActionFuncs_WalkNormalDiagonalDownRight, // MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT + gMovementActionFuncs_WalkSlowDiagonalUpLeft, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT + gMovementActionFuncs_WalkSlowDiagonalUpRight, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT + gMovementActionFuncs_WalkSlowDiagonalDownLeft, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT + gMovementActionFuncs_WalkSlowDiagonalDownRight, // MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT + gMovementActionFuncs_StoreAndLockAnim, // MOVEMENT_ACTION_STORE_AND_LOCK_ANIM + gMovementActionFuncs_FreeAndUnlockAnim, // MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM + gMovementActionFuncs_WalkLeftAffine, // MOVEMENT_ACTION_WALK_LEFT_AFFINE + gMovementActionFuncs_WalkRightAffine, // MOVEMENT_ACTION_WALK_RIGHT_AFFINE + gMovementActionFuncs_Levitate, // MOVEMENT_ACTION_LEVITATE + gMovementActionFuncs_StopLevitate, // MOVEMENT_ACTION_STOP_LEVITATE + gMovementActionFuncs_DestroyExtraTaskIfAtTop, // MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP + gMovementActionFuncs_Figure8, // MOVEMENT_ACTION_FIGURE_8 + gMovementActionFuncs_FlyUp, // MOVEMENT_ACTION_FLY_UP + gMovementActionFuncs_FlyDown, // MOVEMENT_ACTION_FLY_DOWN +}; + +u8 (*const gMovementActionFuncs_FaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceDown_Step0, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_FaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceUp_Step0, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_FaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceLeft_Step0, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_FaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceRight_Step0, + MovementAction_PauseSpriteAnim, }; u8 (*const gUnknown_0850DEE8[])(u8) = { - get_go_image_anim_num, - get_go_fast_image_anim_num, - get_go_fast_image_anim_num, - get_go_faster_image_anim_num, - get_go_fastest_image_anim_num, + GetMoveDirectionAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFastAnimNum, + GetMoveDirectionFasterAnimNum, + GetMoveDirectionFastestAnimNum, }; -u8 (*const gUnknown_0850DEFC[])(struct EventObject *, struct Sprite *) = { - sub_8093BC4, - sub_8093BC4_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowDiagonalUpLeft_Step0, + MovementAction_WalkSlowDiagonalUpLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF08[])(struct EventObject *, struct Sprite *) = { - sub_8093C04, - sub_8093C04_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowDiagonalUpRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowDiagonalUpRight_Step0, + MovementAction_WalkSlowDiagonalUpRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF14[])(struct EventObject *, struct Sprite *) = { - sub_8093C44, - sub_8093C44_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowDiagonalDownLeft_Step0, + MovementAction_WalkSlowDiagonalDownLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF20[])(struct EventObject *, struct Sprite *) = { - sub_8093C84, - sub_8093C84_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowDiagonalDownRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowDiagonalDownRight_Step0, + MovementAction_WalkSlowDiagonalDownRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF2C[])(struct EventObject *, struct Sprite *) = { - sub_8093CC4, - sub_8093CC4_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowDown_Step0, + MovementAction_WalkSlowDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF38[])(struct EventObject *, struct Sprite *) = { - sub_8093D04, - sub_8093D04_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowUp_Step0, + MovementAction_WalkSlowUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF44[])(struct EventObject *, struct Sprite *) = { - sub_8093D44, - sub_8093D44_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowLeft_Step0, + MovementAction_WalkSlowLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF50[])(struct EventObject *, struct Sprite *) = { - sub_8093D84, - sub_8093D84_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkSlowRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkSlowRight_Step0, + MovementAction_WalkSlowRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF5C[])(struct EventObject *, struct Sprite *) = { - sub_8093DC4, - sub_8093DC4_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalDiagonalUpLeft_Step0, + MovementAction_WalkNormalDiagonalUpLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF68[])(struct EventObject *, struct Sprite *) = { - sub_8093E04, - sub_8093E04_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalDiagonalUpRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalDiagonalUpRight_Step0, + MovementAction_WalkNormalDiagonalUpRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF74[])(struct EventObject *, struct Sprite *) = { - sub_8093E44, - sub_8093E44_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalDiagonalDownLeft_Step0, + MovementAction_WalkNormalDiagonalDownLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF80[])(struct EventObject *, struct Sprite *) = { - sub_8093E84, - sub_8093E84_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalDiagonalDownRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalDiagonalDownRight_Step0, + MovementAction_WalkNormalDiagonalDownRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF8C[])(struct EventObject *, struct Sprite *) = { - sub_8093EC4, - sub_8093EC4_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalDown_Step0, + MovementAction_WalkNormalDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DF98[])(struct EventObject *, struct Sprite *) = { - sub_8093F04, - sub_8093F04_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalUp_Step0, + MovementAction_WalkNormalUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DFA4[])(struct EventObject *, struct Sprite *) = { - sub_8093F44, - sub_8093F44_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalLeft_Step0, + MovementAction_WalkNormalLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850DFB0[])(struct EventObject *, struct Sprite *) = { - sub_8093F84, - sub_8093F84_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkNormalRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkNormalRight_Step0, + MovementAction_WalkNormalRight_Step1, + MovementAction_PauseSpriteAnim, }; const s16 gUnknown_0850DFBC[] = {0, 1, 1}; const s16 gUnknown_0850DFC2[] = {0, 0, 1}; -u8 (*const gUnknown_0850DFC8[])(struct EventObject *, struct Sprite *) = { - sub_8094230, - sub_8094230_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_Jump2Down[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Down_Step0, + MovementAction_Jump2Down_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_Jump2Up[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Up_Step0, + MovementAction_Jump2Up_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_Jump2Left[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Left_Step0, + MovementAction_Jump2Left_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_Jump2Right[])(struct EventObject *, struct Sprite *) = { + MovementAction_Jump2Right_Step0, + MovementAction_Jump2Right_Step1, + MovementAction_PauseSpriteAnim, +}; + +u8 (*const gMovementActionFuncs_Delay1[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay1_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish, }; -u8 (*const gUnknown_0850DFD4[])(struct EventObject *, struct Sprite *) = { - sub_8094288, - sub_8094288_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_Delay2[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay2_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish, }; -u8 (*const gUnknown_0850DFE0[])(struct EventObject *, struct Sprite *) = { - sub_80942E0, - sub_80942E0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_Delay4[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay4_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish, }; -u8 (*const gUnknown_0850DFEC[])(struct EventObject *, struct Sprite *) = { - sub_8094338, - sub_8094338_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_Delay8[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay8_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish, }; -u8 (*const gUnknown_0850DFF8[])(struct EventObject *, struct Sprite *) = { - sub_80943B4, - sub_8094398, - sub_80964B8, +u8 (*const gMovementActionFuncs_Delay16[])(struct EventObject *, struct Sprite *) = { + MovementAction_Delay16_Step0, + MovementAction_Delay_Step1, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E004[])(struct EventObject *, struct Sprite *) = { - sub_80943D4, - sub_8094398, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkFastDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastDown_Step0, + MovementAction_WalkFastDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E010[])(struct EventObject *, struct Sprite *) = { - sub_80943F4, - sub_8094398, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkFastUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastUp_Step0, + MovementAction_WalkFastUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E01C[])(struct EventObject *, struct Sprite *) = { - sub_8094414, - sub_8094398, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkFastLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastLeft_Step0, + MovementAction_WalkFastLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E028[])(struct EventObject *, struct Sprite *) = { - sub_8094434, - sub_8094398, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkFastRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastRight_Step0, + MovementAction_WalkFastRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E034[])(struct EventObject *, struct Sprite *) = { - sub_8094454, - sub_8094454_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceSlowDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowDown_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E040[])(struct EventObject *, struct Sprite *) = { - sub_8094494, - sub_8094494_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceSlowUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowUp_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E04C[])(struct EventObject *, struct Sprite *) = { - sub_80944D4, - sub_80944D4_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceSlowLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowLeft_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E058[])(struct EventObject *, struct Sprite *) = { - sub_8094514, - sub_8094514_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceSlowRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceSlowRight_Step0, + MovementAction_WalkInPlaceSlow_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E064[])(struct EventObject *, struct Sprite *) = { - sub_8094600, - sub_80945C4, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceNormalDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E070[])(struct EventObject *, struct Sprite *) = { - sub_8094638, - sub_80945C4, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceNormalUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E07C[])(struct EventObject *, struct Sprite *) = { - sub_8094670, - sub_80945C4, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceNormalLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E088[])(struct EventObject *, struct Sprite *) = { - sub_80946A8, - sub_80945C4, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceNormalRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceNormalRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E094[])(struct EventObject *, struct Sprite *) = { - sub_80946E0, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0A0[])(struct EventObject *, struct Sprite *) = { - sub_8094718, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0AC[])(struct EventObject *, struct Sprite *) = { - sub_8094750, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0B8[])(struct EventObject *, struct Sprite *) = { - sub_8094788, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0C4[])(struct EventObject *, struct Sprite *) = { - sub_80947C0, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastestDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0D0[])(struct EventObject *, struct Sprite *) = { - sub_80947F8, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastestUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0DC[])(struct EventObject *, struct Sprite *) = { - sub_8094830, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastestLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0E8[])(struct EventObject *, struct Sprite *) = { - sub_8094868, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkInPlaceFastestRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkInPlaceFastestRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E0F4[])(struct EventObject *, struct Sprite *) = { - sub_80948A0, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_RideWaterCurrentDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentDown_Step0, + MovementAction_RideWaterCurrentDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E100[])(struct EventObject *, struct Sprite *) = { - sub_80948D8, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_RideWaterCurrentUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentUp_Step0, + MovementAction_RideWaterCurrentUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E10C[])(struct EventObject *, struct Sprite *) = { - sub_8094910, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_RideWaterCurrentLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentLeft_Step0, + MovementAction_RideWaterCurrentLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E118[])(struct EventObject *, struct Sprite *) = { - sub_8094948, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_RideWaterCurrentRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_RideWaterCurrentRight_Step0, + MovementAction_RideWaterCurrentRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E124[])(struct EventObject *, struct Sprite *) = { - sub_8094980, - sub_8094980_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkFastestDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestDown_Step0, + MovementAction_WalkFastestDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E130[])(struct EventObject *, struct Sprite *) = { - sub_80949C0, - sub_80949C0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkFastestUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestUp_Step0, + MovementAction_WalkFastestUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E13C[])(struct EventObject *, struct Sprite *) = { - sub_8094A00, - sub_8094A00_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkFastestLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestLeft_Step0, + MovementAction_WalkFastestLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E148[])(struct EventObject *, struct Sprite *) = { - sub_8094A40, - sub_8094A40_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_WalkFastestRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkFastestRight_Step0, + MovementAction_WalkFastestRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E154[])(struct EventObject *, struct Sprite *) = { - sub_8094A80, - sub_8094A80_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_SlideDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideDown_Step0, + MovementAction_SlideDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E160[])(struct EventObject *, struct Sprite *) = { - sub_8094AC0, - sub_8094AC0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_SlideUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideUp_Step0, + MovementAction_SlideUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E16C[])(struct EventObject *, struct Sprite *) = { - sub_8094B00, - sub_8094B00_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_SlideLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideLeft_Step0, + MovementAction_SlideLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E178[])(struct EventObject *, struct Sprite *) = { - sub_8094B40, - sub_8094B40_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_SlideRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_SlideRight_Step0, + MovementAction_SlideRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E184[])(struct EventObject *, struct Sprite *) = { - sub_8094B80, - sub_8094B80_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_PlayerRunDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunDown_Step0, + MovementAction_PlayerRunDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E190[])(struct EventObject *, struct Sprite *) = { - sub_8094BC0, - sub_8094BC0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_PlayerRunUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunUp_Step0, + MovementAction_PlayerRunUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E19C[])(struct EventObject *, struct Sprite *) = { - sub_8094C00, - sub_8094C00_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_PlayerRunLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunLeft_Step0, + MovementAction_PlayerRunLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1A8[])(struct EventObject *, struct Sprite *) = { - sub_8094C40, - sub_8094C40_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_PlayerRunRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_PlayerRunRight_Step0, + MovementAction_PlayerRunRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1B4[])(struct EventObject *, struct Sprite *) = { - sub_8094C80, - sub_8094C80_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_StartAnimInDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_StartAnimInDirection_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1C0[])(struct EventObject *, struct Sprite *) = { - sub_8094CC0, - sub_8094CC0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpSpecialDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialDown_Step0, + MovementAction_JumpSpecialDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1CC[])(struct EventObject *, struct Sprite *) = { - sub_8094D00, - sub_8094D00_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpSpecialUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialUp_Step0, + MovementAction_JumpSpecialUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1D8[])(struct EventObject *, struct Sprite *) = { - sub_8094D40, - sub_8094D40_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpSpecialLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialLeft_Step0, + MovementAction_JumpSpecialLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1E4[])(struct EventObject *, struct Sprite *) = { - sub_8094DAC, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpSpecialRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpSpecialRight_Step0, + MovementAction_JumpSpecialRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1F0[])(struct EventObject *, struct Sprite *) = { - sub_8094E18, - sub_8094E18_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_FacePlayer[])(struct EventObject *, struct Sprite *) = { + MovementAction_FacePlayer_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E1FC[])(struct EventObject *, struct Sprite *) = { - sub_8094E60, - sub_8094E60_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_FaceAwayPlayer[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceAwayPlayer_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E208[])(struct EventObject *, struct Sprite *) = { - sub_8094EB8, - sub_8094EB8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_LockFacingDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_LockFacingDirection_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E214[])(struct EventObject *, struct Sprite *) = { - sub_8094710, - sub_8094710_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_UnlockFacingDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnlockFacingDirection_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E220[])(struct EventObject *, struct Sprite *) = { - sub_8094F38, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpDown_Step0, + MovementAction_JumpDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E228[])(struct EventObject *, struct Sprite *) = { - sub_8094F94, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpUp_Step0, + MovementAction_JumpUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E230[])(struct EventObject *, struct Sprite *) = { - sub_8094FF8, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpLeft_Step0, + MovementAction_JumpLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E238[])(struct EventObject *, struct Sprite *) = { - sub_8095008, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpRight_Step0, + MovementAction_JumpRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E240[])(struct EventObject *, struct Sprite *) = { - sub_8095018, - sub_8095018_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDown_Step0, + MovementAction_JumpInPlaceDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E24C[])(struct EventObject *, struct Sprite *) = { - sub_8095070, - sub_8095070_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUp_Step0, + MovementAction_JumpInPlaceUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E258[])(struct EventObject *, struct Sprite *) = { - sub_80950C8, - sub_80950C8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeft_Step0, + MovementAction_JumpInPlaceLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E264[])(struct EventObject *, struct Sprite *) = { - sub_8095120, - sub_8095120_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRight_Step0, + MovementAction_JumpInPlaceRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E270[])(struct EventObject *, struct Sprite *) = { - sub_8095178, - sub_8095178_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceDownUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceDownUp_Step0, + MovementAction_JumpInPlaceDownUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E27C[])(struct EventObject *, struct Sprite *) = { - sub_80951D0, - sub_80951D0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceUpDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceUpDown_Step0, + MovementAction_JumpInPlaceUpDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E288[])(struct EventObject *, struct Sprite *) = { - sub_8095228, - sub_8095228_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceLeftRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceLeftRight_Step0, + MovementAction_JumpInPlaceLeftRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E294[])(struct EventObject *, struct Sprite *) = { - sub_8095280, - sub_8095280_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_JumpInPlaceRightLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_JumpInPlaceRightLeft_Step0, + MovementAction_JumpInPlaceRightLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E2A0[])(struct EventObject *, struct Sprite *) = { - sub_80952D8, - sub_80952D8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_FaceOriginalDirection[])(struct EventObject *, struct Sprite *) = { + MovementAction_FaceOriginalDirection_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E2AC[])(struct EventObject *, struct Sprite *) = { - sub_8095330, - sub_8095330_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_NurseJoyBowDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_NurseJoyBowDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E2B8[])(struct EventObject *, struct Sprite *) = { - sub_8095388, - sub_8095388_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_EnableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = { + MovementAction_EnableJumpLandingGroundEffect_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2C4[])(struct EventObject *, struct Sprite *) = { - sub_80953E0, - sub_80953E0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_DisableJumpLandingGroundEffect[])(struct EventObject *, struct Sprite *) = { + MovementAction_DisableJumpLandingGroundEffect_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2D0[])(struct EventObject *, struct Sprite *) = { - sub_8095438, - sub_80964BC, +u8 (*const gMovementActionFuncs_DisableAnimation[])(struct EventObject *, struct Sprite *) = { + MovementAction_DisableAnimation_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2D8[])(struct EventObject *, struct Sprite *) = { - sub_8095450, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_RestoreAnimation[])(struct EventObject *, struct Sprite *) = { + MovementAction_RestoreAnimation_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2E4[])(struct EventObject *, struct Sprite *) = { - sub_8095460, - sub_80964B8, +u8 (*const gMovementActionFuncs_SetInvisible[])(struct EventObject *, struct Sprite *) = { + MovementAction_SetInvisible_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2EC[])(struct EventObject *, struct Sprite *) = { - sub_8095470, - sub_80964B8, +u8 (*const gMovementActionFuncs_SetVisible[])(struct EventObject *, struct Sprite *) = { + MovementAction_SetVisible_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2F4[])(struct EventObject *, struct Sprite *) = { - sub_8095480, - sub_80964B8, +u8 (*const gMovementActionFuncs_EmoteExclamationMark[])(struct EventObject *, struct Sprite *) = { + MovementAction_EmoteExclamationMark_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E2FC[])(struct EventObject *, struct Sprite *) = { - sub_8095490, - sub_80964B8, +u8 (*const gMovementActionFuncs_EmoteQuestionMark[])(struct EventObject *, struct Sprite *) = { + MovementAction_EmoteQuestionMark_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E304[])(struct EventObject *, struct Sprite *) = { - sub_80954BC, - sub_80964B8, +u8 (*const gMovementActionFuncs_EmoteHeart[])(struct EventObject *, struct Sprite *) = { + MovementAction_EmoteHeart_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E30C[])(struct EventObject *, struct Sprite *) = { - sub_80954CC, - sub_80964B8, +u8 (*const gMovementActionFuncs_RevealTrainer[])(struct EventObject *, struct Sprite *) = { + MovementAction_RevealTrainer_Step0, + MovementAction_RevealTrainer_Step1, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E314[])(struct EventObject *, struct Sprite *) = { - do_exclamation_mark_bubble_1, - sub_80964B8, +u8 (*const gMovementActionFuncs_RockSmashBreak[])(struct EventObject *, struct Sprite *) = { + MovementAction_RockSmashBreak_Step0, + MovementAction_RockSmashBreak_Step1, + MovementAction_RockSmashBreak_Step2, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E31C[])(struct EventObject *, struct Sprite *) = { - do_exclamation_mark_bubble_2, - sub_80964B8, +u8 (*const gMovementActionFuncs_CutTree[])(struct EventObject *, struct Sprite *) = { + MovementAction_CutTree_Step0, + MovementAction_CutTree_Step1, + MovementAction_CutTree_Step2, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E324[])(struct EventObject *, struct Sprite *) = { - do_heart_bubble, - sub_80964B8, +u8 (*const gMovementActionFuncs_SetFixedPriority[])(struct EventObject *, struct Sprite *) = { + MovementAction_SetFixedPriority_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E32C[])(struct EventObject *, struct Sprite *) = { - sub_8095548, - sub_809558C, - sub_80964B8, +u8 (*const gMovementActionFuncs_ClearFixedPriority[])(struct EventObject *, struct Sprite *) = { + MovementAction_ClearFixedPriority_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E338[])(struct EventObject *, struct Sprite *) = { - sub_80955AC, - sub_80955C8, - sub_80955EC, - sub_80964B8, +u8 (*const gMovementActionFuncs_InitAffineAnim[])(struct EventObject *, struct Sprite *) = { + MovementAction_InitAffineAnim_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E348[])(struct EventObject *, struct Sprite *) = { - sub_8095628, - sub_8095644, - sub_8095668, - sub_80964B8, +u8 (*const gMovementActionFuncs_ClearAffineAnim[])(struct EventObject *, struct Sprite *) = { + MovementAction_ClearAffineAnim_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E358[])(struct EventObject *, struct Sprite *) = { - sub_80956A4, - sub_80964B8, +u8 (*const gMovementActionFuncs_Unknown1[])(struct EventObject *, struct Sprite *) = { + MovementAction_Unknown1_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E360[])(struct EventObject *, struct Sprite *) = { - sub_80956B4, - sub_80964B8, +u8 (*const gMovementActionFuncs_Unknown2[])(struct EventObject *, struct Sprite *) = { + MovementAction_Unknown2_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E368[])(struct EventObject *, struct Sprite *) = { - sub_80956C4, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkDownStartAffine[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkDownStartAffine_Step0, + MovementAction_WalkDownStartAffine_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E370[])(struct EventObject *, struct Sprite *) = { - sub_80956F4, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkDownAffine[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkDownAffine_Step0, + MovementAction_WalkDownAffine_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E378[])(struct EventObject *, struct Sprite *) = { - sub_8095724, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkLeftAffine[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkLeftAffine_Step0, + MovementAction_WalkLeftAffine_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E380[])(struct EventObject *, struct Sprite *) = { - sub_8095730, - sub_80964B8, +u8 (*const gMovementActionFuncs_WalkRightAffine[])(struct EventObject *, struct Sprite *) = { + MovementAction_WalkRightAffine_Step0, + MovementAction_WalkRightAffine_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E388[])(struct EventObject *, struct Sprite *) = { - sub_8095740, - sub_8095740_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceDown_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E394[])(struct EventObject *, struct Sprite *) = { - sub_80957A0, - sub_80957A0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceUp_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3A0[])(struct EventObject *, struct Sprite *) = { - sub_8095800, - sub_8095800_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceLeft_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3AC[])(struct EventObject *, struct Sprite *) = { - sub_8095860, - sub_8095860_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieFaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieFaceRight_Step0, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3B8[])(struct EventObject *, struct Sprite *) = { - sub_8095900, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3C0[])(struct EventObject *, struct Sprite *) = { - sub_8095910, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3C8[])(struct EventObject *, struct Sprite *) = { - sub_8095920, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3D0[])(struct EventObject *, struct Sprite *) = { - sub_8095930, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3D8[])(struct EventObject *, struct Sprite *) = { - sub_8095940, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3E4[])(struct EventObject *, struct Sprite *) = { - sub_8095964, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3F0[])(struct EventObject *, struct Sprite *) = { - sub_8095988, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E3FC[])(struct EventObject *, struct Sprite *) = { - sub_80959AC, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieFaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieFaceRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E408[])(struct EventObject *, struct Sprite *) = { - sub_80959D0, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionDown_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E414[])(struct EventObject *, struct Sprite *) = { - sub_80959F4, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionUp_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E420[])(struct EventObject *, struct Sprite *) = { - sub_8095A18, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionLeft_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E42C[])(struct EventObject *, struct Sprite *) = { - sub_8095A3C, - sub_8094DC4, - sub_80964BC, - sub_8095A60, - sub_8094DC4, - sub_80964BC, - sub_8095A84, - sub_8094DC4, - sub_80964BC, - sub_8095AA8, - sub_8094DC4, - sub_80964BC, - sub_8095ACC, - sub_8094DC4, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroUnusedAcroActionRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_UnusedAcroActionRight_Step0, + MovementAction_WaitSpriteAnim, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E468[])(struct EventObject *, struct Sprite *) = { - sub_8095B44, - sub_8095B64, - sub_80964BC, +u8 (*const gMovementActionFuncs_Figure8[])(struct EventObject *, struct Sprite *) = { + MovementAction_Figure8_Step0, + MovementAction_Figure8_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E474[])(struct EventObject *, struct Sprite *) = { - sub_8095BC8, - sub_8095BC8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceDown_Step0, + MovementAction_AcroWheelieHopFaceDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E480[])(struct EventObject *, struct Sprite *) = { - sub_8095C20, - sub_8095C20_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceUp_Step0, + MovementAction_AcroWheelieHopFaceUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E48C[])(struct EventObject *, struct Sprite *) = { - sub_8095C78, - sub_8095C78_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceLeft_Step0, + MovementAction_AcroWheelieHopFaceLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E498[])(struct EventObject *, struct Sprite *) = { - sub_8095CD0, - sub_8095CD0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopFaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopFaceRight_Step0, + MovementAction_AcroWheelieHopFaceRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4A4[])(struct EventObject *, struct Sprite *) = { - sub_8095D28, - sub_8095D28_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopDown_Step0, + MovementAction_AcroWheelieHopDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4B0[])(struct EventObject *, struct Sprite *) = { - sub_8095D80, - sub_8095D80_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopUp_Step0, + MovementAction_AcroWheelieHopUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4BC[])(struct EventObject *, struct Sprite *) = { - sub_8095DD8, - sub_8095DD8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopLeft_Step0, + MovementAction_AcroWheelieHopLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4C8[])(struct EventObject *, struct Sprite *) = { - sub_8095E30, - sub_8095E30_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieHopRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieHopRight_Step0, + MovementAction_AcroWheelieHopRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4D4[])(struct EventObject *, struct Sprite *) = { - sub_8095E88, - sub_8095E88_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieJumpDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpDown_Step0, + MovementAction_AcroWheelieJumpDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4E0[])(struct EventObject *, struct Sprite *) = { - sub_8095EE0, - sub_8095EE0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieJumpUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpUp_Step0, + MovementAction_AcroWheelieJumpUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4EC[])(struct EventObject *, struct Sprite *) = { - sub_8095F38, - sub_8095F38_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieJumpLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpLeft_Step0, + MovementAction_AcroWheelieJumpLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E4F8[])(struct EventObject *, struct Sprite *) = { - sub_8095F90, - sub_8095F90_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieJumpRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieJumpRight_Step0, + MovementAction_AcroWheelieJumpRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E504[])(struct EventObject *, struct Sprite *) = { - sub_8095FE8, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceDown_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E510[])(struct EventObject *, struct Sprite *) = { - sub_8096020, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceUp_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E51C[])(struct EventObject *, struct Sprite *) = { - sub_8096058, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceLeft_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E528[])(struct EventObject *, struct Sprite *) = { - sub_8096090, - sub_809459C, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieInPlaceRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieInPlaceRight_Step0, + MovementAction_WalkInPlace_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E534[])(struct EventObject *, struct Sprite *) = { - sub_8096100, - sub_8096100_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveDown_Step0, + MovementAction_AcroPopWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E540[])(struct EventObject *, struct Sprite *) = { - sub_8096140, - sub_8096140_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveUp_Step0, + MovementAction_AcroPopWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E54C[])(struct EventObject *, struct Sprite *) = { - sub_8096180, - sub_8096180_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveLeft_Step0, + MovementAction_AcroPopWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E558[])(struct EventObject *, struct Sprite *) = { - sub_80961C0, - sub_80961C0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroPopWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroPopWheelieMoveRight_Step0, + MovementAction_AcroPopWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E564[])(struct EventObject *, struct Sprite *) = { - sub_8096230, - sub_8096230_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveDown_Step0, + MovementAction_AcroWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E570[])(struct EventObject *, struct Sprite *) = { - sub_8096270, - sub_8096270_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveUp_Step0, + MovementAction_AcroWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E57C[])(struct EventObject *, struct Sprite *) = { - sub_80962B0, - sub_80962B0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveLeft_Step0, + MovementAction_AcroWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E588[])(struct EventObject *, struct Sprite *) = { - sub_80962F0, - sub_80962F0_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroWheelieMoveRight_Step0, + MovementAction_AcroWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E594[])(struct EventObject *, struct Sprite *) = { - sub_8096368, - sub_8096368_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveDown_Step0, + MovementAction_AcroEndWheelieMoveDown_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E5A0[])(struct EventObject *, struct Sprite *) = { - sub_80963A8, - sub_80963A8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveUp_Step0, + MovementAction_AcroEndWheelieMoveUp_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E5AC[])(struct EventObject *, struct Sprite *) = { - sub_80963E8, - sub_80963E8_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveLeft[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveLeft_Step0, + MovementAction_AcroEndWheelieMoveLeft_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E5B8[])(struct EventObject *, struct Sprite *) = { - sub_8096428, - sub_8096428_2, - sub_80964BC, +u8 (*const gMovementActionFuncs_AcroEndWheelieMoveRight[])(struct EventObject *, struct Sprite *) = { + MovementAction_AcroEndWheelieMoveRight_Step0, + MovementAction_AcroEndWheelieMoveRight_Step1, + MovementAction_PauseSpriteAnim, }; -u8 (*const gUnknown_0850E5C4[])(struct EventObject *, struct Sprite *) = { - sub_8096468, - sub_80964B8, +u8 (*const gMovementActionFuncs_Levitate[])(struct EventObject *, struct Sprite *) = { + MovementAction_Levitate_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E5CC[])(struct EventObject *, struct Sprite *) = { - sub_809647C, - sub_80964B8, +u8 (*const gMovementActionFuncs_StopLevitate[])(struct EventObject *, struct Sprite *) = { + MovementAction_StopLevitate_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E5D4[])(struct EventObject *, struct Sprite *) = { - sub_8096494, - sub_80964B8, +u8 (*const gMovementActionFuncs_DestroyExtraTaskIfAtTop[])(struct EventObject *, struct Sprite *) = { + MovementAction_DestroyExtraTaskIfAtTop_Step0, + MovementAction_Finish, }; #endif //GUARD_MOVEMENT_ACTION_FUNC_TABLES_H diff --git a/src/data/field_event_obj/movement_type_func_tables.h b/src/data/field_event_obj/movement_type_func_tables.h index 3b18c90d1..165e96220 100755 --- a/src/data/field_event_obj/movement_type_func_tables.h +++ b/src/data/field_event_obj/movement_type_func_tables.h @@ -1,443 +1,443 @@ #ifndef GUARD_MOVEMENT_TYPE_FUNC_TABLES_H #define GUARD_MOVEMENT_TYPE_FUNC_TABLES_H -u8 (*const gUnknown_0850D6F4[])(struct EventObject *, struct Sprite *) = { - sub_808F44C, - sub_808F460, - sub_808F48C, - sub_808F4C8, - sub_808F4E8, - sub_808F534, - sub_808F564, +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 gUnknown_0850D710[] = {DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST}; - -u8 (*const gUnknown_0850D714[])(s16, s16, s16, s16) = { - GetRegularRunningPastFacingDirection, - GetNorthSouthRunningPastFacingDirection, - GetEastWestRunningPastFacingDirection, - GetNorthEastRunningPastFacingDirection, - GetNorthWestRunningPastFacingDirection, - GetSouthEastRunningPastFacingDirection, - GetSouthWestRunningPastFacingDirection, - GetNonEastRunningPastFacingDirection, - GetNonWestRunningPastFacingDirection, - GetNonSouthRunningPastFacingDirection, - GetNonNorthRunningPastFacingDirection, +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 gUnknown_0850D740[])(struct EventObject *, struct Sprite *) = { - sub_808F988, - sub_808F99C, - sub_808F9C8, - sub_808FA0C, - sub_808FA3C, +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 gUnknown_0850D754[])(struct EventObject *, struct Sprite *) = { - sub_808FAC8, - sub_808FADC, - sub_808FB08, - sub_808FB44, - sub_808FB64, - sub_808FBB0, - sub_808FBE0, +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 gUnknown_0850D770[] = {DIR_SOUTH, DIR_NORTH}; +const u8 gUpAndDownDirections[] = {DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D774[])(struct EventObject *, struct Sprite *) = { - sub_808FC4C, - sub_808FC60, - sub_808FC8C, - sub_808FCC8, - sub_808FCE8, - sub_808FD34, - sub_808FD64, +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 gUnknown_0850D790[] = {DIR_WEST, DIR_EAST}; +const u8 gLeftAndRightDirections[] = {DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_0850D794[])(struct EventObject *, struct Sprite *) = { - sub_808FDD0, - sub_808FDFC, - sub_808FE1C, +u8 (*const gMovementTypeFuncs_FaceDirection[])(struct EventObject *, struct Sprite *) = { + MovementType_FaceDirection_Step0, + MovementType_FaceDirection_Step1, + MovementType_FaceDirection_Step2, }; -u8 (*const gUnknown_0850D7A0[])(struct EventObject *, struct Sprite *) = { - do_berry_tree_growth_sparkle_1, - sub_808FF48, - do_berry_tree_growth_sparkle_2, - sub_808FFB4, - sub_8090004, +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 gUnknown_0850D7B4[])(struct EventObject *, struct Sprite *) = { - sub_8090094, - sub_80900A8, - sub_80900D4, - sub_8090118, - sub_8090148, +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 gUnknown_0850D7C8[])(struct EventObject *, struct Sprite *) = { - sub_80901D4, - sub_80901E8, - sub_8090214, - sub_8090258, - sub_8090288, +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 gUnknown_0850D7DC[])(struct EventObject *, struct Sprite *) = { - sub_8090314, - sub_8090328, - sub_8090354, - sub_8090398, - sub_80903C8, +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 gUnknown_0850D7F0[] = {DIR_NORTH, DIR_WEST}; +const u8 gUpAndLeftDirections[] = {DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_0850D7F4[])(struct EventObject *, struct Sprite *) = { - sub_8090454, - sub_8090468, - sub_8090494, - sub_80904D8, - sub_8090508, +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 gUnknown_0850D808[] = {DIR_NORTH, DIR_EAST}; +const u8 gUpAndRightDirections[] = {DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0850D80C[])(struct EventObject *, struct Sprite *) = { - sub_8090594, - sub_80905A8, - sub_80905D4, - sub_8090618, - sub_8090648, +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 gUnknown_0850D820[] = {DIR_SOUTH, DIR_WEST}; +const u8 gDownAndLeftDirections[] = {DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_0850D824[])(struct EventObject *, struct Sprite *) = { - sub_80906D4, - sub_80906E8, - sub_8090714, - sub_8090758, - sub_8090788, +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 gUnknown_0850D838[] = {DIR_SOUTH, DIR_EAST}; +const u8 gDownAndRightDirections[] = {DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0850D83C[])(struct EventObject *, struct Sprite *) = { - sub_8090814, - sub_8090828, - sub_8090854, - sub_8090898, - sub_80908C8, +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 gUnknown_0850D850[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; +const u8 gDownUpAndLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0850D854[])(struct EventObject *, struct Sprite *) = { - sub_8090954, - sub_8090968, - sub_8090994, - sub_80909D8, - sub_8090A08, +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 gUnknown_0850D868[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; +const u8 gDownUpAndRightDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0850D86C[])(struct EventObject *, struct Sprite *) = { - sub_8090A94, - sub_8090AA8, - sub_8090AD4, - sub_8090B18, - sub_8090B48, +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 gUnknown_0850D880[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; +const u8 gUpLeftAndRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_0850D884[])(struct EventObject *, struct Sprite *) = { - sub_8090BD4, - sub_8090BE8, - sub_8090C14, - sub_8090C58, - sub_8090C88, +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 gUnknown_0850D898[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; +const u8 gDownLeftAndRightDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D89C[])(struct EventObject *, struct Sprite *) = { - sub_8090D14, - sub_8090D40, - sub_8090D64, - sub_8090D90, +u8 (*const gMovementTypeFuncs_RotateCounterclockwise[])(struct EventObject *, struct Sprite *) = { + MovementType_RotateCounterclockwise_Step0, + MovementType_RotateCounterclockwise_Step1, + MovementType_RotateCounterclockwise_Step2, + MovementType_RotateCounterclockwise_Step3, }; -const u8 gUnknown_0850D8AC[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; +const u8 gCounterclockwiseDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D8B4[])(struct EventObject *, struct Sprite *) = { - sub_8090E18, - sub_8090E44, - sub_8090E68, - sub_8090E94, +u8 (*const gMovementTypeFuncs_RotateClockwise[])(struct EventObject *, struct Sprite *) = { + MovementType_RotateClockwise_Step0, + MovementType_RotateClockwise_Step1, + MovementType_RotateClockwise_Step2, + MovementType_RotateClockwise_Step3, }; -const u8 gUnknown_0850D8C4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; +const u8 gClockwiseDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D8CC[])(struct EventObject *, struct Sprite *) = { - sub_8090F1C, - sub_8090F30, - sub_8090F68, - sub_8091020, +u8 (*const gMovementTypeFuncs_WalkBackAndForth[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkBackAndForth_Step0, + MovementType_WalkBackAndForth_Step1, + MovementType_WalkBackAndForth_Step2, + MovementType_WalkBackAndForth_Step3, }; -u8 (*const gUnknown_0850D8DC[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_809117C, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightLeftDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightLeftDown_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D8E8[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; +const u8 gUpRightLeftDownDirections[] = {DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0850D8EC[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091208, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftDownUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftDownUp_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D8F8[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; +const u8 gRightLeftDownUpDirections[] = {DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D8FC[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091294, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpRightLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpRightLeft_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D908[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; +const u8 gDownUpRightLeftDirections[] = {DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST}; -u8 (*const gUnknown_0850D90C[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091320, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownUpRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownUpRight_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D918[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; +const u8 gLeftDownUpRightDirections[] = {DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0850D91C[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_80913AC, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftRightDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftRightDown_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D928[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; +const u8 gUpLeftRightDownDirections[] = {DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0850D92C[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091438, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightDownUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightDownUp_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D938[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; +const u8 gLeftRightDownUpDirections[] = {DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH}; -u8 (*const gUnknown_0850D93C[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_80914C4, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceDownUpLeftRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownUpLeftRight_Step1, + MovementType_WalkSequence_Step2, }; -u8 (*const gUnknown_0850D948[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091550, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownUpLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownUpLeft_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D954[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; +const u8 gRightDownUpLeftDirections[] = {DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_0850D958[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_80915DC, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpDownRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpDownRight_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D964[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; +const u8 gLeftUpDownRightDirections[] = {DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0850D968[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091668, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownRightLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownRightLeft_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D974[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; +const u8 gUpDownRightLeftDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST}; -u8 (*const gUnknown_0850D978[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_80916F4, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceRightLeftUpDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightLeftUpDown_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D984[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; +const u8 gRightLeftUpDownDirections[] = {DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D988[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091780, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightLeftUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightLeftUp_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D994[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; +const u8 gDownRightLeftUpDirections[] = {DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH}; -u8 (*const gUnknown_0850D998[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_809180C, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpDownLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpDownLeft_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D9A4[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; +const u8 gRightUpDownLeftDirections[] = {DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_0850D9A8[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091898, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceUpDownLeftRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpDownLeftRight_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D9B4[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; +const u8 gUpDownLeftRightDirections[] = {DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST}; -u8 (*const gUnknown_0850D9B8[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091924, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceLeftRightUpDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftRightUpDown_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D9C4[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; +const u8 gLeftRightUpDownDirections[] = {DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH}; -u8 (*const gUnknown_0850D9C8[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_80919B0, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftRightUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftRightUp_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D9D4[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; +const u8 gDownLeftRightUpDirections[] = {DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_0850D9D8[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091A3C, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceUpLeftDownRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpLeftDownRight_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D9E4[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; +const u8 gUpLeftDownRightDirections[] = {DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST}; -u8 (*const gUnknown_0850D9E8[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091AC8, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceDownRightUpLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownRightUpLeft_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850D9F4[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; +const u8 gDownRightUpLeftDirections[] = {DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST}; -u8 (*const gUnknown_0850D9F8[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091B54, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceLeftDownRightUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftDownRightUp_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850DA04[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; +const u8 gLeftDownRightUpDirections[] = {DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH}; -u8 (*const gUnknown_0850DA08[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091BE0, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceRightUpLeftDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightUpLeftDown_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850DA14[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; +const u8 gRightUpLeftDownDirections[] = {DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH}; -u8 (*const gUnknown_0850DA18[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091C6C, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceUpRightDownLeft[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceUpRightDownLeft_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850DA24[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; +const u8 gUpRightDownLeftDirections[] = {DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST}; -u8 (*const gUnknown_0850DA28[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091CF8, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceDownLeftUpRight[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceDownLeftUpRight_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850DA34[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; +const u8 gDownLeftUpRightDirections[] = {DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST}; -u8 (*const gUnknown_0850DA38[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091D84, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceLeftUpRightDown[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceLeftUpRightDown_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850DA44[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; +const u8 gLeftUpRightDownDirections[] = {DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH}; -u8 (*const gUnknown_0850DA48[])(struct EventObject *, struct Sprite *) = { - sub_8091048, - sub_8091E10, - sub_8091110, +u8 (*const gMovementTypeFuncs_WalkSequenceRightDownLeftUp[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSequence_Step0, + MovementType_WalkSequenceRightDownLeftUp_Step1, + MovementType_WalkSequence_Step2, }; -const u8 gUnknown_0850DA54[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; +const u8 gRightDownLeftUpDirections[] = {DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH}; -u8 (*const gUnknown_0850DA58[])(struct EventObject *, struct Sprite *) = { - mss_npc_reset_oampriv3_1_unk2_unk3, - sub_8091EC0, - sub_8091F20, +u8 (*const gMovementTypeFuncs_CopyPlayer[])(struct EventObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayer_Step1, + MovementType_CopyPlayer_Step2, }; -bool8 (*const gUnknown_0850DA64[])(struct EventObject *, struct Sprite *, u8, bool8(u8)) = { - sub_8091F48, - sub_8091F4C, - sub_8091F94, - sub_80920A4, - sub_809215C, - sub_8092214, +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, - sub_8092314, - oac_hopping, - sub_8091F48, - sub_8091F48, + CopyablePlayerMovement_GoSpeed4, + CopyablePlayerMovement_Jump, + CopyablePlayerMovement_None, + CopyablePlayerMovement_None, }; -u8 (*const gUnknown_0850DA90[])(struct EventObject *, struct Sprite *) = { - mss_npc_reset_oampriv3_1_unk2_unk3, - mss_08062EA4, - sub_8091F20, +u8 (*const gMovementTypeFuncs_CopyPlayerInGrass[])(struct EventObject *, struct Sprite *) = { + MovementType_CopyPlayer_Step0, + MovementType_CopyPlayerInGrass_Step1, + MovementType_CopyPlayer_Step2, }; -u8 (*const gUnknown_0850DA9C[])(struct EventObject *, struct Sprite *) = { - sub_80926AC, +u8 (*const gMovementTypeFuncs_Hidden[])(struct EventObject *, struct Sprite *) = { + MovementType_Hidden_Step0, }; -u8 (*const gUnknown_0850DAA0[])(struct EventObject *, struct Sprite *) = { - sub_8092718, - sub_80926B8, +u8 (*const gMovementTypeFuncs_WalkInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkInPlace_Step0, + MovementType_MoveInPlace_Step1, }; -u8 (*const gUnknown_0850DAA8[])(struct EventObject *, struct Sprite *) = { - sub_8092788, - sub_80926B8, +u8 (*const gMovementTypeFuncs_WalkSlowlyInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_WalkSlowlyInPlace_Step0, + MovementType_MoveInPlace_Step1, }; -u8 (*const gUnknown_0850DAB0[])(struct EventObject *, struct Sprite *) = { - sub_80927F8, - sub_80926B8, +u8 (*const gMovementTypeFuncs_JogInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_JogInPlace_Step0, + MovementType_MoveInPlace_Step1, }; -u8 (*const gUnknown_0850DAB8[])(struct EventObject *, struct Sprite *) = { - sub_8092868, - sub_80926B8, +u8 (*const gMovementTypeFuncs_RunInPlace[])(struct EventObject *, struct Sprite *) = { + MovementType_RunInPlace_Step0, + MovementType_MoveInPlace_Step1, }; -u8 (*const gUnknown_0850DAC0[])(struct EventObject *, struct Sprite *) = { - sub_80928D8, - sub_809290C, - sub_809292C, +u8 (*const gMovementTypeFuncs_Invisible[])(struct EventObject *, struct Sprite *) = { + MovementType_Invisible_Step0, + MovementType_Invisible_Step1, + MovementType_Invisible_Step2, }; #endif //GUARD_MOVEMENT_TYPE_FUNC_TABLES_H diff --git a/src/decoration.c b/src/decoration.c index 83030ccb7..ad2cdfa30 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -2247,7 +2247,7 @@ 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); diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 1582c00f8..efa498c0f 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -90,7 +90,7 @@ void LockSelectedEventObject(void) void sub_80984F4(void) { u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); sub_80D338C(); UnfreezeEventObjects(); } @@ -100,9 +100,9 @@ void sub_8098524(void) u8 objectId; if (gEventObjects[gSelectedEventObject].active) - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gSelectedEventObject]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); sub_80D338C(); UnfreezeEventObjects(); } @@ -114,7 +114,7 @@ void sub_8098574(void) void sub_809859C(void) { - EventObjectClearAnimIfSpecialAnimActive(&gEventObjects[gSelectedEventObject]); + EventObjectClearHeldMovementIfActive(&gEventObjects[gSelectedEventObject]); } static void sub_80985BC(u8 taskId) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index d23bba92b..35b04ea1e 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1,8 +1,8 @@ #include "global.h" -#include "event_object_movement.h" #include "berry.h" #include "decoration.h" #include "event_data.h" +#include "event_object_movement.h" #include "event_scripts.h" #include "field_camera.h" #include "field_effect.h" @@ -27,56 +27,20 @@ extern u8 gUnknown_020375B4; extern u16 gUnknown_020375B6; -extern u8 *gUnknown_020375B8; +extern struct LockedAnimEventObjects *gLockedAnimEventObjects; -static void sub_808D450(void); -static u8 GetEventObjectIdByLocalId(u8); -static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8); -static bool8 GetAvailableEventObjectSlot(u16, u8, u8, u8 *); -static void EventObjectHandleDynamicGraphicsId(struct EventObject *); -static void RemoveEventObjectInternal (struct EventObject *); -static u16 GetEventObjectFlagIdByEventObjectId(u8); -static void sub_8096518(struct EventObject *, struct Sprite *); -static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); -static void GetEventObjectMovingCameraOffset(s16 *, s16 *); -static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8); -static void sub_808E894(u16); -static void RemoveEventObjectIfOutsideView(struct EventObject *); -static void sub_808E1B8(u8, s16, s16); -static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); -static void sub_808E38C(struct EventObject *); -static u8 sub_808E8F4(const struct SpritePalette *); -static u8 FindEventObjectPaletteIndexByTag(u16); -static void sub_808EAB0(u16, u8); -static bool8 EventObjectDoesZCoordMatch(struct EventObject *, u8); -static void ObjectCB_CameraObject(struct Sprite *); -static void CameraObject_0(struct Sprite *); -static void CameraObject_1(struct Sprite *); -static void CameraObject_2(struct Sprite *); -static struct EventObjectTemplate *FindEventObjectTemplateInArrayByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count); -static void npc_reset(struct EventObject *, struct Sprite *); -static void EventObjectSetRegularAnim(struct EventObject *, struct Sprite *, u8); - -u8 sub_8093438(u32); -u8 sub_80934BC(u32); -u8 sub_8093514(u32); -u8 GetJumpLedgeAnimId(u32); -void sub_8092F88(u32, s16 *, s16 *, s16, s16); - -bool8 EventObjectExecRegularAnim(struct EventObject *, struct Sprite *); -static void SetEventObjectStepTimer(struct Sprite *, s16); -bool8 RunEventObjectStepTimer(struct Sprite *); -bool8 npc_block_way__next_tile(struct EventObject *, u8); +static void MoveCoordsInDirection(u32, s16 *, s16 *, s16, s16); +static bool8 EventObjectExecSingleMovementAction(struct EventObject *, struct Sprite *); +static void SetMovementDelay(struct Sprite *, s16); +static bool8 WaitForMovementDelay(struct Sprite *); +static u8 GetCollisionInDirection(struct EventObject *, u8); static u32 state_to_direction(u8, u32, u32); -/*static*/ void sub_80964E8(struct EventObject *, struct Sprite *); -static void EventObjectExecSpecialAnim(struct EventObject *, struct Sprite *); -/*static*/ void npc_obj_transfer_image_anim_pause_flag(struct EventObject *, struct Sprite *); - -static bool8 IsCoordOutsideEventObjectMovementRect(struct EventObject *, s16, s16); +static void TryEnableEventObjectAnim(struct EventObject *, struct Sprite *); +static void EventObjectExecHeldMovementAction(struct EventObject *, struct Sprite *); +static void UpdateEventObjectSpriteAnimPause(struct EventObject *, struct Sprite *); +static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *, s16, s16); static bool8 IsMetatileDirectionallyImpassable(struct EventObject *, s16, s16, u8); -static bool8 CheckForCollisionBetweenEventObjects(struct EventObject *, s16, s16); -bool8 sub_809558C(struct EventObject *, struct Sprite *); -bool8 sub_8095B64(struct EventObject *, struct Sprite *); +static bool8 DoesObjectCollideWithObjectAt(struct EventObject *, s16, s16); static void sub_8096530(struct EventObject *, struct Sprite *); static void npc_update_obj_anim_flag(struct EventObject *, struct Sprite *); static void EventObjectUpdateMetatileBehaviors(struct EventObject*); @@ -106,7 +70,36 @@ static void DoGroundEffects_OnSpawn(struct EventObject*, struct Sprite*); static void DoGroundEffects_OnBeginStep(struct EventObject*, struct Sprite*); static void DoGroundEffects_OnFinishStep(struct EventObject*, struct Sprite*); static void sub_8097D68(struct Sprite*); -static void sub_8097FE4(u8); +static void ApplyLevitateMovement(u8); +static bool8 MovementType_Disguise_Callback(struct EventObject *, struct Sprite *); +static bool8 MovementType_Hidden_Callback(struct EventObject *, struct Sprite *); +static void sub_808D450(void); +static u8 GetEventObjectIdByLocalId(u8); +static u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8); +static bool8 GetAvailableEventObjectId(u16, u8, u8, u8 *); +static void SetEventObjectDynamicGraphicsId(struct EventObject *); +static void RemoveEventObjectInternal(struct EventObject *); +static u16 GetEventObjectFlagIdByEventObjectId(u8); +static void UpdateEventObjectVisibility(struct EventObject *, struct Sprite *); +static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *, struct SpriteTemplate *, const struct SubspriteTable **); +static void GetEventObjectMovingCameraOffset(s16 *, s16 *); +static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8); +static void sub_808E894(u16); +static void RemoveEventObjectIfOutsideView(struct EventObject *); +static void sub_808E1B8(u8, s16, s16); +static void SetPlayerAvatarEventObjectIdAndObjectId(u8, u8); +static void sub_808E38C(struct EventObject *); +static u8 sub_808E8F4(const struct SpritePalette *); +static u8 FindEventObjectPaletteIndexByTag(u16); +static void sub_808EAB0(u16, u8); +static bool8 EventObjectDoesZCoordMatch(struct EventObject *, u8); +static void ObjectCB_CameraObject(struct Sprite *); +static void CameraObject_0(struct Sprite *); +static void CameraObject_1(struct Sprite *); +static void CameraObject_2(struct Sprite *); +static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count); +static void ClearEventObjectMovement(struct EventObject *, struct Sprite *); +static void EventObjectSetSingleMovement(struct EventObject *, struct Sprite *, u8); const u8 gUnknown_084975C4[] = {1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0}; @@ -121,257 +114,257 @@ void (*const gCameraObjectFuncs[])(struct Sprite *) = { #include "data/field_event_obj/event_object_graphics.h" // movement type callbacks -void (*const gUnknown_08505438[])(struct Sprite *) = -{ - EventObjectCB_NoMovement1, - EventObjectCB_LookRandomDirections, - EventObjectCB_GoRandomDirections, - EventObjectCB_RandomlyGoNorthOrSouth, - EventObjectCB_RandomlyGoNorthOrSouth, - EventObjectCB_RandomlyGoEastOrWest, - EventObjectCB_RandomlyGoEastOrWest, - EventObjectCB_FaceFixedDirection, - EventObjectCB_FaceFixedDirection, - EventObjectCB_FaceFixedDirection, - EventObjectCB_FaceFixedDirection, - EventObjectCB_NoMovement2, - EventObjectCB_BerryTree, - EventObjectCB_RandomlyLookNorthOrSouth, - EventObjectCB_RandomlyLookEastOrWest, - EventObjectCB_RandomlyLookNorthOrWest, - EventObjectCB_RandomlyLookNorthOrEast, - EventObjectCB_RandomlyLookSouthOrWest, - EventObjectCB_RandomlyLookSouthOrEast, - EventObjectCB_RandomlyLookNorthOrSouthOrWest, - EventObjectCB_RandomlyLookNorthOrSouthOrEast, - EventObjectCB_RandomlyLookNorthOrEastOrWest, - EventObjectCB_RandomlyLookSouthOrEastOrWest, - EventObjectCB_LookAroundCounterclockwise, - EventObjectCB_LookAroundClockwise, - EventObjectCB_AlternatelyGoInOppositeDirections, - EventObjectCB_AlternatelyGoInOppositeDirections, - EventObjectCB_AlternatelyGoInOppositeDirections, - EventObjectCB_AlternatelyGoInOppositeDirections, - EventObjectCB_GoInDirectionSequence1, - EventObjectCB_GoInDirectionSequence2, - EventObjectCB_GoInDirectionSequence3, - EventObjectCB_GoInDirectionSequence4, - EventObjectCB_GoInDirectionSequence5, - EventObjectCB_GoInDirectionSequence6, - EventObjectCB_GoInDirectionSequence7, - EventObjectCB_GoInDirectionSequence8, - EventObjectCB_GoInDirectionSequence9, - EventObjectCB_GoInDirectionSequence10, - EventObjectCB_GoInDirectionSequence11, - EventObjectCB_GoInDirectionSequence12, - EventObjectCB_GoInDirectionSequence13, - EventObjectCB_GoInDirectionSequence14, - EventObjectCB_GoInDirectionSequence15, - EventObjectCB_GoInDirectionSequence16, - EventObjectCB_GoInDirectionSequence17, - EventObjectCB_GoInDirectionSequence18, - EventObjectCB_GoInDirectionSequence19, - EventObjectCB_GoInDirectionSequence20, - EventObjectCB_GoInDirectionSequence21, - EventObjectCB_GoInDirectionSequence22, - EventObjectCB_GoInDirectionSequence23, - EventObjectCB_GoInDirectionSequence24, - EventObjectCB_CopyPlayer1, - EventObjectCB_CopyPlayer1, - EventObjectCB_CopyPlayer1, - EventObjectCB_CopyPlayer1, - EventObjectCB_TreeDisguise, - EventObjectCB_MountainDisguise, - EventObjectCB_CopyPlayer2, - EventObjectCB_CopyPlayer2, - EventObjectCB_CopyPlayer2, - EventObjectCB_CopyPlayer2, - EventObjectCB_Hidden1, - EventObjectCB_WalkInPlace1, - EventObjectCB_WalkInPlace1, - EventObjectCB_WalkInPlace1, - EventObjectCB_WalkInPlace1, - EventObjectCB_WalkInPlace2, - EventObjectCB_WalkInPlace2, - EventObjectCB_WalkInPlace2, - EventObjectCB_WalkInPlace2, - EventObjectCB_WalkInPlace3, - EventObjectCB_WalkInPlace3, - EventObjectCB_WalkInPlace3, - EventObjectCB_WalkInPlace3, - EventObjectCB_Hidden2, - EventObjectCB_WalkInPlace4, - EventObjectCB_WalkInPlace4, - EventObjectCB_WalkInPlace4, - EventObjectCB_WalkInPlace4, +static void (*const sMovementTypeCallbacks[])(struct Sprite *) = +{ + MovementType_None, // MOVEMENT_TYPE_NONE + MovementType_LookAround, // MOVEMENT_TYPE_LOOK_AROUND + MovementType_WanderAround, // MOVEMENT_TYPE_WANDER_AROUND + MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + MovementType_WanderUpAndDown, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + MovementType_WanderLeftAndRight, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_UP + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_DOWN + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_LEFT + MovementType_FaceDirection, // MOVEMENT_TYPE_FACE_RIGHT + MovementType_Player, // MOVEMENT_TYPE_PLAYER + MovementType_BerryTreeGrowth, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + MovementType_FaceDownAndUp, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + MovementType_FaceLeftAndRight, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + MovementType_FaceUpAndLeft, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + MovementType_FaceUpAndRight, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + MovementType_FaceDownAndLeft, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + MovementType_FaceDownAndRight, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + MovementType_FaceDownUpAndLeft, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + MovementType_FaceDownUpAndRight, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + MovementType_FaceUpRightAndLeft, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + MovementType_FaceDownRightAndLeft, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + MovementType_RotateCounterclockwise, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + MovementType_RotateClockwise, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + MovementType_WalkBackAndForth, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + MovementType_WalkSequenceUpRightLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + MovementType_WalkSequenceRightLeftDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + MovementType_WalkSequenceDownUpRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + MovementType_WalkSequenceLeftDownUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + MovementType_WalkSequenceUpLeftRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + MovementType_WalkSequenceLeftRightDownUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + MovementType_WalkSequenceDownUpLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + MovementType_WalkSequenceRightDownUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + MovementType_WalkSequenceLeftUpDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + MovementType_WalkSequenceUpDownRightLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + MovementType_WalkSequenceRightLeftUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + MovementType_WalkSequenceDownRightLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + MovementType_WalkSequenceRightUpDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + MovementType_WalkSequenceUpDownLeftRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + MovementType_WalkSequenceLeftRightUpDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + MovementType_WalkSequenceDownLeftRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + MovementType_WalkSequenceUpLeftDownRight, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + MovementType_WalkSequenceDownRightUpLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + MovementType_WalkSequenceLeftDownRightUp, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + MovementType_WalkSequenceRightUpLeftDown, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + MovementType_WalkSequenceUpRightDownLeft, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + MovementType_WalkSequenceDownLeftUpRight, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + MovementType_WalkSequenceLeftUpRightDown, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + MovementType_WalkSequenceRightDownLeftUp, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + MovementType_CopyPlayer, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + MovementType_TreeDisguise, // MOVEMENT_TYPE_TREE_DISGUISE + MovementType_MountainDisguise, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + MovementType_CopyPlayerInGrass, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + MovementType_Hidden, // MOVEMENT_TYPE_HIDDEN + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + MovementType_WalkInPlace, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + MovementType_JogInPlace, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + MovementType_RunInPlace, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + MovementType_Invisible, // MOVEMENT_TYPE_INVISIBLE + MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN + MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP + MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT + MovementType_WalkSlowlyInPlace, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT }; const u8 gRangedMovementTypes[] = { - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, + 0, // MOVEMENT_TYPE_NONE + 0, // MOVEMENT_TYPE_LOOK_AROUND + 1, // MOVEMENT_TYPE_WANDER_AROUND + 1, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + 1, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + 1, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + 1, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_UP + 0, // MOVEMENT_TYPE_FACE_DOWN + 0, // MOVEMENT_TYPE_FACE_LEFT + 0, // MOVEMENT_TYPE_FACE_RIGHT + 0, // MOVEMENT_TYPE_PLAYER + 0, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + 0, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + 0, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + 0, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + 0, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + 0, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + 0, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + 1, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + 1, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + 1, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + 1, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + 1, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + 1, // MOVEMENT_TYPE_COPY_PLAYER + 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + 0, // MOVEMENT_TYPE_TREE_DISGUISE + 0, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + 1, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + 1, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + 1, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + 1, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + 0, // MOVEMENT_TYPE_HIDDEN + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + 0, // MOVEMENT_TYPE_INVISIBLE + 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN + 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP + 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT + 0, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT }; const u8 gInitialMovementTypeFacingDirections[] = { - DIR_SOUTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_SOUTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_WEST, - DIR_NORTH, - DIR_NORTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_NORTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_SOUTH, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_NORTH, - DIR_EAST, - DIR_SOUTH, - DIR_WEST, - DIR_NORTH, - DIR_WEST, - DIR_SOUTH, - DIR_EAST, - DIR_WEST, - DIR_NORTH, - DIR_EAST, - DIR_SOUTH, - DIR_EAST, - DIR_NORTH, - DIR_WEST, - DIR_SOUTH, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_SOUTH, - DIR_SOUTH, - DIR_NORTH, - DIR_SOUTH, - DIR_WEST, - DIR_EAST, - DIR_SOUTH, - DIR_SOUTH, - DIR_NORTH, - DIR_WEST, - DIR_EAST, - DIR_SOUTH, - DIR_NORTH, - DIR_WEST, - DIR_EAST, - DIR_SOUTH, - DIR_NORTH, - DIR_WEST, - DIR_EAST, - DIR_SOUTH, - DIR_SOUTH, - DIR_NORTH, - DIR_WEST, - DIR_EAST, + DIR_SOUTH, // MOVEMENT_TYPE_NONE + DIR_SOUTH, // MOVEMENT_TYPE_LOOK_AROUND + DIR_SOUTH, // MOVEMENT_TYPE_WANDER_AROUND + DIR_NORTH, // MOVEMENT_TYPE_WANDER_UP_AND_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WANDER_DOWN_AND_UP + DIR_WEST, // MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT + DIR_EAST, // MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN + DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_FACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_PLAYER + DIR_SOUTH, // MOVEMENT_TYPE_BERRY_TREE_GROWTH + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_UP + DIR_WEST, // MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_LEFT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_LEFT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE + DIR_SOUTH, // MOVEMENT_TYPE_ROTATE_CLOCKWISE + DIR_NORTH, // MOVEMENT_TYPE_WALK_UP_AND_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_DOWN_AND_UP + DIR_WEST, // MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT + DIR_EAST, // MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN + DIR_NORTH, // MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT + DIR_WEST, // MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN + DIR_EAST, // MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP + DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER + DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE + DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE + DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE + DIR_SOUTH, // MOVEMENT_TYPE_TREE_DISGUISE + DIR_SOUTH, // MOVEMENT_TYPE_MOUNTAIN_DISGUISE + DIR_NORTH, // MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS + DIR_SOUTH, // MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS + DIR_WEST, // MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS + DIR_EAST, // MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS + DIR_SOUTH, // MOVEMENT_TYPE_HIDDEN + DIR_SOUTH, // MOVEMENT_TYPE_WALK_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_WALK_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_WALK_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_JOG_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_JOG_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_JOG_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_RUN_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_RUN_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_RUN_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT + DIR_SOUTH, // MOVEMENT_TYPE_INVISIBLE + DIR_SOUTH, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN + DIR_NORTH, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP + DIR_WEST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT + DIR_EAST, // MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT }; #include "data/field_event_obj/event_object_graphics_info_pointers.h" @@ -612,196 +605,182 @@ const s16 gMovementDelaysShort[] = {32, 48, 64, 80}; #include "data/field_event_obj/movement_type_func_tables.h" -const u8 gUnknown_0850DACC[] = { - 0x00, - 0x00, - 0x01, - 0x02, - 0x03, - 0x00, - 0x00, - 0x01, - 0x01, +const u8 gFaceDirectionAnimNums[] = { + 0, // DIR_NONE + 0, // DIR_SOUTH + 1, // DIR_NORTH + 2, // DIR_WEST + 3, // DIR_EAST + 0, // DIR_SOUTHWEST + 0, // DIR_SOUTHEAST + 1, // DIR_NORTHWEST + 1, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DAD5[] = { - 0x04, - 0x04, - 0x05, - 0x06, - 0x07, - 0x04, - 0x04, - 0x05, - 0x05, +const u8 gMoveDirectionAnimNums[] = { + 4, // DIR_NONE + 4, // DIR_SOUTH + 5, // DIR_NORTH + 6, // DIR_WEST + 7, // DIR_EAST + 4, // DIR_SOUTHWEST + 4, // DIR_SOUTHEAST + 5, // DIR_NORTHWEST + 5, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DADE[] = { - 0x08, - 0x08, - 0x09, - 0x0a, - 0x0b, - 0x08, - 0x08, - 0x09, - 0x09, +const u8 gMoveDirectionFastAnimNums[] = { + 8, // DIR_NONE + 8, // DIR_SOUTH + 9, // DIR_NORTH + 10, // DIR_WEST + 11, // DIR_EAST + 8, // DIR_SOUTHWEST + 8, // DIR_SOUTHEAST + 9, // DIR_NORTHWEST + 9, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DAE7[] = { - 0x0c, - 0x0c, - 0x0d, - 0x0e, - 0x0f, - 0x0c, - 0x0c, - 0x0d, - 0x0d, +const u8 gMoveDirectionFasterAnimNums[] = { + 12, // DIR_NONE + 12, // DIR_SOUTH + 13, // DIR_NORTH + 14, // DIR_WEST + 15, // DIR_EAST + 12, // DIR_SOUTHWEST + 12, // DIR_SOUTHEAST + 13, // DIR_NORTHWEST + 13, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DAF0[] = { - 0x10, - 0x10, - 0x11, - 0x12, - 0x13, - 0x10, - 0x10, - 0x11, - 0x11, +const u8 gMoveDirectionFastestAnimNums[] = { + 16, // DIR_NONE + 16, // DIR_SOUTH + 17, // DIR_NORTH + 18, // DIR_WEST + 19, // DIR_EAST + 16, // DIR_SOUTHWEST + 16, // DIR_SOUTHEAST + 17, // DIR_NORTHWEST + 17, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DAF9[] = { - 0x14, - 0x14, - 0x15, - 0x16, - 0x17, - 0x14, - 0x14, - 0x15, - 0x15, +const u8 gJumpSpecialDirectionAnimNums[] = { // used for jumping onto surf mon + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB02[] = { - 0x14, - 0x14, - 0x15, - 0x16, - 0x17, - 0x14, - 0x14, - 0x15, - 0x15, +const u8 gAcroWheelieDirectionAnimNums[] = { + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB0B[] = { - 0x18, - 0x18, - 0x19, - 0x1a, - 0x1b, - 0x18, - 0x18, - 0x19, - 0x19, +const u8 gUnrefAnimNums_08375633[] = { + 24, // DIR_NONE + 24, // DIR_SOUTH + 25, // DIR_NORTH + 26, // DIR_WEST + 27, // DIR_EAST + 24, // DIR_SOUTHWEST + 24, // DIR_SOUTHEAST + 25, // DIR_NORTHWEST + 25, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB14[] = { - 0x1c, - 0x1c, - 0x1d, - 0x1e, - 0x1f, - 0x1c, - 0x1c, - 0x1d, - 0x1d, +const u8 gAcroEndWheelieDirectionAnimNums[] = { + 28, // DIR_NONE + 28, // DIR_SOUTH + 29, // DIR_NORTH + 30, // DIR_WEST + 31, // DIR_EAST + 28, // DIR_SOUTHWEST + 28, // DIR_SOUTHEAST + 29, // DIR_NORTHWEST + 29, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB1D[] = { - 0x20, - 0x20, - 0x21, - 0x22, - 0x23, - 0x20, - 0x20, - 0x21, - 0x21, +const u8 gAcroUnusedActionDirectionAnimNums[] = { + 32, // DIR_NONE + 32, // DIR_SOUTH + 33, // DIR_NORTH + 34, // DIR_WEST + 35, // DIR_EAST + 32, // DIR_SOUTHWEST + 32, // DIR_SOUTHEAST + 33, // DIR_NORTHWEST + 33, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB26[] = { - 0x24, - 0x24, - 0x25, - 0x26, - 0x27, - 0x24, - 0x24, - 0x25, - 0x25, +const u8 gAcroWheeliePedalDirectionAnimNums[] = { + 36, // DIR_NONE + 36, // DIR_SOUTH + 37, // DIR_NORTH + 38, // DIR_WEST + 39, // DIR_EAST + 36, // DIR_SOUTHWEST + 36, // DIR_SOUTHEAST + 37, // DIR_NORTHWEST + 37, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB2F[] = { - 0x00, - 0x00, - 0x01, - 0x02, - 0x03, - 0x00, - 0x00, - 0x01, - 0x01, +const u8 gFishingDirectionAnimNums[] = { + 0, // DIR_NONE + 0, // DIR_SOUTH + 1, // DIR_NORTH + 2, // DIR_WEST + 3, // DIR_EAST + 0, // DIR_SOUTHWEST + 0, // DIR_SOUTHEAST + 1, // DIR_NORTHWEST + 1, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB38[] = { - 0x04, - 0x04, - 0x05, - 0x06, - 0x07, - 0x04, - 0x04, - 0x05, - 0x05, +const u8 gFishingNoCatchDirectionAnimNums[] = { + 4, // DIR_NONE + 4, // DIR_SOUTH + 5, // DIR_NORTH + 6, // DIR_WEST + 7, // DIR_EAST + 4, // DIR_SOUTHWEST + 4, // DIR_SOUTHEAST + 5, // DIR_NORTHWEST + 5, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB41[] = { - 0x08, - 0x08, - 0x09, - 0x0a, - 0x0b, - 0x08, - 0x08, - 0x09, - 0x09, +const u8 gFishingBiteDirectionAnimNums[] = { + 8, // DIR_NONE + 8, // DIR_SOUTH + 9, // DIR_NORTH + 10, // DIR_WEST + 11, // DIR_EAST + 8, // DIR_SOUTHWEST + 8, // DIR_SOUTHEAST + 9, // DIR_NORTHWEST + 9, // DIR_NORTHEAST }; - -const u8 gUnknown_0850DB4A[] = { - 0x14, - 0x14, - 0x15, - 0x16, - 0x17, - 0x14, - 0x14, - 0x15, - 0x15, +const u8 gRunningDirectionAnimNums[] = { + 20, // DIR_NONE + 20, // DIR_SOUTH + 21, // DIR_NORTH + 22, // DIR_WEST + 23, // DIR_EAST + 20, // DIR_SOUTHWEST + 20, // DIR_SOUTHEAST + 21, // DIR_NORTHWEST + 21, // DIR_NORTHEAST }; -const u8 gUnknown_0850DB53[] = { - 0x08, - 0x08, - 0x07, - 0x09, - 0x0a, - 0x08, - 0x08, - 0x07, - 0x07, +const u8 gTrainerFacingDirectionMovementTypes[] = { + MOVEMENT_TYPE_FACE_DOWN, // DIR_NONE + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTH + MOVEMENT_TYPE_FACE_UP, // DIR_NORTH + MOVEMENT_TYPE_FACE_LEFT, // DIR_WEST + MOVEMENT_TYPE_FACE_RIGHT, // DIR_EAST + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHWEST + MOVEMENT_TYPE_FACE_DOWN, // DIR_SOUTHEAST + MOVEMENT_TYPE_FACE_UP, // DIR_NORTHWEST + MOVEMENT_TYPE_FACE_UP, // DIR_NORTHEAST }; bool8 (*const gOppositeDirectionBlockedMetatileFuncs[])(u8) = { @@ -830,220 +809,194 @@ const struct Coords16 gDirectionToVectors[] = { { 1, -1} }; -const u8 gUnknown_0850DBA0[] = { - 0x00, - 0x00, - 0x01, - 0x02, - 0x03, +const u8 gFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_FACE_DOWN, + MOVEMENT_ACTION_FACE_DOWN, + MOVEMENT_ACTION_FACE_UP, + MOVEMENT_ACTION_FACE_LEFT, + MOVEMENT_ACTION_FACE_RIGHT, }; - -const u8 gUnknown_0850DBA5[] = { - 0x04, - 0x04, - 0x05, - 0x06, - 0x07, +const u8 gWalkSlowMovementActions[] = { + MOVEMENT_ACTION_WALK_SLOW_DOWN, + MOVEMENT_ACTION_WALK_SLOW_DOWN, + MOVEMENT_ACTION_WALK_SLOW_UP, + MOVEMENT_ACTION_WALK_SLOW_LEFT, + MOVEMENT_ACTION_WALK_SLOW_RIGHT, }; - -const u8 gUnknown_0850DBAA[] = { - 0x08, - 0x08, - 0x09, - 0x0a, - 0x0b, +const u8 gWalkNormalMovementActions[] = { + MOVEMENT_ACTION_WALK_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_NORMAL_UP, + MOVEMENT_ACTION_WALK_NORMAL_LEFT, + MOVEMENT_ACTION_WALK_NORMAL_RIGHT, }; - -const u8 gUnknown_0850DBAF[] = { - 0x15, - 0x15, - 0x16, - 0x17, - 0x18, +const u8 gWalkFastMovementActions[] = { + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_DOWN, + MOVEMENT_ACTION_WALK_FAST_UP, + MOVEMENT_ACTION_WALK_FAST_LEFT, + MOVEMENT_ACTION_WALK_FAST_RIGHT, }; - -const u8 gUnknown_0850DBB4[] = { - 0x29, - 0x29, - 0x2a, - 0x2b, - 0x2c, +const u8 gRideWaterCurrentMovementActions[] = { + MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT, + MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT, }; - -const u8 gUnknown_0850DBB9[] = { - 0x2d, - 0x2d, - 0x2e, - 0x2f, - 0x30, +const u8 gWalkFastestMovementActions[] = { + MOVEMENT_ACTION_WALK_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_FASTEST_UP, + MOVEMENT_ACTION_WALK_FASTEST_LEFT, + MOVEMENT_ACTION_WALK_FASTEST_RIGHT, }; - -const u8 gUnknown_0850DBBE[] = { - 0x31, - 0x31, - 0x32, - 0x33, - 0x34, +const u8 gSlideMovementActions[] = { + MOVEMENT_ACTION_SLIDE_DOWN, + MOVEMENT_ACTION_SLIDE_DOWN, + MOVEMENT_ACTION_SLIDE_UP, + MOVEMENT_ACTION_SLIDE_LEFT, + MOVEMENT_ACTION_SLIDE_RIGHT, }; - -const u8 gUnknown_0850DBC3[] = { - 0x35, - 0x35, - 0x36, - 0x37, - 0x38, +const u8 gPlayerRunMovementActions[] = { + MOVEMENT_ACTION_PLAYER_RUN_DOWN, + MOVEMENT_ACTION_PLAYER_RUN_DOWN, + MOVEMENT_ACTION_PLAYER_RUN_UP, + MOVEMENT_ACTION_PLAYER_RUN_LEFT, + MOVEMENT_ACTION_PLAYER_RUN_RIGHT, }; - -const u8 gUnknown_0850DBC8[] = { - 0x0c, - 0x0c, - 0x0d, - 0x0e, - 0x0f, +const u8 gJump2MovementActions[] = { + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_DOWN, + MOVEMENT_ACTION_JUMP_2_UP, + MOVEMENT_ACTION_JUMP_2_LEFT, + MOVEMENT_ACTION_JUMP_2_RIGHT, }; - -const u8 gUnknown_0850DBCD[] = { - 0x46, - 0x46, - 0x47, - 0x48, - 0x49, +const u8 gJumpInPlaceMovementActions[] = { + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP, + MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT, + MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT, }; - -const u8 gUnknown_0850DBD2[] = { - 0x4b, - 0x4b, - 0x4a, - 0x4d, - 0x4c, +const u8 gJumpInPlaceTurnAroundMovementActions[] = { + MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN, + MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP, + MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT, + MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT, }; - -const u8 gUnknown_0850DBD7[] = { - 0x42, - 0x42, - 0x43, - 0x44, - 0x45, +const u8 gJumpMovementActions[] = { + MOVEMENT_ACTION_JUMP_DOWN, + MOVEMENT_ACTION_JUMP_DOWN, + MOVEMENT_ACTION_JUMP_UP, + MOVEMENT_ACTION_JUMP_LEFT, + MOVEMENT_ACTION_JUMP_RIGHT, }; - -const u8 gUnknown_0850DBDC[] = { - 0x3a, - 0x3a, - 0x3b, - 0x3c, - 0x3d, +const u8 gJumpSpecialMovementActions[] = { + MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, + MOVEMENT_ACTION_JUMP_SPECIAL_DOWN, + MOVEMENT_ACTION_JUMP_SPECIAL_UP, + MOVEMENT_ACTION_JUMP_SPECIAL_LEFT, + MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT, }; - -const u8 gUnknown_0850DBE1[] = { - 0x19, - 0x19, - 0x1a, - 0x1b, - 0x1c, +const u8 gWalkInPlaceSlowMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT, }; - -const u8 gUnknown_0850DBE6[] = { - 0x1d, - 0x1d, - 0x1e, - 0x1f, - 0x20, +const u8 gWalkInPlaceNormalMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT, }; - -const u8 gUnknown_0850DBEB[] = { - 0x21, - 0x21, - 0x22, - 0x23, - 0x24, +const u8 gWalkInPlaceFastMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT, }; - -const u8 gUnknown_0850DBF0[] = { - 0x25, - 0x25, - 0x26, - 0x27, - 0x28, +const u8 gWalkInPlaceFastestMovementActions[] = { + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT, + MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT, }; - -const u8 gUnknown_0850DBF5[] = { - 0x64, - 0x64, - 0x65, - 0x66, - 0x67, +const u8 gAcroWheelieFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT, }; - -const u8 gUnknown_0850DBFA[] = { - 0x68, - 0x68, - 0x69, - 0x6a, - 0x6b, +const u8 gAcroPopWheelieFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT, }; - -const u8 gUnknown_0850DBFF[] = { - 0x6c, - 0x6c, - 0x6d, - 0x6e, - 0x6f, +const u8 gAcroEndWheelieFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT, }; - -const u8 gUnknown_0850DC04[] = { - 0x70, - 0x70, - 0x71, - 0x72, - 0x73, +const u8 gAcroWheelieHopFaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT, }; - -const u8 gUnknown_0850DC09[] = { - 0x74, - 0x74, - 0x75, - 0x76, - 0x77, +const u8 gAcroWheelieHopDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT, }; - -const u8 gUnknown_0850DC0E[] = { - 0x78, - 0x78, - 0x79, - 0x7a, - 0x7b, +const u8 gAcroWheelieJumpDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT, }; - -const u8 gUnknown_0850DC13[] = { - 0x7c, - 0x7c, - 0x7d, - 0x7e, - 0x7f, +const u8 gAcroWheelieInPlaceDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT, }; - -const u8 gUnknown_0850DC18[] = { - 0x80, - 0x80, - 0x81, - 0x82, - 0x83, +const u8 gAcroPopWheelieMoveDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT, }; - -const u8 gUnknown_0850DC1D[] = { - 0x84, - 0x84, - 0x85, - 0x86, - 0x87, +const u8 gAcroWheelieMoveDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT, }; - -const u8 gUnknown_0850DC22[] = { - 0x88, - 0x88, - 0x89, - 0x8a, - 0x8b, +const u8 gAcroEndWheelieMoveDirectionMovementActions[] = { + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT, + MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT, }; const u8 gOppositeDirections[] = { @@ -1075,122 +1028,109 @@ const u8 gUnknown_0850DC3F[][4] = { // Code -static void npc_clear_ids_and_state(struct EventObject *eventObject) +static void ClearEventObject(struct EventObject *eventObject) { *eventObject = (struct EventObject){}; eventObject->localId = 0xFF; - eventObject->mapNum = -1; - eventObject->mapGroup = -1; - eventObject->movementActionId = -1; + eventObject->mapNum = 0xFF; + eventObject->mapGroup = 0xFF; + eventObject->movementActionId = 0xFF; } -static void npcs_clear_ids_and_state(void) +static void ClearAllEventObjects(void) { u8 i; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) - { - npc_clear_ids_and_state(&gEventObjects[i]); - } + for (i = 0; i < NUM_EVENT_OBJECTS; i++) + ClearEventObject(&gEventObjects[i]); } void sub_808D438(void) { - ZeroAllLinkPlayerEventObjects(); - npcs_clear_ids_and_state(); + ClearLinkPlayerEventObjects(); + ClearAllEventObjects(); ClearPlayerAvatarInfo(); sub_808D450(); } static void sub_808D450(void) { - u8 spriteIdx; + u8 spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); + gSprites[spriteId].oam.affineMode = 1; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 0); + gSprites[spriteId].invisible = 1; - spriteIdx = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); - gSprites[spriteIdx].oam.affineMode = 1; - InitSpriteAffineAnim(&gSprites[spriteIdx]); - StartSpriteAffineAnim(&gSprites[spriteIdx], 0); - gSprites[spriteIdx].invisible = TRUE; - - spriteIdx = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); - gSprites[spriteIdx].oam.affineMode = 1; - InitSpriteAffineAnim(&gSprites[spriteIdx]); - StartSpriteAffineAnim(&gSprites[spriteIdx], 1); - gSprites[spriteIdx].invisible = TRUE; + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[21], 0, 0, 31); + gSprites[spriteId].oam.affineMode = 1; + InitSpriteAffineAnim(&gSprites[spriteId]); + StartSpriteAffineAnim(&gSprites[spriteId], 1); + gSprites[spriteId].invisible = 1; } -u8 sub_808D4F4(void) +u8 GetFirstInactiveEventObjectId(void) { u8 i; - - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (!gEventObjects[i].active) - { break; - } } + return i; } -u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId) +u8 GetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId) { if (localId < 0xff) { - return GetEventObjectIdByLocalIdAndMapInternal(localId, mapId, mapGroupId); + return GetEventObjectIdByLocalIdAndMapInternal(localId, mapNum, mapGroupId); } return GetEventObjectIdByLocalId(localId); } -bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapId, u8 mapGroupId, u8 *eventObjectId) +bool8 TryGetEventObjectIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroupId, u8 *eventObjectId) { - *eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapId, mapGroupId); + *eventObjectId = GetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroupId); if (*eventObjectId == NUM_EVENT_OBJECTS) - { return TRUE; - } - return FALSE; + else + return FALSE; } u8 GetEventObjectIdByXY(s16 x, s16 y) { u8 i; - - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (gEventObjects[i].active && gEventObjects[i].currentCoords.x == x && gEventObjects[i].currentCoords.y == y) - { break; - } } + return i; } -static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapId, u8 mapGroupId) +static u8 GetEventObjectIdByLocalIdAndMapInternal(u8 localId, u8 mapNum, u8 mapGroupId) { u8 i; - - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { - if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapId && gEventObjects[i].mapGroup == mapGroupId) - { + if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroupId) return i; - } } + return NUM_EVENT_OBJECTS; } static u8 GetEventObjectIdByLocalId(u8 localId) { u8 i; - - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (gEventObjects[i].active && gEventObjects[i].localId == localId) - { return i; - } } + return NUM_EVENT_OBJECTS; } @@ -1199,17 +1139,17 @@ static u8 GetEventObjectIdByLocalId(u8 localId) static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapNum, u8 mapGroup) { struct EventObject *eventObject; + u8 eventObjectId; s16 x; s16 y; - u8 slot; // mapNum and mapGroup are in the wrong registers (r7/r6 instead of r6/r7) - if (GetAvailableEventObjectSlot(template->localId, mapNum, mapGroup, &slot)) + if (GetAvailableEventObjectId(template->localId, mapNum, mapGroup, &eventObjectId)) { return NUM_EVENT_OBJECTS; } - eventObject = &gEventObjects[slot]; - npc_clear_ids_and_state(eventObject); + eventObject = &gEventObjects[eventObjectId]; + ClearEventObject(eventObject); x = template->x + 7; y = template->y + 7; eventObject->active = TRUE; @@ -1233,22 +1173,22 @@ static u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, eventObject->trainerType = template->trainerType; eventObject->trainerRange_berryTreeId = template->trainerRange_berryTreeId; eventObject->previousMovementDirection = gInitialMovementTypeFacingDirections[template->movementType]; - EventObjectSetDirection(eventObject, eventObject->previousMovementDirection); - EventObjectHandleDynamicGraphicsId(eventObject); + SetEventObjectDirection(eventObject, eventObject->previousMovementDirection); + SetEventObjectDynamicGraphicsId(eventObject); if (gRangedMovementTypes[eventObject->movementType]) { if ((eventObject->range.as_nybbles.x) == 0) { // r9 is invoked here - eventObject->range.as_nybbles.x ++; + eventObject->range.as_nybbles.x++; } if ((eventObject->range.as_nybbles.y) == 0) { - eventObject->range.as_nybbles.y ++; + eventObject->range.as_nybbles.y++; } } - return slot; + return eventObjectId; } #else static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *template, u8 mapId, u8 mapGroupId) @@ -1267,7 +1207,7 @@ static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *tem "\tadds r1, r6, 0\n" "\tadds r2, r7, 0\n" "\tmov r3, sp\n" - "\tbl GetAvailableEventObjectSlot\n" + "\tbl GetAvailableEventObjectId\n" "\tlsls r0, 24\n" "\tcmp r0, 0\n" "\tbeq _0808D66E\n" @@ -1282,7 +1222,7 @@ static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *tem "\tldr r1, =gEventObjects\n" "\tadds r4, r0, r1\n" "\tadds r0, r4, 0\n" - "\tbl npc_clear_ids_and_state\n" + "\tbl ClearEventObject\n" "\tldrh r3, [r5, 0x4]\n" "\tadds r3, 0x7\n" "\tlsls r3, 16\n" @@ -1356,9 +1296,9 @@ static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *tem "\tstrb r1, [r0]\n" "\tldrb r1, [r0]\n" "\tadds r0, r4, 0\n" - "\tbl EventObjectSetDirection\n" + "\tbl SetEventObjectDirection\n" "\tadds r0, r4, 0\n" - "\tbl EventObjectHandleDynamicGraphicsId\n" + "\tbl SetEventObjectDynamicGraphicsId\n" "\tldr r1, =gRangedMovementTypes\n" "\tldrb r0, [r4, 0x6]\n" "\tadds r0, r1\n" @@ -1407,7 +1347,7 @@ static NAKED u8 InitEventObjectStateFromTemplate(struct EventObjectTemplate *tem } #endif -u8 unref_sub_808D77C(u8 localId) +u8 Unref_TryInitLocalEventObject(u8 localId) { u8 i; u8 nObjects; @@ -1427,7 +1367,7 @@ u8 unref_sub_808D77C(u8 localId) { nObjects = gMapHeader.events->eventObjectCount; } - for (i = 0; i < nObjects; i ++) + for (i = 0; i < nObjects; i++) { template = &gSaveBlock1Ptr->eventObjectTemplates[i]; if (template->localId == localId && !FlagGet(template->flagId)) @@ -1439,16 +1379,16 @@ u8 unref_sub_808D77C(u8 localId) return NUM_EVENT_OBJECTS; } -static bool8 GetAvailableEventObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 *result) +static bool8 GetAvailableEventObjectId(u16 localId, u8 mapNum, u8 mapGroup, u8 *eventObjectId) // Looks for an empty slot. // Returns FALSE and the location of the available slot -// in *result. +// in *eventObjectId. // If no slots are available, or if the object is already // loaded, returns TRUE. { u8 i = 0; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (!gEventObjects[i].active) break; @@ -1457,12 +1397,12 @@ static bool8 GetAvailableEventObjectSlot(u16 localId, u8 mapNum, u8 mapGroup, u8 } if (i >= NUM_EVENT_OBJECTS) return TRUE; - *result = i; + *eventObjectId = i; do { if (gEventObjects[i].active && gEventObjects[i].localId == localId && gEventObjects[i].mapNum == mapNum && gEventObjects[i].mapGroup == mapGroup) return TRUE; - i ++; + i++; } while (i < NUM_EVENT_OBJECTS); return FALSE; } @@ -1475,11 +1415,11 @@ static void RemoveEventObject(struct EventObject *eventObject) void RemoveEventObjectByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup) { - u8 index; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &index)) + u8 eventObjectId; + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - FlagSet(GetEventObjectFlagIdByEventObjectId(index)); - RemoveEventObject(&gEventObjects[index]); + FlagSet(GetEventObjectFlagIdByEventObjectId(eventObjectId)); + RemoveEventObject(&gEventObjects[eventObjectId]); } } @@ -1491,20 +1431,18 @@ static void RemoveEventObjectInternal(struct EventObject *eventObject) DestroySprite(&gSprites[eventObject->spriteId]); } -void unref_sub_808D958(void) +void RemoveAllEventObjectsExceptPlayer(void) { u8 i; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (i != gPlayerAvatar.eventObjectId) - { RemoveEventObject(&gEventObjects[i]); - } } } -static u8 SpawnEventObjectInternal(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySetupEventObjectSprite(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { struct EventObject *eventObject; const struct EventObjectGraphicsInfo *graphicsInfo; @@ -1515,9 +1453,8 @@ static u8 SpawnEventObjectInternal(struct EventObjectTemplate *eventObjectTempla eventObjectId = InitEventObjectStateFromTemplate(eventObjectTemplate, mapNum, mapGroup); if (eventObjectId == NUM_EVENT_OBJECTS) - { return NUM_EVENT_OBJECTS; - } + eventObject = &gEventObjects[eventObjectId]; graphicsInfo = GetEventObjectGraphicsInfo(eventObject->graphicsId); paletteSlot = graphicsInfo->paletteSlot; @@ -1558,14 +1495,14 @@ static u8 SpawnEventObjectInternal(struct EventObjectTemplate *eventObjectTempla eventObject->inanimate = graphicsInfo->inanimate; if (!eventObject->inanimate) { - StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(eventObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); } SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); - sub_8096518(eventObject, sprite); + UpdateEventObjectVisibility(eventObject, sprite); return eventObjectId; } -static u8 SpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) +static u8 TrySpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 mapNum, u8 mapGroup, s16 cameraX, s16 cameraY) { const struct EventObjectGraphicsInfo *graphicsInfo; struct SpriteTemplate spriteTemplate; @@ -1578,7 +1515,7 @@ static u8 SpawnEventObject(struct EventObjectTemplate *eventObjectTemplate, u8 m MakeObjectTemplateFromEventObjectTemplate(eventObjectTemplate, &spriteTemplate, &subspriteTables); spriteFrameImage.size = graphicsInfo->size; spriteTemplate.images = &spriteFrameImage; - eventObjectId = SpawnEventObjectInternal(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); + eventObjectId = TrySetupEventObjectSprite(eventObjectTemplate, &spriteTemplate, mapNum, mapGroup, cameraX, cameraY); if (eventObjectId == NUM_EVENT_OBJECTS) { return NUM_EVENT_OBJECTS; @@ -1597,7 +1534,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) s16 cameraY; GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return SpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } u8 SpawnSpecialEventObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) @@ -1632,7 +1569,7 @@ u8 show_sprite(u8 localId, u8 mapNum, u8 mapGroup) return NUM_EVENT_OBJECTS; } GetEventObjectMovingCameraOffset(&cameraX, &cameraY); - return SpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); + return TrySpawnEventObject(eventObjectTemplate, mapNum, mapGroup, cameraX, cameraY); } static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void (*callback)(struct Sprite *), struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) @@ -1651,7 +1588,7 @@ static void MakeObjectTemplateFromEventObjectGraphicsInfo(u16 graphicsId, void ( static void MakeObjectTemplateFromEventObjectGraphicsInfoWithCallbackIndex(u16 graphicsId, u16 callbackIndex, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables) { - MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, gUnknown_08505438[callbackIndex], sprTemplate, subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sMovementTypeCallbacks[callbackIndex], sprTemplate, subspriteTables); } static void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjectTemplate, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables) @@ -1693,7 +1630,7 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) struct Sprite *sprite; graphicsInfo = GetEventObjectGraphicsInfo(graphicsId); - MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, sub_8097AC8, &spriteTemplate, &subspriteTables); + MakeObjectTemplateFromEventObjectGraphicsInfo(graphicsId, UpdateEventObjectSpriteSubpriorityAndVisibility, &spriteTemplate, &subspriteTables); *(u16 *)&spriteTemplate.paletteTag = 0xffff; x += 7; y += 7; @@ -1728,12 +1665,12 @@ u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction) } InitObjectPriorityByZCoord(sprite, z); SetObjectSubpriorityByZCoord(z, sprite, 1); - StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(direction)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(direction)); } return spriteId; } -void SpawnEventObjectsInView(s16 cameraX, s16 cameraY) +void TrySpawnEventObjects(s16 cameraX, s16 cameraY) { u8 i; s16 left; @@ -1772,21 +1709,21 @@ void SpawnEventObjectsInView(s16 cameraX, s16 cameraY) if (top <= npcY && bottom >= npcY && left <= npcX && right >= npcX && !FlagGet(template->flagId)) - SpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); + TrySpawnEventObject(template, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } } } -/*static*/ void RemoveEventObjectsOutsideView(void) +void RemoveEventObjectsOutsideView(void) { u8 i; u8 j; bool8 isActiveLinkPlayer; struct EventObject *eventObject; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { - for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerEventObjects); j ++) + for (j = 0, isActiveLinkPlayer = FALSE; j < ARRAY_COUNT(gLinkPlayerEventObjects); j++) { if (gLinkPlayerEventObjects[j].active && i == gLinkPlayerEventObjects[j].eventObjId) isActiveLinkPlayer = TRUE; @@ -1827,7 +1764,7 @@ void sub_808E16C(s16 x, s16 y) u8 i; ClearPlayerAvatarInfo(); - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (gEventObjects[i].active) { @@ -1849,7 +1786,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) struct Sprite *sprite; #define i spriteId - for (i = 0; i < ARRAY_COUNT(gLinkPlayerEventObjects); i ++) + for (i = 0; i < ARRAY_COUNT(gLinkPlayerEventObjects); i++) { if (gLinkPlayerEventObjects[i].active && eventObjectId == gLinkPlayerEventObjects[i].eventObjId) { @@ -1905,7 +1842,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) eventObject->spriteId = spriteId; if (!eventObject->inanimate && eventObject->movementType != 0x0b) { - StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(eventObject->facingDirection)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObject->facingDirection)); } sub_808E38C(eventObject); SetObjectSubpriorityByZCoord(eventObject->previousElevation, sprite, 1); @@ -1914,7 +1851,7 @@ static void sub_808E1B8(u8 eventObjectId, s16 x, s16 y) static void sub_808E38C(struct EventObject *eventObject) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; eventObject->triggerGroundEffectsOnMove = TRUE; eventObject->hasShadow = FALSE; eventObject->hasReflection = FALSE; @@ -1922,7 +1859,7 @@ static void sub_808E38C(struct EventObject *eventObject) eventObject->inShallowFlowingWater = FALSE; eventObject->inSandPile = FALSE; eventObject->inHotSprings = FALSE; - EventObjectClearAnim(eventObject); + EventObjectClearHeldMovement(eventObject); } static void SetPlayerAvatarEventObjectIdAndObjectId(u8 eventObjectId, u8 spriteId) @@ -1986,10 +1923,10 @@ void EventObjectSetGraphicsIdByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, void EventObjectTurn(struct EventObject *eventObject, u8 direction) { - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); if (!eventObject->inanimate) { - StartSpriteAnim(&gSprites[eventObject->spriteId], EventObjectDirectionToImageAnimId(eventObject->facingDirection)); + StartSpriteAnim(&gSprites[eventObject->spriteId], GetFaceDirectionAnimNum(eventObject->facingDirection)); SeekSpriteAnim(&gSprites[eventObject->spriteId], 0); } } @@ -2054,7 +1991,7 @@ const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId) return gEventObjectGraphicsInfoPointers[graphicsId]; } -static void EventObjectHandleDynamicGraphicsId(struct EventObject *eventObject) +static void SetEventObjectDynamicGraphicsId(struct EventObject *eventObject) { if (eventObject->graphicsId >= SPRITE_VAR) { @@ -2154,7 +2091,7 @@ void sub_808E8C0(u16 *paletteTags) { u8 i; - for (i = 0; paletteTags[i] != 0x11ff; i ++) + for (i = 0; paletteTags[i] != 0x11ff; i++) { sub_808E894(paletteTags[i]); } @@ -2182,8 +2119,8 @@ void pal_patch_for_npc_range(const u16 *paletteTags, u8 minSlot, u8 maxSlot) while (minSlot < maxSlot) { pal_patch_for_npc(*paletteTags, minSlot); - paletteTags ++; - minSlot ++; + paletteTags++; + minSlot++; } } @@ -2191,7 +2128,7 @@ static u8 FindEventObjectPaletteIndexByTag(u16 tag) { u8 i; - for (i = 0; gUnknown_0850BBC8[i].tag != 0x11ff; i ++) + for (i = 0; gUnknown_0850BBC8[i].tag != 0x11ff; i++) { if (gUnknown_0850BBC8[i].tag == tag) { @@ -2206,7 +2143,7 @@ void npc_load_two_palettes__no_record(u16 tag, u8 slot) u8 i; pal_patch_for_npc(tag, slot); - for (i = 0; gUnknown_0850BD00[i].tag != 0x11ff; i ++) + for (i = 0; gUnknown_0850BD00[i].tag != 0x11ff; i++) { if (gUnknown_0850BD00[i].tag == tag) { @@ -2222,7 +2159,7 @@ void npc_load_two_palettes__and_record(u16 tag, u8 slot) gUnknown_020375B6 = tag; pal_patch_for_npc(tag, slot); - for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++) + for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i++) { if (gUnknown_0850BD78[i].tag == tag) { @@ -2245,7 +2182,7 @@ void unref_sub_808EAC4(struct EventObject *eventObject, s16 x, s16 y) eventObject->currentCoords.y += y; } -void npc_coords_shift(struct EventObject *eventObject, s16 x, s16 y) +void ShiftEventObjectCoords(struct EventObject *eventObject, s16 x, s16 y) { eventObject->previousCoords.x = eventObject->currentCoords.x; eventObject->previousCoords.y = eventObject->currentCoords.y; @@ -2293,9 +2230,9 @@ void sub_808EBA8(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y) } } -void npc_coords_shift_still(struct EventObject *eventObject) +void ShiftStillEventObjectCoords(struct EventObject *eventObject) { - npc_coords_shift(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); + ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x, eventObject->currentCoords.y); } void UpdateEventObjectCoordsForCameraUpdate(void) @@ -2308,7 +2245,7 @@ void UpdateEventObjectCoordsForCameraUpdate(void) { dx = gCamera.x; dy = gCamera.y; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (gEventObjects[i].active) { @@ -2326,7 +2263,7 @@ void UpdateEventObjectCoordsForCameraUpdate(void) u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z) { u8 i; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { if (gEventObjects[i].active) { @@ -2351,7 +2288,7 @@ static bool8 EventObjectDoesZCoordMatch(struct EventObject *eventObject, u8 z) void UpdateEventObjectsForCameraUpdate(s16 x, s16 y) { UpdateEventObjectCoordsForCameraUpdate(); - SpawnEventObjectsInView(x, y); + TrySpawnEventObjects(x, y); RemoveEventObjectsOutsideView(); } @@ -2407,7 +2344,7 @@ static struct Sprite *FindCameraObject(void) { u8 spriteId; - for (spriteId = 0; spriteId < MAX_SPRITES; spriteId ++) + for (spriteId = 0; spriteId < MAX_SPRITES; spriteId++) { if (gSprites[spriteId].inUse && gSprites[spriteId].callback == ObjectCB_CameraObject) { @@ -2462,7 +2399,7 @@ u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) { u8 i; - for (i = 0; i < MAX_SPRITES; i ++) + for (i = 0; i < MAX_SPRITES; i++) { if (!gSprites[i].inUse) { @@ -2494,7 +2431,7 @@ u8 obj_unfreeze(struct Sprite *sprite, s16 x, s16 y, u8 subpriority) return MAX_SPRITES; } -void EventObjectSetDirection(struct EventObject *eventObject, u8 direction) +void SetEventObjectDirection(struct EventObject *eventObject, u8 direction) { s8 d2; eventObject->previousMovementDirection = eventObject->facingDirection; @@ -2575,14 +2512,14 @@ static struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8 loca templates = mapHeader->events->eventObjects; count = mapHeader->events->eventObjectCount; } - return FindEventObjectTemplateInArrayByLocalId(localId, templates, count); + return FindEventObjectTemplateByLocalId(localId, templates, count); } -static struct EventObjectTemplate *FindEventObjectTemplateInArrayByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count) +static struct EventObjectTemplate *FindEventObjectTemplateByLocalId(u8 localId, struct EventObjectTemplate *templates, u8 count) { u8 i; - for (i = 0; i < count; i ++) + for (i = 0; i < count; i++) { if (templates[i].localId == localId) { @@ -2592,7 +2529,7 @@ static struct EventObjectTemplate *FindEventObjectTemplateInArrayByLocalId(u8 lo return NULL; } -struct EventObjectTemplate *sub_808F1B4(const struct EventObject *eventObject) +struct EventObjectTemplate *GetBaseTemplateForEventObject(const struct EventObject *eventObject) { int i; @@ -2600,7 +2537,7 @@ struct EventObjectTemplate *sub_808F1B4(const struct EventObject *eventObject) { return NULL; } - for (i = 0; i < 64; i ++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble) + for (i = 0; i < 64; i++) // Using ARRAY_COUNT here results in the wrong conditional branch instruction (bls instead of ble) { if (eventObject->localId == gSaveBlock1Ptr->eventObjectTemplates[i].localId) { @@ -2610,11 +2547,11 @@ struct EventObjectTemplate *sub_808F1B4(const struct EventObject *eventObject) return NULL; } -void sub_808F208(const struct EventObject *eventObject) +void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject) { struct EventObjectTemplate *eventObjectTemplate; - eventObjectTemplate = sub_808F1B4(eventObject); + eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); if (eventObjectTemplate != NULL) { eventObjectTemplate->x = eventObject->currentCoords.x - 7; @@ -2622,22 +2559,22 @@ void sub_808F208(const struct EventObject *eventObject) } } -void sub_808F228(const struct EventObject *eventObject, const u8 *script) +void OverrideMovementTypeForEventObject(const struct EventObject *eventObject, const u8 *script) { struct EventObjectTemplate *eventObjectTemplate; - eventObjectTemplate = sub_808F1B4(eventObject); + eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); if (eventObjectTemplate != NULL) { eventObjectTemplate->script = script; } } -void sub_808F23C(const struct EventObject *eventObject, u8 movementType) +void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType) { struct EventObjectTemplate *eventObjectTemplate; - eventObjectTemplate = sub_808F1B4(eventObject); + eventObjectTemplate = GetBaseTemplateForEventObject(eventObject); if (eventObjectTemplate != NULL) { eventObjectTemplate->movementType = movementType; @@ -2650,7 +2587,7 @@ void sub_808F254(u8 localId, u8 mapNum, u8 mapGroup) if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId)) { - sub_808F208(&gEventObjects[eventObjectId]); + OverrideTemplateCoordsForEventObject(&gEventObjects[eventObjectId]); } } @@ -2663,10 +2600,10 @@ void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat) switch (decorCat) { case DECORCAT_DOLL: - sub_808F228(&gEventObjects[eventObjectId], EventScript_2766A2); + OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_2766A2); break; case DECORCAT_CUSHION: - sub_808F228(&gEventObjects[eventObjectId], EventScript_2766A6); + OverrideMovementTypeForEventObject(&gEventObjects[eventObjectId], EventScript_2766A6); break; } } @@ -2696,7 +2633,7 @@ u16 npc_paltag_by_palslot(u8 palSlot) { return gUnknown_0850BE38[gUnknown_020375B4][palSlot]; } - for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i ++) + for (i = 0; gUnknown_0850BD78[i].tag != 0x11ff; i++) { if (gUnknown_0850BD78[i].tag == gUnknown_020375B6) { @@ -2706,41 +2643,37 @@ u16 npc_paltag_by_palslot(u8 palSlot) return 0x11ff; } -// Map Object Step Callbacks -// file boundary? - -null_object_step(NoMovement1, FALSE) - -field_object_step(GoRandomDirections, gUnknown_0850D6F4) +movement_type_empty_callback(MovementType_None) +movement_type_def(MovementType_WanderAround, gMovementTypeFuncs_WanderAround) -bool8 sub_808F44C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808F460(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808F48C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (!EventObjectExecRegularAnim(eventObject, sprite)) + if (!EventObjectExecSingleMovementAction(eventObject, sprite)) { return FALSE; } - SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; return TRUE; } -bool8 sub_808F4C8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite)) + if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; return TRUE; @@ -2748,35 +2681,35 @@ bool8 sub_808F4C8(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808F4E8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) { u8 directions[4]; u8 chosenDirection; - memcpy(directions, gUnknown_0850D710, sizeof directions); - chosenDirection = directions[Random() & 0x03]; - EventObjectSetDirection(eventObject, chosenDirection); + memcpy(directions, gStandardDirections, sizeof directions); + chosenDirection = directions[Random() & 3]; + SetEventObjectDirection(eventObject, chosenDirection); sprite->data[1] = 5; - if (npc_block_way__next_tile(eventObject, chosenDirection)) + if (GetCollisionInDirection(eventObject, chosenDirection)) { sprite->data[1] = 1; } return TRUE; } -bool8 sub_808F534(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step5(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(eventObject->movementDirection)); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); + eventObject->singleMovementActive = 1; sprite->data[1] = 6; return TRUE; } -bool8 sub_808F564(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderAround_Step6(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; @@ -2793,7 +2726,7 @@ bool8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) s16 minY; s16 maxY; - if (!TestPlayerAvatarFlags(0x80)) + if (!TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_DASH)) { return FALSE; } @@ -2815,7 +2748,7 @@ bool8 EventObjectIsTrainerAndCloseToPlayer(struct EventObject *eventObject) return TRUE; } -u8 GetRegularRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetVectorDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; @@ -2838,7 +2771,7 @@ u8 GetRegularRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetNorthSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_SouthNorth(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; @@ -2850,7 +2783,7 @@ u8 GetNorthSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetEastWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_WestEast(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; @@ -2862,14 +2795,14 @@ u8 GetEastWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetNorthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_WestNorth(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_SOUTH) { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_WestEast(dx, dy, absdx, absdy); if (direction == DIR_EAST) { direction = DIR_NORTH; @@ -2877,7 +2810,7 @@ u8 GetNorthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) } else if (direction == DIR_EAST) { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_SouthNorth(dx, dy, absdx, absdy); if (direction == DIR_SOUTH) { direction = DIR_NORTH; @@ -2886,14 +2819,14 @@ u8 GetNorthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetNorthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_EastNorth(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_SOUTH) { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_WestEast(dx, dy, absdx, absdy); if (direction == DIR_WEST) { direction = DIR_NORTH; @@ -2901,7 +2834,7 @@ u8 GetNorthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) } else if (direction == DIR_WEST) { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_SouthNorth(dx, dy, absdx, absdy); if (direction == DIR_SOUTH) { direction = DIR_NORTH; @@ -2910,14 +2843,14 @@ u8 GetNorthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetSouthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_WestSouth(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_NORTH) { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_WestEast(dx, dy, absdx, absdy); if (direction == DIR_EAST) { direction = DIR_SOUTH; @@ -2925,7 +2858,7 @@ u8 GetSouthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) } else if (direction == DIR_EAST) { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_SouthNorth(dx, dy, absdx, absdy); if (direction == DIR_NORTH) { direction = DIR_SOUTH; @@ -2934,14 +2867,14 @@ u8 GetSouthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetSouthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_EastSouth(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_NORTH) { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_WestEast(dx, dy, absdx, absdy); if (direction == DIR_WEST) { direction = DIR_SOUTH; @@ -2949,7 +2882,7 @@ u8 GetSouthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) } else if (direction == DIR_WEST) { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_SouthNorth(dx, dy, absdx, absdy); if (direction == DIR_NORTH) { direction = DIR_SOUTH; @@ -2958,55 +2891,55 @@ u8 GetSouthWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) return direction; } -u8 GetNonEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_SouthNorthWest(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_EAST) { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_SouthNorth(dx, dy, absdx, absdy); } return direction; } -u8 GetNonWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_SouthNorthEast(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_WEST) { - direction = GetNorthSouthRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_SouthNorth(dx, dy, absdx, absdy); } return direction; } -u8 GetNonSouthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_NorthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_SOUTH) { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_WestEast(dx, dy, absdx, absdy); } return direction; } -u8 GetNonNorthRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy) +u8 GetLimitedVectorDirection_SouthWestEast(s16 dx, s16 dy, s16 absdx, s16 absdy) { u8 direction; - direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetVectorDirection(dx, dy, absdx, absdy); if (direction == DIR_NORTH) { - direction = GetEastWestRunningPastFacingDirection(dx, dy, absdx, absdy); + direction = GetLimitedVectorDirection_WestEast(dx, dy, absdx, absdy); } return direction; } -u8 GetRunningPastFacingDirection(struct EventObject *eventObject, u8 movementType) +u8 TryGetTrainerEncounterDirection(struct EventObject *eventObject, u8 movementType) { s16 dx; s16 dy; @@ -3030,39 +2963,39 @@ u8 GetRunningPastFacingDirection(struct EventObject *eventObject, u8 movementTyp { absdy = -absdy; } - return gUnknown_0850D714[movementType](dx, dy, absdx, absdy); + return gGetVectorDirectionFuncs[movementType](dx, dy, absdx, absdy); } -field_object_step(LookRandomDirections, gUnknown_0850D740) +movement_type_def(MovementType_LookAround, gMovementTypeFuncs_LookAround) -bool8 sub_808F988(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808F99C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808F9C8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_808FA0C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3070,52 +3003,50 @@ bool8 sub_808FA0C(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FA3C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_LookAround_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[4]; u8 direction; + u8 directions[4]; + memcpy(directions, gStandardDirections, sizeof directions); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_ANY); + if (direction == DIR_NONE) + direction = directions[Random() & 3]; - memcpy(directions, gUnknown_0850D710, sizeof directions); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_ANY); - if (direction == 0) - { - direction = directions[Random() & 0x03]; - } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyGoNorthOrSouth, gUnknown_0850D754) +movement_type_def(MovementType_WanderUpAndDown, gMovementTypeFuncs_WanderUpAndDown) -bool8 sub_808FAC8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FADC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808FB08(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (!EventObjectExecRegularAnim(eventObject, sprite)) + if (!EventObjectExecSingleMovementAction(eventObject, sprite)) { return FALSE; } - SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; return TRUE; } -bool8 sub_808FB44(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite)) + if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; return TRUE; @@ -3123,70 +3054,69 @@ bool8 sub_808FB44(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FB64(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D770, sizeof directions); - direction = directions[Random() & 0x01]; - EventObjectSetDirection(eventObject, direction); + u8 directions[2]; + memcpy(directions, gUpAndDownDirections, sizeof directions); + direction = directions[Random() & 1]; + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; - if (npc_block_way__next_tile(eventObject, direction)) + if (GetCollisionInDirection(eventObject, direction)) { sprite->data[1] = 1; } return TRUE; } -bool8 sub_808FBB0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step5(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(eventObject->movementDirection)); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); + eventObject->singleMovementActive = 1; sprite->data[1] = 6; return TRUE; } -bool8 sub_808FBE0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderUpAndDown_Step6(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -field_object_step(RandomlyGoEastOrWest, gUnknown_0850D774) +movement_type_def(MovementType_WanderLeftAndRight, gMovementTypeFuncs_WanderLeftAndRight) -bool8 sub_808FC4C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FC60(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_808FC8C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (!EventObjectExecRegularAnim(eventObject, sprite)) + if (!EventObjectExecSingleMovementAction(eventObject, sprite)) { return FALSE; } - SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); sprite->data[1] = 3; return TRUE; } -bool8 sub_808FCC8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite)) + if (WaitForMovementDelay(sprite)) { sprite->data[1] = 4; return TRUE; @@ -3194,53 +3124,52 @@ bool8 sub_808FCC8(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FCE8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D790, sizeof directions); - direction = directions[Random() & 0x01]; - EventObjectSetDirection(eventObject, direction); + u8 directions[2]; + memcpy(directions, gLeftAndRightDirections, sizeof directions); + direction = directions[Random() & 1]; + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 5; - if (npc_block_way__next_tile(eventObject, direction)) + if (GetCollisionInDirection(eventObject, direction)) { sprite->data[1] = 1; } return TRUE; } -bool8 sub_808FD34(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step5(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(eventObject->movementDirection)); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(eventObject->movementDirection)); + eventObject->singleMovementActive = 1; sprite->data[1] = 6; return TRUE; } -bool8 sub_808FD64(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WanderLeftAndRight_Step6(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -field_object_step(FaceFixedDirection, gUnknown_0850D794) +movement_type_def(MovementType_FaceDirection, gMovementTypeFuncs_FaceDirection) -bool8 sub_808FDD0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FDFC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 2; return TRUE; @@ -3248,42 +3177,41 @@ bool8 sub_808FDFC(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_808FE1C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDirection_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; return FALSE; } static bool8 EventObjectCB2_BerryTree(struct EventObject *eventObject, struct Sprite *sprite); -extern bool8 (*const gUnknown_0850D7A0[])(struct EventObject *eventObject, struct Sprite *sprite); -void EventObjectCB_BerryTree(struct Sprite *sprite) +extern bool8 (*const gMovementTypeFuncs_BerryTreeGrowth[])(struct EventObject *eventObject, struct Sprite *sprite); +void MovementType_BerryTreeGrowth(struct Sprite *sprite) { struct EventObject *eventObject; eventObject = &gEventObjects[sprite->data[0]]; - if (!(sprite->data[7] & 0x0001)) + if (!(sprite->data[7] & 1)) { get_berry_tree_graphics(eventObject, sprite); - sprite->data[7] |= 0x0001; + sprite->data[7] |= 1; } - EventObjectStep(eventObject, sprite, EventObjectCB2_BerryTree); + UpdateEventObjectCurrentMovement(eventObject, sprite, EventObjectCB2_BerryTree); } static bool8 EventObjectCB2_BerryTree(struct EventObject *eventObject, struct Sprite *sprite) { - return gUnknown_0850D7A0[sprite->data[1]](eventObject, sprite); + return gMovementTypeFuncs_BerryTreeGrowth[sprite->data[1]](eventObject, sprite); } -bool8 do_berry_tree_growth_sparkle_1 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u8 berryStage; - - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); eventObject->invisible = TRUE; sprite->invisible = TRUE; berryStage = GetStageByBerryTreeId(eventObject->trainerRange_berryTreeId); if (berryStage == 0) { - if (!(sprite->data[7] & 0x0004) && sprite->animNum == 4) + if (!(sprite->data[7] & 4) && sprite->animNum == 4) { gFieldEffectArguments[0] = eventObject->currentCoords.x; gFieldEffectArguments[1] = eventObject->currentCoords.y; @@ -3303,14 +3231,14 @@ bool8 do_berry_tree_growth_sparkle_1 (struct EventObject *eventObject, struct Sp return TRUE; } get_berry_tree_graphics(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, 0x39); + EventObjectSetSingleMovement(eventObject, sprite, MOVEMENT_ACTION_START_ANIM_IN_DIRECTION); sprite->data[1] = 1; return TRUE; } -bool8 sub_808FF48 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 0; return TRUE; @@ -3318,12 +3246,12 @@ bool8 sub_808FF48 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 do_berry_tree_growth_sparkle_2 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 3; sprite->data[2] = 0; - sprite->data[7] |= 0x0002; + sprite->data[7] |= 2; gFieldEffectArguments[0] = eventObject->currentCoords.x; gFieldEffectArguments[1] = eventObject->currentCoords.y; gFieldEffectArguments[2] = sprite->subpriority - 1; @@ -3332,9 +3260,9 @@ bool8 do_berry_tree_growth_sparkle_2 (struct EventObject *eventObject, struct Sp return TRUE; } -bool8 sub_808FFB4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - sprite->data[2] ++; + sprite->data[2]++; eventObject->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) @@ -3347,9 +3275,9 @@ bool8 sub_808FFB4 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090004 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_BerryTreeGrowth_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - sprite->data[2] ++; + sprite->data[2]++; eventObject->invisible = (sprite->data[2] & 0x02) >> 1; sprite->animPaused = TRUE; if (sprite->data[2] > 64) @@ -3361,36 +3289,36 @@ bool8 sub_8090004 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -field_object_step(RandomlyLookNorthOrSouth, gUnknown_0850D7B4) +movement_type_def(MovementType_FaceDownAndUp, gMovementTypeFuncs_FaceDownAndUp) -bool8 sub_8090094 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80900A8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_80900D4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090118 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3398,52 +3326,51 @@ bool8 sub_8090118 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090148 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndUp_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D770, sizeof gUnknown_0850D770); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_SOUTH); + u8 directions[2]; + memcpy(directions, gUpAndDownDirections, sizeof gUpAndDownDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_SOUTH); if (direction == 0) { - direction = directions[Random() & 0x01]; + direction = directions[Random() & 1]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookEastOrWest, gUnknown_0850D7C8) +movement_type_def(MovementType_FaceLeftAndRight, gMovementTypeFuncs_FaceLeftAndRight) -bool8 sub_80901D4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80901E8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090214 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysMedium[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysMedium[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090258 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3451,52 +3378,51 @@ bool8 sub_8090258 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090288 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D790, sizeof gUnknown_0850D790); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_EAST_WEST); + u8 directions[2]; + memcpy(directions, gLeftAndRightDirections, sizeof gLeftAndRightDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_EAST_WEST); if (direction == 0) { - direction = directions[Random() & 0x01]; + direction = directions[Random() & 1]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookNorthOrWest, gUnknown_0850D7DC) +movement_type_def(MovementType_FaceUpAndLeft, gMovementTypeFuncs_FaceUpAndLeft) -bool8 sub_8090314 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090328 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090354 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090398 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3504,52 +3430,51 @@ bool8 sub_8090398 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80903C8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D7F0, sizeof gUnknown_0850D7F0); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_WEST); + u8 directions[2]; + memcpy(directions, gUpAndLeftDirections, sizeof gUpAndLeftDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_WEST); if (direction == 0) { - direction = directions[Random() & 0x01]; + direction = directions[Random() & 1]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookNorthOrEast, gUnknown_0850D7F4) +movement_type_def(MovementType_FaceUpAndRight, gMovementTypeFuncs_FaceUpAndRight) -bool8 sub_8090454 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090468 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090494 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_80904D8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3557,52 +3482,51 @@ bool8 sub_80904D8 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090508 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D808, sizeof gUnknown_0850D808); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_EAST); + u8 directions[2]; + memcpy(directions, gUpAndRightDirections, sizeof gUpAndRightDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_EAST); if (direction == 0) { - direction = directions[Random() & 0x01]; + direction = directions[Random() & 1]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookSouthOrWest, gUnknown_0850D80C) +movement_type_def(MovementType_FaceDownAndLeft, gMovementTypeFuncs_FaceDownAndLeft) -bool8 sub_8090594 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80905A8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_80905D4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090618 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3610,52 +3534,51 @@ bool8 sub_8090618 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090648 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D820, sizeof gUnknown_0850D820); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_SOUTH_WEST); + u8 directions[2]; + memcpy(directions, gDownAndLeftDirections, sizeof gDownAndLeftDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_SOUTH_WEST); if (direction == 0) { - direction = directions[Random() & 0x01]; + direction = directions[Random() & 1]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookSouthOrEast, gUnknown_0850D824) +movement_type_def(MovementType_FaceDownAndRight, gMovementTypeFuncs_FaceDownAndRight) -bool8 sub_80906D4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_80906E8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090714 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090758 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3663,52 +3586,51 @@ bool8 sub_8090758 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090788 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[2]; u8 direction; - - memcpy(directions, gUnknown_0850D838, sizeof gUnknown_0850D838); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_SOUTH_EAST); + u8 directions[2]; + memcpy(directions, gDownAndRightDirections, sizeof gDownAndRightDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_SOUTH_EAST); if (direction == 0) { - direction = directions[Random() & 0x01]; + direction = directions[Random() & 1]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookNorthOrSouthOrWest, gUnknown_0850D83C) +movement_type_def(MovementType_FaceDownUpAndLeft, gMovementTypeFuncs_FaceDownUpAndLeft) -bool8 sub_8090814 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090828 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090854 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090898 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3716,52 +3638,51 @@ bool8 sub_8090898 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80908C8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[4]; u8 direction; - - memcpy(directions, gUnknown_0850D850, sizeof gUnknown_0850D850); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_WEST); + u8 directions[4]; + memcpy(directions, gDownUpAndLeftDirections, sizeof gDownUpAndLeftDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_WEST); if (direction == 0) { - direction = directions[Random() & 0x03]; + direction = directions[Random() & 3]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookNorthOrSouthOrEast, gUnknown_0850D854) +movement_type_def(MovementType_FaceDownUpAndRight, gMovementTypeFuncs_FaceDownUpAndRight) -bool8 sub_8090954 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090968 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090994 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_80909D8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3769,52 +3690,51 @@ bool8 sub_80909D8 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090A08 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[4]; u8 direction; - - memcpy(directions, gUnknown_0850D868, sizeof gUnknown_0850D868); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_EAST); + u8 directions[4]; + memcpy(directions, gDownUpAndRightDirections, sizeof gDownUpAndRightDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_SOUTH_EAST); if (direction == 0) { - direction = directions[Random() & 0x03]; + direction = directions[Random() & 3]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookNorthOrEastOrWest, gUnknown_0850D86C) +movement_type_def(MovementType_FaceUpRightAndLeft, gMovementTypeFuncs_FaceUpLeftAndRight) -bool8 sub_8090A94 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090AA8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090AD4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090B18 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3822,52 +3742,51 @@ bool8 sub_8090B18 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090B48 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[4]; u8 direction; - - memcpy(directions, gUnknown_0850D880, sizeof gUnknown_0850D880); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_NORTH_EAST_WEST); + u8 directions[4]; + memcpy(directions, gUpLeftAndRightDirections, sizeof gUpLeftAndRightDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_NORTH_EAST_WEST); if (direction == 0) { - direction = directions[Random() & 0x03]; + direction = directions[Random() & 3]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(RandomlyLookSouthOrEastOrWest, gUnknown_0850D884) +movement_type_def(MovementType_FaceDownRightAndLeft, gMovementTypeFuncs_FaceDownLeftAndRight) -bool8 sub_8090BD4 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090BE8 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090C14 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, gMovementDelaysShort[Random() & 0x03]); - eventObject->singleMovementActive = FALSE; + SetMovementDelay(sprite, gMovementDelaysShort[Random() & 3]); + eventObject->singleMovementActive = 0; sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090C58 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 4; return TRUE; @@ -3875,122 +3794,119 @@ bool8 sub_8090C58 (struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_8090C88 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[4]; u8 direction; - - memcpy(directions, gUnknown_0850D898, sizeof gUnknown_0850D898); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_SOUTH_EAST_WEST); + u8 directions[4]; + memcpy(directions, gDownLeftAndRightDirections, sizeof gDownLeftAndRightDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_SOUTH_EAST_WEST); if (direction == 0) { - direction = directions[Random() & 0x03]; + direction = directions[Random() & 3]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 1; return TRUE; } -field_object_step(LookAroundCounterclockwise, gUnknown_0850D89C) +movement_type_def(MovementType_RotateCounterclockwise, gMovementTypeFuncs_RotateCounterclockwise) -bool8 sub_8090D14 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090D40 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, 48); + SetMovementDelay(sprite, 48); sprite->data[1] = 2; } return FALSE; } -bool8 sub_8090D64 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090D90 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateCounterclockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[5]; u8 direction; - - memcpy(directions, gUnknown_0850D8AC, sizeof gUnknown_0850D8AC); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_ANY); + u8 directions[5]; + memcpy(directions, gCounterclockwiseDirections, sizeof gCounterclockwiseDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_ANY); if (direction == 0) { direction = directions[eventObject->facingDirection]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 0; return TRUE; } -field_object_step(LookAroundClockwise, gUnknown_0850D8B4) +movement_type_def(MovementType_RotateClockwise, gMovementTypeFuncs_RotateClockwise) -bool8 sub_8090E18 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090E44 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, 48); + SetMovementDelay(sprite, 48); sprite->data[1] = 2; } return FALSE; } -bool8 sub_8090E68 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (RunEventObjectStepTimer(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) + if (WaitForMovementDelay(sprite) || EventObjectIsTrainerAndCloseToPlayer(eventObject)) { sprite->data[1] = 3; } return FALSE; } -bool8 sub_8090E94 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RotateClockwise_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - u8 directions[5]; u8 direction; - - memcpy(directions, gUnknown_0850D8C4, sizeof gUnknown_0850D8C4); - direction = GetRunningPastFacingDirection(eventObject, RUNFOLLOW_ANY); + u8 directions[5]; + memcpy(directions, gClockwiseDirections, sizeof gClockwiseDirections); + direction = TryGetTrainerEncounterDirection(eventObject, RUNFOLLOW_ANY); if (direction == 0) { direction = directions[eventObject->facingDirection]; } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 0; return TRUE; } -field_object_step(AlternatelyGoInOppositeDirections, gUnknown_0850D8CC) +movement_type_def(MovementType_WalkBackAndForth, gMovementTypeFuncs_WalkBackAndForth) -bool8 sub_8090F1C (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 sub_8090F30 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step1(struct EventObject *eventObject, struct Sprite *sprite) { u8 direction; @@ -3999,167 +3915,454 @@ bool8 sub_8090F30 (struct EventObject *eventObject, struct Sprite *sprite) { direction = GetOppositeDirection(direction); } - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); sprite->data[1] = 2; return TRUE; } -bool8 sub_8090F68 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - bool8 blockingWay; - u8 animId; + bool8 collisionState; + u8 movementActionId; if (eventObject->directionSequenceIndex && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 0; - EventObjectSetDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); } - blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); - animId = GetGoSpeed0AnimId(eventObject->movementDirection); - if (blockingWay == TRUE) + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + if (collisionState == TRUE) { - eventObject->directionSequenceIndex ++; - EventObjectSetDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); - animId = GetGoSpeed0AnimId(eventObject->movementDirection); - blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); + eventObject->directionSequenceIndex++; + SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); } - if (blockingWay) + if (collisionState) { - animId = GetStepInPlaceDelay16AnimId(eventObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); } - EventObjectSetRegularAnim(eventObject, sprite, animId); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, movementActionId); + eventObject->singleMovementActive = 1; sprite->data[1] = 3; return TRUE; } -bool8 sub_8091020 (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkBackAndForth_Step3(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -bool8 sub_8091048(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSequence_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); sprite->data[1] = 1; return TRUE; } -bool8 MoveEventObjectInNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *route) +bool8 MoveNextDirectionInSequence(struct EventObject *eventObject, struct Sprite *sprite, u8 *route) { - u8 blockingWay; - u8 animId; + u8 collisionState; + u8 movementActionId; if (eventObject->directionSequenceIndex == 3 && eventObject->initialCoords.x == eventObject->currentCoords.x && eventObject->initialCoords.y == eventObject->currentCoords.y) { eventObject->directionSequenceIndex = 0; } - EventObjectSetDirection(eventObject, route[eventObject->directionSequenceIndex]); - animId = GetGoSpeed0AnimId(eventObject->movementDirection); - blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); - if (blockingWay == TRUE) + SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); + if (collisionState == TRUE) { - eventObject->directionSequenceIndex ++; - EventObjectSetDirection(eventObject, route[eventObject->directionSequenceIndex]); - animId = GetGoSpeed0AnimId(eventObject->movementDirection); - blockingWay = npc_block_way__next_tile(eventObject, eventObject->movementDirection); + eventObject->directionSequenceIndex++; + SetEventObjectDirection(eventObject, route[eventObject->directionSequenceIndex]); + movementActionId = GetWalkNormalMovementAction(eventObject->movementDirection); + collisionState = GetCollisionInDirection(eventObject, eventObject->movementDirection); } - if (blockingWay) + if (collisionState) { - animId = GetStepInPlaceDelay16AnimId(eventObject->facingDirection); + movementActionId = GetWalkInPlaceNormalMovementAction(eventObject->facingDirection); } - EventObjectSetRegularAnim(eventObject, sprite, animId); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, movementActionId); + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 sub_8091110(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSequence_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -field_object_path( 1, gUnknown_0850D8DC, sub_809117C, gUnknown_0850D8E8, 2, x) -field_object_path( 2, gUnknown_0850D8EC, sub_8091208, gUnknown_0850D8F8, 1, x) -field_object_path( 3, gUnknown_0850D8FC, sub_8091294, gUnknown_0850D908, 1, y) -field_object_path( 4, gUnknown_0850D90C, sub_8091320, gUnknown_0850D918, 2, y) -field_object_path( 5, gUnknown_0850D91C, sub_80913AC, gUnknown_0850D928, 2, x) -field_object_path( 6, gUnknown_0850D92C, sub_8091438, gUnknown_0850D938, 1, x) -field_object_path( 7, gUnknown_0850D93C, sub_80914C4, gUnknown_0850D710, 1, y) -field_object_path( 8, gUnknown_0850D948, sub_8091550, gUnknown_0850D954, 2, y) -field_object_path( 9, gUnknown_0850D958, sub_80915DC, gUnknown_0850D964, 2, y) -field_object_path(10, gUnknown_0850D968, sub_8091668, gUnknown_0850D974, 1, y) -field_object_path(11, gUnknown_0850D978, sub_80916F4, gUnknown_0850D984, 1, x) -field_object_path(12, gUnknown_0850D988, sub_8091780, gUnknown_0850D994, 2, x) -field_object_path(13, gUnknown_0850D998, sub_809180C, gUnknown_0850D9A4, 2, y) -field_object_path(14, gUnknown_0850D9A8, sub_8091898, gUnknown_0850D9B4, 1, y) -field_object_path(15, gUnknown_0850D9B8, sub_8091924, gUnknown_0850D9C4, 1, x) -field_object_path(16, gUnknown_0850D9C8, sub_80919B0, gUnknown_0850D9D4, 2, x) -field_object_path(17, gUnknown_0850D9D8, sub_8091A3C, gUnknown_0850D9E4, 2, y) -field_object_path(18, gUnknown_0850D9E8, sub_8091AC8, gUnknown_0850D9F4, 2, y) -field_object_path(19, gUnknown_0850D9F8, sub_8091B54, gUnknown_0850DA04, 2, x) -field_object_path(20, gUnknown_0850DA08, sub_8091BE0, gUnknown_0850DA14, 2, x) -field_object_path(21, gUnknown_0850DA18, sub_8091C6C, gUnknown_0850DA24, 2, y) -field_object_path(22, gUnknown_0850DA28, sub_8091CF8, gUnknown_0850DA34, 2, y) -field_object_path(23, gUnknown_0850DA38, sub_8091D84, gUnknown_0850DA44, 2, x) -field_object_path(24, gUnknown_0850DA48, sub_8091E10, gUnknown_0850DA54, 2, x) - -field_object_step(CopyPlayer1, gUnknown_0850DA58) - -bool8 mss_npc_reset_oampriv3_1_unk2_unk3(struct EventObject *eventObject, struct Sprite *sprite) -{ - npc_reset(eventObject, sprite); - if (eventObject->directionSequenceIndex == 0) - { - eventObject->directionSequenceIndex = player_get_direction_lower_nybble(); +movement_type_def(MovementType_WalkSequenceUpRightLeftDown, gMovementTypeFuncs_WalkSequenceUpRightLeftDown) + +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gUpRightLeftDownDirections)]; + memcpy(directions, gUpRightLeftDownDirections, sizeof(gUpRightLeftDownDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceRightLeftDownUp, gMovementTypeFuncs_WalkSequenceRightLeftDownUp) + +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gRightLeftDownUpDirections)]; + memcpy(directions, gRightLeftDownUpDirections, sizeof(gRightLeftDownUpDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceDownUpRightLeft, gMovementTypeFuncs_WalkSequenceDownUpRightLeft) + +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gDownUpRightLeftDirections)]; + memcpy(directions, gDownUpRightLeftDirections, sizeof(gDownUpRightLeftDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceLeftDownUpRight, gMovementTypeFuncs_WalkSequenceLeftDownUpRight) + +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gLeftDownUpRightDirections)]; + memcpy(directions, gLeftDownUpRightDirections, sizeof(gLeftDownUpRightDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceUpLeftRightDown, gMovementTypeFuncs_WalkSequenceUpLeftRightDown) + +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gUpLeftRightDownDirections)]; + memcpy(directions, gUpLeftRightDownDirections, sizeof(gUpLeftRightDownDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceLeftRightDownUp, gMovementTypeFuncs_WalkSequenceLeftRightDownUp) + +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gLeftRightDownUpDirections)]; + memcpy(directions, gLeftRightDownUpDirections, sizeof(gLeftRightDownUpDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceDownUpLeftRight, gMovementTypeFuncs_WalkSequenceDownUpLeftRight) + +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gStandardDirections)]; + memcpy(directions, gStandardDirections, sizeof(gStandardDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceRightDownUpLeft, gMovementTypeFuncs_WalkSequenceRightDownUpLeft) + +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gRightDownUpLeftDirections)]; + memcpy(directions, gRightDownUpLeftDirections, sizeof(gRightDownUpLeftDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceLeftUpDownRight, gMovementTypeFuncs_WalkSequenceLeftUpDownRight) + +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gLeftUpDownRightDirections)]; + memcpy(directions, gLeftUpDownRightDirections, sizeof(gLeftUpDownRightDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceUpDownRightLeft, gMovementTypeFuncs_WalkSequenceUpDownRightLeft) + +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gUpDownRightLeftDirections)]; + memcpy(directions, gUpDownRightLeftDirections, sizeof(gUpDownRightLeftDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceRightLeftUpDown, gMovementTypeFuncs_WalkSequenceRightLeftUpDown) + +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gRightLeftUpDownDirections)]; + memcpy(directions, gRightLeftUpDownDirections, sizeof(gRightLeftUpDownDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceDownRightLeftUp, gMovementTypeFuncs_WalkSequenceDownRightLeftUp) + +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gDownRightLeftUpDirections)]; + memcpy(directions, gDownRightLeftUpDirections, sizeof(gDownRightLeftUpDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceRightUpDownLeft, gMovementTypeFuncs_WalkSequenceRightUpDownLeft) + +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gRightUpDownLeftDirections)]; + memcpy(directions, gRightUpDownLeftDirections, sizeof(gRightUpDownLeftDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceUpDownLeftRight, gMovementTypeFuncs_WalkSequenceUpDownLeftRight) + +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gUpDownLeftRightDirections)]; + memcpy(directions, gUpDownLeftRightDirections, sizeof(gUpDownLeftRightDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceLeftRightUpDown, gMovementTypeFuncs_WalkSequenceLeftRightUpDown) + +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gLeftRightUpDownDirections)]; + memcpy(directions, gLeftRightUpDownDirections, sizeof(gLeftRightUpDownDirections)); + if (eventObject->directionSequenceIndex == 1 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 2; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceDownLeftRightUp, gMovementTypeFuncs_WalkSequenceDownLeftRightUp) + +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gDownLeftRightUpDirections)]; + memcpy(directions, gDownLeftRightUpDirections, sizeof(gDownLeftRightUpDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceUpLeftDownRight, gMovementTypeFuncs_WalkSequenceUpLeftDownRight) + +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gUpLeftDownRightDirections)]; + memcpy(directions, gUpLeftDownRightDirections, sizeof(gUpLeftDownRightDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceDownRightUpLeft, gMovementTypeFuncs_WalkSequenceDownRightUpLeft) + +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gDownRightUpLeftDirections)]; + memcpy(directions, gDownRightUpLeftDirections, sizeof(gDownRightUpLeftDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceLeftDownRightUp, gMovementTypeFuncs_WalkSequenceLeftDownRightUp) + +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gLeftDownRightUpDirections)]; + memcpy(directions, gLeftDownRightUpDirections, sizeof(gLeftDownRightUpDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceRightUpLeftDown, gMovementTypeFuncs_WalkSequenceRightUpLeftDown) + +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gRightUpLeftDownDirections)]; + memcpy(directions, gRightUpLeftDownDirections, sizeof(gRightUpLeftDownDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceUpRightDownLeft, gMovementTypeFuncs_WalkSequenceUpRightDownLeft) + +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gUpRightDownLeftDirections)]; + memcpy(directions, gUpRightDownLeftDirections, sizeof(gUpRightDownLeftDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceDownLeftUpRight, gMovementTypeFuncs_WalkSequenceDownLeftUpRight) + +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gDownLeftUpRightDirections)]; + memcpy(directions, gDownLeftUpRightDirections, sizeof(gDownLeftUpRightDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.y == eventObject->currentCoords.y) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceLeftUpRightDown, gMovementTypeFuncs_WalkSequenceLeftUpRightDown) + +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gLeftUpRightDownDirections)]; + memcpy(directions, gLeftUpRightDownDirections, sizeof(gLeftUpRightDownDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_WalkSequenceRightDownLeftUp, gMovementTypeFuncs_WalkSequenceRightDownLeftUp) + +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 directions[sizeof(gRightDownLeftUpDirections)]; + memcpy(directions, gRightDownLeftUpDirections, sizeof(gRightDownLeftUpDirections)); + if (eventObject->directionSequenceIndex == 2 && eventObject->initialCoords.x == eventObject->currentCoords.x) + { + eventObject->directionSequenceIndex = 3; + } + return MoveNextDirectionInSequence(eventObject, sprite, directions); +} + +movement_type_def(MovementType_CopyPlayer, gMovementTypeFuncs_CopyPlayer) + +bool8 MovementType_CopyPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + ClearEventObjectMovement(eventObject, sprite); + if (eventObject->directionSequenceIndex == 0) + { + eventObject->directionSequenceIndex = GetPlayerFacingDirection(); } sprite->data[1] = 1; return TRUE; } -bool8 sub_8091EC0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) + if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return FALSE; } - return gUnknown_0850DA64[player_get_x22()](eventObject, sprite, player_get_direction_upper_nybble(), NULL); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), NULL); } -bool8 sub_8091F20(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayer_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; sprite->data[1] = 1; } return FALSE; } -bool8 sub_8091F48(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_None(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { return FALSE; } -bool8 sub_8091F4C(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, playerDirection))); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, playerDirection))); + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 sub_8091F94(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -4174,8 +4377,8 @@ bool8 sub_8091F94(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } @@ -4185,17 +4388,17 @@ bool8 sub_8091F94(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); } EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed0AnimId(direction)); - if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetSingleMovement(eventObject, sprite, GetWalkNormalMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 sub_80920A4(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -4204,17 +4407,17 @@ bool8 sub_80920A4(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed1AnimId(direction)); - if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetSingleMovement(eventObject, sprite, GetWalkFastMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 sub_809215C(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -4223,17 +4426,17 @@ bool8 sub_809215C(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetRegularAnim(eventObject, sprite, GetGoSpeed3AnimId(direction)); - if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetSingleMovement(eventObject, sprite, GetWalkFastestMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 sub_8092214(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_Slide(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -4242,29 +4445,29 @@ bool8 sub_8092214(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetRegularAnim(eventObject, sprite, sub_8093438(direction)); - if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetSingleMovement(eventObject, sprite, GetSlideMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 cph_IM_DIFFERENT(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); - EventObjectSetRegularAnim(eventObject, sprite, sub_80934BC(direction)); - eventObject->singleMovementActive = TRUE; + EventObjectSetSingleMovement(eventObject, sprite, GetJumpInPlaceMovementAction(direction)); + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 sub_8092314(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -4273,17 +4476,17 @@ bool8 sub_8092314(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = playerDirection; direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); EventObjectMoveDestCoords(eventObject, direction, &x, &y); - EventObjectSetRegularAnim(eventObject, sprite, sub_8093514(direction)); - if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + EventObjectSetSingleMovement(eventObject, sprite, GetJumpMovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -bool8 oac_hopping(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCB(u8)) +bool8 CopyablePlayerMovement_Jump(struct EventObject *eventObject, struct Sprite *sprite, u8 playerDirection, bool8 tileCallback(u8)) { u32 direction; s16 x; @@ -4293,31 +4496,29 @@ bool8 oac_hopping(struct EventObject *eventObject, struct Sprite *sprite, u8 pla direction = state_to_direction(gInitialMovementTypeFacingDirections[eventObject->movementType], eventObject->directionSequenceIndex, direction); x = eventObject->currentCoords.x; y = eventObject->currentCoords.y; - sub_8092F88(direction, &x, &y, 2, 2); - EventObjectSetRegularAnim(eventObject, sprite, GetJumpLedgeAnimId(direction)); - if (npc_block_way(eventObject, x, y, direction) || (tileCB != NULL && !tileCB(MapGridGetMetatileBehaviorAt(x, y)))) + MoveCoordsInDirection(direction, &x, &y, 2, 2); + EventObjectSetSingleMovement(eventObject, sprite, GetJump2MovementAction(direction)); + if (GetCollisionAtCoords(eventObject, x, y, direction) || (tileCallback != NULL && !tileCallback(MapGridGetMetatileBehaviorAt(x, y)))) { - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(direction)); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(direction)); } - eventObject->singleMovementActive = TRUE; + eventObject->singleMovementActive = 1; sprite->data[1] = 2; return TRUE; } -field_object_step(CopyPlayer2, gUnknown_0850DA90) +movement_type_def(MovementType_CopyPlayerInGrass, gMovementTypeFuncs_CopyPlayerInGrass) -bool8 mss_08062EA4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == 2) + if (gEventObjects[gPlayerAvatar.eventObjectId].movementActionId == 0xFF || gPlayerAvatar.tileTransitionState == T_TILE_CENTER) { return FALSE; } - return gUnknown_0850DA64[player_get_x22()](eventObject, sprite, player_get_direction_upper_nybble(), MetatileBehavior_IsPokeGrass); + return gCopyPlayerMovementFuncs[PlayerGetCopyableMovement()](eventObject, sprite, GetPlayerMovementDirection(), MetatileBehavior_IsPokeGrass); } -bool8 sub_80925AC(struct EventObject *, struct Sprite *); - -void EventObjectCB_TreeDisguise(struct Sprite *sprite) +void MovementType_TreeDisguise(struct Sprite *sprite) { struct EventObject *eventObject; @@ -4327,18 +4528,18 @@ void EventObjectCB_TreeDisguise(struct Sprite *sprite) EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_TREE_DISGUISE); eventObject->directionSequenceIndex = 1; - sprite->data[7] ++; + sprite->data[7]++; } - EventObjectStep(&gEventObjects[sprite->data[0]], sprite, sub_80925AC); + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -bool8 sub_80925AC(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 MovementType_Disguise_Callback(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); return FALSE; } -void EventObjectCB_MountainDisguise(struct Sprite *sprite) +void MovementType_MountainDisguise(struct Sprite *sprite) { struct EventObject *eventObject; @@ -4348,98 +4549,96 @@ void EventObjectCB_MountainDisguise(struct Sprite *sprite) EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); eventObject->fieldEffectSpriteId = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE); eventObject->directionSequenceIndex = 1; - sprite->data[7] ++; + sprite->data[7]++; } - EventObjectStep(&gEventObjects[sprite->data[0]], sprite, sub_80925AC); + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Disguise_Callback); } -extern bool8 (*const gUnknown_0850DA9C[])(struct EventObject *, struct Sprite *); -bool8 sub_809268C(struct EventObject *, struct Sprite *); - -void EventObjectCB_Hidden1(struct Sprite *sprite) +void MovementType_Hidden(struct Sprite *sprite) { if (!sprite->data[7]) { gEventObjects[sprite->data[0]].fixedPriority = TRUE; sprite->subspriteMode = 2; sprite->oam.priority = 3; - sprite->data[7] ++; + sprite->data[7]++; } - EventObjectStep(&gEventObjects[sprite->data[0]], sprite, sub_809268C); + UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, MovementType_Hidden_Callback); } -bool8 sub_809268C(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 MovementType_Hidden_Callback(struct EventObject *eventObject, struct Sprite *sprite) { - return gUnknown_0850DA9C[sprite->data[1]](eventObject, sprite); + return gMovementTypeFuncs_Hidden[sprite->data[1]](eventObject, sprite); } -bool8 sub_80926AC (struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Hidden_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); + ClearEventObjectMovement(eventObject, sprite); return FALSE; } -bool8 sub_80926B8 (struct EventObject *eventObject, struct Sprite *sprite) + +bool8 MovementType_MoveInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 0; } return FALSE; } -field_object_step(WalkInPlace1, gUnknown_0850DAA0) +movement_type_def(MovementType_WalkInPlace, gMovementTypeFuncs_WalkInPlace) -bool8 sub_8092718(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay16AnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceNormalMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -field_object_step(WalkInPlace4, gUnknown_0850DAA8) +movement_type_def(MovementType_WalkSlowlyInPlace, gMovementTypeFuncs_WalkSlowlyInPlace) -bool8 sub_8092788(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_WalkSlowlyInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay32AnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceSlowMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -field_object_step(WalkInPlace2, gUnknown_0850DAB0) +movement_type_def(MovementType_JogInPlace, gMovementTypeFuncs_JogInPlace) -bool8 sub_80927F8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_JogInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay8AnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -field_object_step(WalkInPlace3, gUnknown_0850DAB8) +movement_type_def(MovementType_RunInPlace, gMovementTypeFuncs_RunInPlace) -bool8 sub_8092868(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_RunInPlace_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetStepInPlaceDelay4AnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); sprite->data[1] = 1; return TRUE; } -field_object_step(Hidden2, gUnknown_0850DAC0) +movement_type_def(MovementType_Invisible, gMovementTypeFuncs_Invisible) -bool8 sub_80928D8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_reset(eventObject, sprite); - EventObjectSetRegularAnim(eventObject, sprite, GetFaceDirectionAnimId(eventObject->facingDirection)); + ClearEventObjectMovement(eventObject, sprite); + EventObjectSetSingleMovement(eventObject, sprite, GetFaceDirectionMovementAction(eventObject->facingDirection)); eventObject->invisible = TRUE; sprite->data[1] = 1; return TRUE; } -bool8 sub_809290C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectExecRegularAnim(eventObject, sprite)) + if (EventObjectExecSingleMovementAction(eventObject, sprite)) { sprite->data[1] = 2; return TRUE; @@ -4447,48 +4646,101 @@ bool8 sub_809290C(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_809292C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementType_Invisible_Step2(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; return FALSE; } -static void npc_reset(struct EventObject *eventObject, struct Sprite *sprite) +static void ClearEventObjectMovement(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->singleMovementActive = FALSE; + eventObject->singleMovementActive = 0; eventObject->heldMovementActive = FALSE; eventObject->heldMovementFinished = FALSE; eventObject->movementActionId = 0xFF; sprite->data[1] = 0; } -#define dirn2anim(name, table)\ -u8 name(u8 direction)\ -{\ - return table[direction];\ -} - -dirn2anim(EventObjectDirectionToImageAnimId, gUnknown_0850DACC) -dirn2anim(get_go_image_anim_num, gUnknown_0850DAD5) -dirn2anim(get_go_fast_image_anim_num, gUnknown_0850DADE) -dirn2anim(get_go_faster_image_anim_num, gUnknown_0850DAE7) -dirn2anim(get_go_fastest_image_anim_num, gUnknown_0850DAF0) -dirn2anim(sub_80929AC, gUnknown_0850DAF9) -dirn2anim(sub_80929BC, gUnknown_0850DB02) -dirn2anim(sub_80929CC, gUnknown_0850DB0B) -dirn2anim(sub_80929DC, gUnknown_0850DB14) -dirn2anim(sub_80929EC, gUnknown_0850DB1D) -dirn2anim(sub_80929FC, gUnknown_0850DB26) -dirn2anim(sub_8092A0C, gUnknown_0850DB2F) -dirn2anim(sub_8092A1C, gUnknown_0850DB38) -dirn2anim(sub_8092A2C, gUnknown_0850DB41) -dirn2anim(get_run_image_anim_num, gUnknown_0850DB4A) +u8 GetFaceDirectionAnimNum(u8 direction) +{ + return gFaceDirectionAnimNums[direction]; +} + +u8 GetMoveDirectionAnimNum(u8 direction) +{ + return gMoveDirectionAnimNums[direction]; +} + +u8 GetMoveDirectionFastAnimNum(u8 direction) +{ + return gMoveDirectionFastAnimNums[direction]; +} + +u8 GetMoveDirectionFasterAnimNum(u8 direction) +{ + return gMoveDirectionFasterAnimNums[direction]; +} + +u8 GetMoveDirectionFastestAnimNum(u8 direction) +{ + return gMoveDirectionFastestAnimNums[direction]; +} + +u8 GetJumpSpecialDirectionAnimNum(u8 direction) +{ + return gJumpSpecialDirectionAnimNums[direction]; +} + +u8 GetAcroWheelieDirectionAnimNum(u8 direction) +{ + return gAcroWheelieDirectionAnimNums[direction]; +} + +u8 Unref_GetAnimNums_08375633(u8 direction) +{ + return gUnrefAnimNums_08375633[direction]; +} + +u8 GetAcroEndWheelieDirectionAnimNum(u8 direction) +{ + return gAcroEndWheelieDirectionAnimNums[direction]; +} + +u8 GetAcroUnusedActionDirectionAnimNum(u8 direction) +{ + return gAcroUnusedActionDirectionAnimNums[direction]; +} + +u8 GetAcroWheeliePedalDirectionAnimNum(u8 direction) +{ + return gAcroWheeliePedalDirectionAnimNums[direction]; +} + +u8 GetFishingDirectionAnimNum(u8 direction) +{ + return gFishingDirectionAnimNums[direction]; +} + +u8 GetFishingNoCatchDirectionAnimNum(u8 direction) +{ + return gFishingNoCatchDirectionAnimNums[direction]; +} + +u8 GetFishingBiteDirectionAnimNum(u8 direction) +{ + return gFishingBiteDirectionAnimNums[direction]; +} + +u8 GetRunningDirectionAnimNum(u8 direction) +{ + return gRunningDirectionAnimNums[direction]; +} static const struct UnkStruct_085094AC *sub_8092A4C(const union AnimCmd *const *anims) { const struct UnkStruct_085094AC *retval; - for (retval = gUnknown_085094AC; retval->anims != NULL; retval ++) + for (retval = gUnknown_085094AC; retval->anims != NULL; retval++) { if (retval->anims == anims) { @@ -4545,7 +4797,7 @@ void obj_npc_animation_step(struct EventObject *eventObject, struct Sprite *spri // file boundary? -u8 sub_8092AF8(s16 x1, s16 y1, s16 x2, s16 y2) +u8 GetDirectionToFace(s16 x1, s16 y1, s16 x2, s16 y2) { if (x1 > x2) { @@ -4562,81 +4814,64 @@ u8 sub_8092AF8(s16 x1, s16 y1, s16 x2, s16 y2) return DIR_SOUTH; } -void npc_set_running_behaviour_etc(struct EventObject *eventObject, u8 movementType) +void SetTrainerMovementType(struct EventObject *eventObject, u8 movementType) { eventObject->movementType = movementType; eventObject->directionSequenceIndex = 0; eventObject->playerCopyableMovement = 0; - gSprites[eventObject->spriteId].callback = gUnknown_08505438[movementType]; + gSprites[eventObject->spriteId].callback = sMovementTypeCallbacks[movementType]; gSprites[eventObject->spriteId].data[1] = 0; } -dirn2anim(npc_running_behaviour_by_direction, gUnknown_0850DB53) +u8 GetTrainerFacingDirectionMovementType(u8 direction) +{ + return gTrainerFacingDirectionMovementTypes[direction]; +} -u8 npc_block_way__next_tile(struct EventObject *eventObject, u8 direction) +static u8 GetCollisionInDirection(struct EventObject *eventObject, u8 direction) { s16 x; s16 y; - x = eventObject->currentCoords.x; y = eventObject->currentCoords.y; MoveCoords(direction, &x, &y); - return npc_block_way(eventObject, x, y, direction); + return GetCollisionAtCoords(eventObject, x, y, direction); } -u8 npc_block_way(struct EventObject *eventObject, s16 x, s16 y, u32 dirn) +u8 GetCollisionAtCoords(struct EventObject *eventObject, s16 x, s16 y, u32 dirn) { u8 direction; direction = dirn; - if (IsCoordOutsideEventObjectMovementRect(eventObject, x, y)) - { + if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) return 1; - } - if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction)) - { + else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction)) return 2; - } - if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction)) - { + else if (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction)) return 2; - } - if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) - { + else if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) return 3; - } - if (CheckForCollisionBetweenEventObjects(eventObject, x, y)) - { + else if (DoesObjectCollideWithObjectAt(eventObject, x, y)) return 4; - } return 0; } -u8 sub_8092C8C(struct EventObject *eventObject, s16 x, s16 y, u8 direction) +u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction) { - u8 retval; + u8 flags = 0; - retval = 0x00; - if (IsCoordOutsideEventObjectMovementRect(eventObject, x, y)) - { - retval |= 1; - } + if (IsCoordOutsideEventObjectMovementRange(eventObject, x, y)) + flags |= 1; if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(eventObject, x, y, direction) || (eventObject->trackedByCamera && !CanCameraMoveInDirection(direction))) - { - retval |= 2; - } + flags |= 2; if (IsZCoordMismatchAt(eventObject->currentElevation, x, y)) - { - retval |= 4; - } - if (CheckForCollisionBetweenEventObjects(eventObject, x, y)) - { - retval |= 8; - } - return retval; + flags |= 4; + if (DoesObjectCollideWithObjectAt(eventObject, x, y)) + flags |= 8; + return flags; } -static bool8 IsCoordOutsideEventObjectMovementRect(struct EventObject *eventObject, s16 x, s16 y) +static bool8 IsCoordOutsideEventObjectMovementRange(struct EventObject *eventObject, s16 x, s16 y) { s16 left; s16 right; @@ -4666,19 +4901,20 @@ static bool8 IsCoordOutsideEventObjectMovementRect(struct EventObject *eventObje static bool8 IsMetatileDirectionallyImpassable(struct EventObject *eventObject, s16 x, s16 y, u8 direction) { - if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](eventObject->currentMetatileBehavior) || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) + if (gOppositeDirectionBlockedMetatileFuncs[direction - 1](eventObject->currentMetatileBehavior) + || gDirectionBlockedMetatileFuncs[direction - 1](MapGridGetMetatileBehaviorAt(x, y))) { return TRUE; } return FALSE; } -static bool8 CheckForCollisionBetweenEventObjects(struct EventObject *eventObject, s16 x, s16 y) +static bool8 DoesObjectCollideWithObjectAt(struct EventObject *eventObject, s16 x, s16 y) { u8 i; struct EventObject *curObject; - for (i = 0; i < NUM_EVENT_OBJECTS; i ++) + for (i = 0; i < NUM_EVENT_OBJECTS; i++) { curObject = &gEventObjects[i]; if (curObject->active && curObject != eventObject) @@ -4695,14 +4931,16 @@ static bool8 CheckForCollisionBetweenEventObjects(struct EventObject *eventObjec return FALSE; } -bool8 sub_8092E9C(u8 localId, u8 mapNum, u8 mapGroup) +bool8 IsBerryTreeSparkling(u8 localId, u8 mapNum, u8 mapGroup) { u8 eventObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) && gSprites[gEventObjects[eventObjectId].spriteId].data[7] & 0x02) + if (!TryGetEventObjectIdByLocalIdAndMap(localId, mapNum, mapGroup, &eventObjectId) + && gSprites[gEventObjects[eventObjectId].spriteId].data[7] & 2) { return TRUE; } + return FALSE; } @@ -4728,35 +4966,19 @@ void sub_8092F60(u8 direction, s16 *x, s16 *y) *y += gDirectionToVectors[direction].y << 4; } -void sub_8092F88(u32 dirn, s16 *x, s16 *y, s16 dx, s16 dy) +static void MoveCoordsInDirection(u32 dir, s16 *x, s16 *y, s16 deltaX, s16 deltaY) { - u8 direction; - s16 dx_2; - s16 dy_2; - s16 cur_x; - s16 cur_y; - - direction = dirn; - dx_2 = dx; - dy_2 = dy; - cur_x = gDirectionToVectors[direction].x; - if (cur_x > 0) - { - *x += dx_2; - } - if (cur_x < 0) - { - *x -= dx_2; - } - cur_y = gDirectionToVectors[direction].y; - if (cur_y > 0) - { - *y += dy_2; - } - if (cur_y < 0) - { - *y -= dy_2; - } + u8 direction = dir; + s16 dx2 = (u16)deltaX; + s16 dy2 = (u16)deltaY; + if (gDirectionToVectors[direction].x > 0) + *x += dx2; + if (gDirectionToVectors[direction].x < 0) + *x -= dx2; + if (gDirectionToVectors[direction].y > 0) + *y += dy2; + if (gDirectionToVectors[direction].y < 0) + *y -= dy2; } void sub_8092FF0(s16 x, s16 y, s16 *dest_x, s16 *dest_y) @@ -4807,7 +5029,7 @@ static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) *y = 0; if (gUnknown_03005DD0.x > 0) { - (*x) ++; + (*x)++; } if (gUnknown_03005DD0.x < 0) { @@ -4815,7 +5037,7 @@ static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) } if (gUnknown_03005DD0.y > 0) { - (*y) ++; + (*y)++; } if (gUnknown_03005DD0.y < 0) { @@ -4823,65 +5045,56 @@ static void GetEventObjectMovingCameraOffset(s16 *x, s16 *y) } } -void EventObjectMoveDestCoords(struct EventObject *eventObject, u32 dirn, s16 *x, s16 *y) +void EventObjectMoveDestCoords(struct EventObject *eventObject, u32 direction, s16 *x, s16 *y) { - u8 direction; - - direction = dirn; + u8 newDirn = direction; *x = eventObject->currentCoords.x; *y = eventObject->currentCoords.y; - MoveCoords(direction, x, y); + MoveCoords(newDirn, x, y); } -// file boundary? - -bool8 EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct EventObject *eventObject) +bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject) { if (eventObject->singleMovementActive || eventObject->heldMovementActive) - { return TRUE; - } + return FALSE; } -bool8 EventObjectIsSpecialAnimActive(struct EventObject *eventObject) +bool8 EventObjectIsHeldMovementActive(struct EventObject *eventObject) { if (eventObject->heldMovementActive && eventObject->movementActionId != 0xFF) - { return TRUE; - } + return FALSE; } -bool8 EventObjectSetSpecialAnim(struct EventObject *eventObject, u8 specialAnimId) +bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 movementActionId) { - if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject)) - { + if (EventObjectIsMovementOverridden(eventObject)) return TRUE; - } - npc_sync_anim_pause_bits(eventObject); - eventObject->movementActionId = specialAnimId; + + UnfreezeEventObject(eventObject); + eventObject->movementActionId = movementActionId; eventObject->heldMovementActive = TRUE; eventObject->heldMovementFinished = FALSE; gSprites[eventObject->spriteId].data[2] = 0; return FALSE; } -void EventObjectForceSetSpecialAnim(struct EventObject *eventObject, u8 specialAnimId) +void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId) { - EventObjectClearAnimIfSpecialAnimActive(eventObject); - EventObjectSetSpecialAnim(eventObject, specialAnimId); + EventObjectClearHeldMovementIfActive(eventObject); + EventObjectSetHeldMovement(eventObject, movementActionId); } -void EventObjectClearAnimIfSpecialAnimActive(struct EventObject *eventObject) +void EventObjectClearHeldMovementIfActive(struct EventObject *eventObject) { if (eventObject->heldMovementActive) - { - EventObjectClearAnim(eventObject); - } + EventObjectClearHeldMovement(eventObject); } -void EventObjectClearAnim(struct EventObject *eventObject) +void EventObjectClearHeldMovement(struct EventObject *eventObject) { eventObject->movementActionId = 0xFF; eventObject->heldMovementActive = FALSE; @@ -4890,43 +5103,38 @@ void EventObjectClearAnim(struct EventObject *eventObject) gSprites[eventObject->spriteId].data[2] = 0; } -u8 EventObjectCheckIfSpecialAnimFinishedOrInactive(struct EventObject *eventObject) +u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject) { if (eventObject->heldMovementActive) - { return eventObject->heldMovementFinished; - } - return 0x10; + + return 16; } -u8 EventObjectClearAnimIfSpecialAnimFinished(struct EventObject *eventObject) +u8 EventObjectClearHeldMovementIfFinished(struct EventObject *eventObject) { - u8 specialAnimState; + u8 heldMovementStatus = EventObjectCheckHeldMovementStatus(eventObject); + if (heldMovementStatus != 0 && heldMovementStatus != 16) + EventObjectClearHeldMovementIfActive(eventObject); - specialAnimState = EventObjectCheckIfSpecialAnimFinishedOrInactive(eventObject); - if (specialAnimState != 0 && specialAnimState != 16) - { - EventObjectClearAnimIfSpecialAnimActive(eventObject); - } - return specialAnimState; + return heldMovementStatus; } -u8 EventObjectGetSpecialAnim(struct EventObject *eventObject) +u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject) { if (eventObject->heldMovementActive) - { return eventObject->movementActionId; - } + return 0xFF; } -void EventObjectStep(struct EventObject *eventObject, struct Sprite *sprite, bool8 (*callback)(struct EventObject *, struct Sprite *)) +void UpdateEventObjectCurrentMovement(struct EventObject *eventObject, struct Sprite *sprite, bool8 (*callback)(struct EventObject *, struct Sprite *)) { DoGroundEffects_OnSpawn(eventObject, sprite); - sub_80964E8(eventObject, sprite); - if (EventObjectIsSpecialAnimActive(eventObject)) + TryEnableEventObjectAnim(eventObject, sprite); + if (EventObjectIsHeldMovementActive(eventObject)) { - EventObjectExecSpecialAnim(eventObject, sprite); + EventObjectExecHeldMovementAction(eventObject, sprite); } else if (!eventObject->frozen) { @@ -4934,58 +5142,55 @@ void EventObjectStep(struct EventObject *eventObject, struct Sprite *sprite, boo } DoGroundEffects_OnBeginStep(eventObject, sprite); DoGroundEffects_OnFinishStep(eventObject, sprite); - npc_obj_transfer_image_anim_pause_flag(eventObject, sprite); - sub_8096518(eventObject, sprite); + UpdateEventObjectSpriteAnimPause(eventObject, sprite); + UpdateEventObjectVisibility(eventObject, sprite); EventObjectUpdateSubpriority(eventObject, sprite); } -#define dirn2anim_2(name, table) \ -u8 name(u32 direction) \ -{ \ - u8 dirn2; \ - u8 animIds[5]; \ - dirn2 = direction; \ - memcpy(animIds, table, 5); \ - if (dirn2 > DIR_EAST) \ - { \ - dirn2 = 0; \ - } \ - return animIds[dirn2]; \ -} - -dirn2anim_2(GetFaceDirectionAnimId, gUnknown_0850DBA0); -dirn2anim_2(GetSimpleGoAnimId, gUnknown_0850DBA5); -dirn2anim_2(GetGoSpeed0AnimId, gUnknown_0850DBAA); -dirn2anim_2(GetGoSpeed1AnimId, gUnknown_0850DBAF); -dirn2anim_2(GetGoSpeed2AnimId, gUnknown_0850DBB4); -dirn2anim_2(GetGoSpeed3AnimId, gUnknown_0850DBB9); -dirn2anim_2(sub_8093438, gUnknown_0850DBBE); -dirn2anim_2(GetRunAnimId, gUnknown_0850DBC3); -dirn2anim_2(GetJumpLedgeAnimId, gUnknown_0850DBC8); -dirn2anim_2(sub_80934BC, gUnknown_0850DBCD); -dirn2anim_2(sub_80934E8, gUnknown_0850DBD2); -dirn2anim_2(sub_8093514, gUnknown_0850DBD7); -dirn2anim_2(sub_8093540, gUnknown_0850DBDC); -dirn2anim_2(GetStepInPlaceDelay32AnimId, gUnknown_0850DBE1); -dirn2anim_2(GetStepInPlaceDelay16AnimId, gUnknown_0850DBE6); -dirn2anim_2(GetStepInPlaceDelay8AnimId, gUnknown_0850DBEB); -dirn2anim_2(GetStepInPlaceDelay4AnimId, gUnknown_0850DBF0); +#define dirn_to_anim(name, table)\ +u8 name(u32 idx)\ +{\ + u8 direction;\ + u8 animIds[sizeof(table)];\ + direction = idx;\ + memcpy(animIds, (table), sizeof(table));\ + if (direction > DIR_EAST) direction = 0;\ + return animIds[direction];\ +} + +dirn_to_anim(GetFaceDirectionMovementAction, gFaceDirectionMovementActions); +dirn_to_anim(GetWalkSlowMovementAction, gWalkSlowMovementActions); +dirn_to_anim(GetWalkNormalMovementAction, gWalkNormalMovementActions); +dirn_to_anim(GetWalkFastMovementAction, gWalkFastMovementActions); +dirn_to_anim(GetRideWaterCurrentMovementAction, gRideWaterCurrentMovementActions); +dirn_to_anim(GetWalkFastestMovementAction, gWalkFastestMovementActions); +dirn_to_anim(GetSlideMovementAction, gSlideMovementActions); +dirn_to_anim(GetPlayerRunMovementAction, gPlayerRunMovementActions); +dirn_to_anim(GetJump2MovementAction, gJump2MovementActions); +dirn_to_anim(GetJumpInPlaceMovementAction, gJumpInPlaceMovementActions); +dirn_to_anim(GetJumpInPlaceTurnAroundMovementAction, gJumpInPlaceTurnAroundMovementActions); +dirn_to_anim(GetJumpMovementAction, gJumpMovementActions); +dirn_to_anim(GetJumpSpecialMovementAction, gJumpSpecialMovementActions); +dirn_to_anim(GetWalkInPlaceSlowMovementAction, gWalkInPlaceSlowMovementActions); +dirn_to_anim(GetWalkInPlaceNormalMovementAction, gWalkInPlaceNormalMovementActions); +dirn_to_anim(GetWalkInPlaceFastMovementAction, gWalkInPlaceFastMovementActions); +dirn_to_anim(GetWalkInPlaceFastestMovementAction, gWalkInPlaceFastestMovementActions); bool8 EventObjectFaceOppositeDirection(struct EventObject *eventObject, u8 direction) { - return EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(GetOppositeDirection(direction))); + return EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetOppositeDirection(direction))); } -dirn2anim_2(sub_8093648, gUnknown_0850DBF5); -dirn2anim_2(sub_8093674, gUnknown_0850DBFA); -dirn2anim_2(sub_80936A0, gUnknown_0850DBFF); -dirn2anim_2(sub_80936CC, gUnknown_0850DC04); -dirn2anim_2(sub_80936F8, gUnknown_0850DC09); -dirn2anim_2(sub_8093724, gUnknown_0850DC0E); -dirn2anim_2(sub_8093750, gUnknown_0850DC13); -dirn2anim_2(sub_809377C, gUnknown_0850DC18); -dirn2anim_2(sub_80937A8, gUnknown_0850DC1D); -dirn2anim_2(d2s_08064034, gUnknown_0850DC22); +dirn_to_anim(GetAcroWheelieFaceDirectionMovementAction, gAcroWheelieFaceDirectionMovementActions); +dirn_to_anim(GetAcroPopWheelieFaceDirectionMovementAction, gAcroPopWheelieFaceDirectionMovementActions); +dirn_to_anim(GetAcroEndWheelieFaceDirectionMovementAction, gAcroEndWheelieFaceDirectionMovementActions); +dirn_to_anim(GetAcroWheelieHopFaceDirectionMovementAction, gAcroWheelieHopFaceDirectionMovementActions); +dirn_to_anim(GetAcroWheelieHopDirectionMovementAction, gAcroWheelieHopDirectionMovementActions); +dirn_to_anim(GetAcroWheelieJumpDirectionMovementAction, gAcroWheelieJumpDirectionMovementActions); +dirn_to_anim(GetAcroWheelieInPlaceDirectionMovementAction, gAcroWheelieInPlaceDirectionMovementActions); +dirn_to_anim(GetAcroPopWheelieMoveDirectionMovementAction, gAcroPopWheelieMoveDirectionMovementActions); +dirn_to_anim(GetAcroWheelieMoveDirectionMovementAction, gAcroWheelieMoveDirectionMovementActions); +dirn_to_anim(GetAcroEndWheelieMoveDirectionMovementAction, gAcroEndWheelieMoveDirectionMovementActions); u8 GetOppositeDirection(u8 direction) { @@ -5020,17 +5225,17 @@ static u32 state_to_direction(u8 a0, u32 a1, u32 a2) return gUnknown_0850DC3F[a0 - 1][zffuOffset - 1]; } -static void EventObjectExecSpecialAnim(struct EventObject *eventObject, struct Sprite *sprite) +static void EventObjectExecHeldMovementAction(struct EventObject *eventObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) + if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { eventObject->heldMovementFinished = TRUE; } } -bool8 EventObjectExecRegularAnim(struct EventObject *eventObject, struct Sprite *sprite) +static bool8 EventObjectExecSingleMovementAction(struct EventObject *eventObject, struct Sprite *sprite) { - if (gUnknown_0850DC50[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) + if (gMovementActionFuncs[eventObject->movementActionId][sprite->data[2]](eventObject, sprite)) { eventObject->movementActionId = 0xFF; sprite->data[2] = 0; @@ -5039,44 +5244,42 @@ bool8 EventObjectExecRegularAnim(struct EventObject *eventObject, struct Sprite return FALSE; } -static void EventObjectSetRegularAnim(struct EventObject *eventObject, struct Sprite *sprite, u8 animId) +static void EventObjectSetSingleMovement(struct EventObject *eventObject, struct Sprite *sprite, u8 animId) { eventObject->movementActionId = animId; sprite->data[2] = 0; } -// file boundary? - -void an_look_any(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +static void FaceDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { - EventObjectSetDirection(eventObject, direction); - npc_coords_shift_still(eventObject); - obj_npc_animation_step(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); + SetEventObjectDirection(eventObject, direction); + ShiftStillEventObjectCoords(eventObject); + obj_npc_animation_step(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); sprite->animPaused = TRUE; sprite->data[2] = 1; } -bool8 sub_8093950(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(eventObject, sprite, DIR_SOUTH); + FaceDirection(eventObject, sprite, DIR_SOUTH); return TRUE; } -bool8 sub_8093960(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(eventObject, sprite, DIR_NORTH); + FaceDirection(eventObject, sprite, DIR_NORTH); return TRUE; } -bool8 sub_8093970(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(eventObject, sprite, DIR_WEST); + FaceDirection(eventObject, sprite, DIR_WEST); return TRUE; } -bool8 sub_8093980(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_FaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(eventObject, sprite, DIR_EAST); + FaceDirection(eventObject, sprite, DIR_EAST); return TRUE; } @@ -5087,12 +5290,12 @@ void npc_apply_direction(struct EventObject *eventObject, struct Sprite *sprite, x = eventObject->currentCoords.x; y = eventObject->currentCoords.y; - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); MoveCoords(direction, &x, &y); - npc_coords_shift(eventObject, x, y); + ShiftEventObjectCoords(eventObject, x, y); oamt_npc_ministep_reset(sprite, direction, speed); sprite->animPaused = FALSE; - if (gUnknown_020375B8 != NULL && sub_8097F78(eventObject) != 0x10) + if (gLockedAnimEventObjects != NULL && FindLockedEventObjectIndex(eventObject) != NUM_EVENT_OBJECTS) { sprite->animPaused = TRUE; } @@ -5109,17 +5312,17 @@ void do_go_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direc npc_apply_anim_looping(eventObject, sprite, functions[speed](eventObject->facingDirection)); } -void do_run_anim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +void StartRunningAnim(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { npc_apply_direction(eventObject, sprite, direction, 1); - npc_apply_anim_looping(eventObject, sprite, get_run_image_anim_num(eventObject->facingDirection)); + npc_apply_anim_looping(eventObject, sprite, GetRunningDirectionAnimNum(eventObject->facingDirection)); } bool8 npc_obj_ministep_stop_on_arrival(struct EventObject *eventObject, struct Sprite *sprite) { if (obj_npc_ministep(sprite)) { - npc_coords_shift_still(eventObject); + ShiftStillEventObjectCoords(eventObject); eventObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; @@ -5134,9 +5337,9 @@ void sub_8093AF0(struct EventObject *eventObject, struct Sprite *sprite, u8 dire x = eventObject->currentCoords.x; y = eventObject->currentCoords.y; - EventObjectSetDirection(eventObject, direction); + SetEventObjectDirection(eventObject, direction); MoveCoords(direction, &x, &y); - npc_coords_shift(eventObject, x, y); + ShiftEventObjectCoords(eventObject, x, y); sub_80976DC(sprite, direction); sprite->animPaused = FALSE; eventObject->triggerGroundEffectsOnMove = TRUE; @@ -5146,14 +5349,14 @@ void sub_8093AF0(struct EventObject *eventObject, struct Sprite *sprite, u8 dire void sub_8093B60(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) { sub_8093AF0(eventObject, sprite, direction); - npc_apply_anim_looping(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); + npc_apply_anim_looping(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); } bool8 an_walk_any_2(struct EventObject *eventObject, struct Sprite *sprite) { if (sub_80976EC(sprite)) { - npc_coords_shift_still(eventObject); + ShiftStillEventObjectCoords(eventObject); eventObject->triggerGroundEffectsOnStop = TRUE; sprite->animPaused = TRUE; return TRUE; @@ -5161,39 +5364,261 @@ bool8 an_walk_any_2(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -#define an_walk_any_2_macro(name, fn1, fn2, ...) \ -bool8 name##_2(struct EventObject *, struct Sprite *);\ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - fn1(eventObject, sprite, __VA_ARGS__);\ - return name##_2(eventObject, sprite);\ -}\ -bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - if (fn2(eventObject, sprite))\ - {\ - sprite->data[2] = 2;\ - return TRUE;\ - }\ - return FALSE;\ -} - -an_walk_any_2_macro(sub_8093BC4, sub_8093B60, an_walk_any_2, 7) -an_walk_any_2_macro(sub_8093C04, sub_8093B60, an_walk_any_2, 8) -an_walk_any_2_macro(sub_8093C44, sub_8093B60, an_walk_any_2, 5) -an_walk_any_2_macro(sub_8093C84, sub_8093B60, an_walk_any_2, 6) -an_walk_any_2_macro(sub_8093CC4, sub_8093B60, an_walk_any_2, 1) -an_walk_any_2_macro(sub_8093D04, sub_8093B60, an_walk_any_2, 2) -an_walk_any_2_macro(sub_8093D44, sub_8093B60, an_walk_any_2, 3) -an_walk_any_2_macro(sub_8093D84, sub_8093B60, an_walk_any_2, 4) -an_walk_any_2_macro(sub_8093DC4, do_go_anim, npc_obj_ministep_stop_on_arrival, 7, 0) -an_walk_any_2_macro(sub_8093E04, do_go_anim, npc_obj_ministep_stop_on_arrival, 8, 0) -an_walk_any_2_macro(sub_8093E44, do_go_anim, npc_obj_ministep_stop_on_arrival, 5, 0) -an_walk_any_2_macro(sub_8093E84, do_go_anim, npc_obj_ministep_stop_on_arrival, 6, 0) -an_walk_any_2_macro(sub_8093EC4, do_go_anim, npc_obj_ministep_stop_on_arrival, 1, 0) -an_walk_any_2_macro(sub_8093F04, do_go_anim, npc_obj_ministep_stop_on_arrival, 2, 0) -an_walk_any_2_macro(sub_8093F44, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 0) -an_walk_any_2_macro(sub_8093F84, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 0) +bool8 MovementAction_WalkSlowDiagonalUpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_NORTHWEST); + return MovementAction_WalkSlowDiagonalUpLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowDiagonalUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowDiagonalUpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_NORTHEAST); + return MovementAction_WalkSlowDiagonalUpRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowDiagonalUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowDiagonalDownLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_SOUTHWEST); + return MovementAction_WalkSlowDiagonalDownLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowDiagonalDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowDiagonalDownRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_SOUTHEAST); + return MovementAction_WalkSlowDiagonalDownRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowDiagonalDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_SOUTH); + return MovementAction_WalkSlowDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_NORTH); + return MovementAction_WalkSlowUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_WEST); + return MovementAction_WalkSlowLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkSlowRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_EAST); + return MovementAction_WalkSlowRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkSlowRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalDiagonalUpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTHWEST, 0); + return MovementAction_WalkNormalDiagonalUpLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalDiagonalUpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalDiagonalUpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTHEAST, 0); + return MovementAction_WalkNormalDiagonalUpRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalDiagonalUpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalDiagonalDownLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTHWEST, 0); + return MovementAction_WalkNormalDiagonalDownLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalDiagonalDownLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalDiagonalDownRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTHEAST, 0); + return MovementAction_WalkNormalDiagonalDownRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalDiagonalDownRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTH, 0); + return MovementAction_WalkNormalDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTH, 0); + return MovementAction_WalkNormalUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_WEST, 0); + return MovementAction_WalkNormalLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkNormalRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_EAST, 0); + return MovementAction_WalkNormalRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkNormalRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} void sub_8093FC4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a5) { @@ -5204,9 +5629,9 @@ void sub_8093FC4(struct EventObject *eventObject, struct Sprite *sprite, u8 dire memcpy(displacements, gUnknown_0850DFBC, sizeof gUnknown_0850DFBC); x = 0; y = 0; - EventObjectSetDirection(eventObject, direction); - sub_8092F88(direction, &x, &y, displacements[speed], displacements[speed]); - npc_coords_shift(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); + SetEventObjectDirection(eventObject, direction); + MoveCoordsInDirection(direction, &x, &y, displacements[speed], displacements[speed]); + ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); sub_809783C(sprite, direction, speed, a5); sprite->data[2] = 1; sprite->animPaused = 0; @@ -5217,7 +5642,7 @@ void sub_8093FC4(struct EventObject *eventObject, struct Sprite *sprite, u8 dire void maybe_shadow_1(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) { sub_8093FC4(eventObject, sprite, direction, speed, a4); - npc_apply_anim_looping(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); + npc_apply_anim_looping(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); DoShadowFieldEffect(eventObject); } @@ -5234,14 +5659,14 @@ u8 sub_80940C4(struct EventObject *eventObject, struct Sprite *sprite, u8 callba { x = 0; y = 0; - sub_8092F88(eventObject->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); - npc_coords_shift(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); + MoveCoordsInDirection(eventObject->movementDirection, &x, &y, displacements[sprite->data[4]], displacements[sprite->data[4]]); + ShiftEventObjectCoords(eventObject, eventObject->currentCoords.x + x, eventObject->currentCoords.y + y); eventObject->triggerGroundEffectsOnMove = TRUE; eventObject->disableCoveringGroundEffects = TRUE; } else if (result == 0xFF) { - npc_coords_shift_still(eventObject); + ShiftStillEventObjectCoords(eventObject); eventObject->triggerGroundEffectsOnStop = TRUE; eventObject->landingJump = TRUE; sprite->animPaused = TRUE; @@ -5284,343 +5709,1584 @@ bool8 sub_80941E0(struct EventObject *eventObject, struct Sprite *sprite) case 255: return TRUE; case 1: - EventObjectSetDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); - obj_npc_animation_step(eventObject, sprite, get_go_image_anim_num(eventObject->facingDirection)); + SetEventObjectDirection(eventObject, GetOppositeDirection(eventObject->movementDirection)); + obj_npc_animation_step(eventObject, sprite, GetMoveDirectionAnimNum(eventObject->facingDirection)); default: return FALSE; } } -#define maybe_shadow_1_macro(name, fn1, fn2, ...) \ -bool8 name##_2(struct EventObject *, struct Sprite *);\ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - fn1(eventObject, sprite, __VA_ARGS__);\ - return name##_2(eventObject, sprite);\ -}\ -bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - if (fn2(eventObject, sprite))\ - {\ - eventObject->hasShadow = FALSE;\ - sprite->data[2] = 2;\ - return TRUE;\ - }\ - return FALSE;\ +bool8 MovementAction_Jump2Down_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 2, 0); + return MovementAction_Jump2Down_Step1(eventObject, sprite); +} + +bool8 MovementAction_Jump2Down_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_Jump2Up_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 2, 0); + return MovementAction_Jump2Up_Step1(eventObject, sprite); +} + +bool8 MovementAction_Jump2Up_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_Jump2Left_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_WEST, 2, 0); + return MovementAction_Jump2Left_Step1(eventObject, sprite); +} + +bool8 MovementAction_Jump2Left_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_Jump2Right_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_EAST, 2, 0); + return MovementAction_Jump2Right_Step1(eventObject, sprite); +} + +bool8 MovementAction_Jump2Right_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + + +void sub_8094390(struct Sprite *sprite, u16 duration) +{ + sprite->data[2] = 1; + sprite->data[3] = duration; +} + +bool8 MovementAction_Delay_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (-- sprite->data[3] == 0) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_Delay1_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094390(sprite, 1); + return MovementAction_Delay_Step1(eventObject, sprite); +} + +bool8 MovementAction_Delay2_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094390(sprite, 2); + return MovementAction_Delay_Step1(eventObject, sprite); +} + +bool8 MovementAction_Delay4_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094390(sprite, 4); + return MovementAction_Delay_Step1(eventObject, sprite); +} + +bool8 MovementAction_Delay8_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094390(sprite, 8); + return MovementAction_Delay_Step1(eventObject, sprite); +} + +bool8 MovementAction_Delay16_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094390(sprite, 16); + return MovementAction_Delay_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_WalkFastDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_WalkFastUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_WEST, 1); + return MovementAction_WalkFastLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_EAST, 1); + return MovementAction_WalkFastRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + + +void sub_8094554(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +{ + SetEventObjectDirection(eventObject, direction); + npc_apply_anim_looping(eventObject, sprite, animNum); + sprite->animPaused = FALSE; + sprite->data[2] = 1; + sprite->data[3] = duration; +} + +bool8 MovementAction_WalkInPlace_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (-- sprite->data[3] == 0) + { + sprite->data[2] = 2; + sprite->animPaused = TRUE; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkInPlaceSlow_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sprite->data[3] & 1) + { + sprite->animDelayCounter++; + } + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceSlowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceSlowUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceSlowLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceSlowRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 32); + return MovementAction_WalkInPlaceSlow_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceNormalDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionAnimNum(DIR_SOUTH), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceNormalUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionAnimNum(DIR_NORTH), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceNormalLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionAnimNum(DIR_WEST), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceNormalRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionAnimNum(DIR_EAST), 16); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionFastAnimNum(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionFastAnimNum(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionFastAnimNum(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionFastAnimNum(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastestDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_SOUTH, GetMoveDirectionFasterAnimNum(DIR_SOUTH), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastestUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_NORTH, GetMoveDirectionFasterAnimNum(DIR_NORTH), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastestLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_WEST, GetMoveDirectionFasterAnimNum(DIR_WEST), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkInPlaceFastestRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094554(eventObject, sprite, DIR_EAST, GetMoveDirectionFasterAnimNum(DIR_EAST), 4); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); +} + +bool8 MovementAction_RideWaterCurrentDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTH, 2); + return MovementAction_RideWaterCurrentDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_RideWaterCurrentDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_RideWaterCurrentUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTH, 2); + return MovementAction_RideWaterCurrentUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_RideWaterCurrentUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_RideWaterCurrentLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_WEST, 2); + return MovementAction_RideWaterCurrentLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_RideWaterCurrentLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_RideWaterCurrentRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_EAST, 2); + return MovementAction_RideWaterCurrentRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_RideWaterCurrentRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastestDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTH, 3); + return MovementAction_WalkFastestDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastestDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastestUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTH, 3); + return MovementAction_WalkFastestUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastestUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastestLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_WEST, 3); + return MovementAction_WalkFastestLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastestLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkFastestRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_EAST, 3); + return MovementAction_WalkFastestRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkFastestRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_SlideDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_SOUTH, 4); + return MovementAction_SlideDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_SlideDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_SlideUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_NORTH, 4); + return MovementAction_SlideUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_SlideUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_SlideLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_WEST, 4); + return MovementAction_SlideLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_SlideLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_SlideRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_EAST, 4); + return MovementAction_SlideRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_SlideRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_PlayerRunDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartRunningAnim(eventObject, sprite, DIR_SOUTH); + return MovementAction_PlayerRunDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_PlayerRunDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_PlayerRunUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartRunningAnim(eventObject, sprite, DIR_NORTH); + return MovementAction_PlayerRunUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_PlayerRunUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_PlayerRunLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartRunningAnim(eventObject, sprite, DIR_WEST); + return MovementAction_PlayerRunLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_PlayerRunLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_PlayerRunRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartRunningAnim(eventObject, sprite, DIR_EAST); + return MovementAction_PlayerRunRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_PlayerRunRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +void StartSpriteAnimInDirection(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum) +{ + SetAndStartSpriteAnim(sprite, animNum, 0); + SetEventObjectDirection(eventObject, direction); + sprite->data[2] = 1; +} + +bool8 MovementAction_StartAnimInDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, eventObject->movementDirection, sprite->animNum); + return FALSE; +} + +bool8 MovementAction_WaitSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (SpriteAnimEnded(sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +void sub_8094DE4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +{ + sub_8093FC4(eventObject, sprite, direction, 1, 0); + StartSpriteAnim(sprite, GetJumpSpecialDirectionAnimNum(direction)); +} + +bool8 MovementAction_JumpSpecialDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094DE4(eventObject, sprite, DIR_SOUTH); + return MovementAction_JumpSpecialDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpSpecialDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941C8(eventObject, sprite)) + { + sprite->data[2] = 2; + eventObject->landingJump = FALSE; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpSpecialUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094DE4(eventObject, sprite, DIR_NORTH); + return MovementAction_JumpSpecialUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpSpecialUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941C8(eventObject, sprite)) + { + sprite->data[2] = 2; + eventObject->landingJump = FALSE; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpSpecialLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094DE4(eventObject, sprite, DIR_WEST); + return MovementAction_JumpSpecialLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpSpecialLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941C8(eventObject, sprite)) + { + sprite->data[2] = 2; + eventObject->landingJump = FALSE; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpSpecialRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8094DE4(eventObject, sprite, DIR_EAST); + return MovementAction_JumpSpecialRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpSpecialRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941C8(eventObject, sprite)) + { + sprite->data[2] = 2; + eventObject->landingJump = FALSE; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 playerObjectId; + + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + { + FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)); + } + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + u8 playerObjectId; + + if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + { + FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y))); + } + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_LockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->facingDirectionLocked = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_UnlockFacingDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->facingDirectionLocked = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_JumpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 1, 2); + return MovementAction_JumpDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 1, 2); + return MovementAction_JumpUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_WEST, 1, 2); + return MovementAction_JumpLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_EAST, 1, 2); + return MovementAction_JumpRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 0, 0); + return MovementAction_JumpInPlaceDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 0, 0); + return MovementAction_JumpInPlaceUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_WEST, 0, 0); + return MovementAction_JumpInPlaceLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_EAST, 0, 0); + return MovementAction_JumpInPlaceRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceDownUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_SOUTH, 0, 2); + return MovementAction_JumpInPlaceDownUp_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceDownUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941E0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceUpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_NORTH, 0, 2); + return MovementAction_JumpInPlaceUpDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceUpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941E0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceLeftRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_WEST, 0, 2); + return MovementAction_JumpInPlaceLeftRight_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceLeftRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941E0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_JumpInPlaceRightLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + maybe_shadow_1(eventObject, sprite, DIR_EAST, 0, 2); + return MovementAction_JumpInPlaceRightLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_JumpInPlaceRightLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941E0(eventObject, sprite)) + { + eventObject->hasShadow = 0; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_FaceOriginalDirection_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + FaceDirection(eventObject, sprite, gInitialMovementTypeFacingDirections[eventObject->movementType]); + return TRUE; +} + +bool8 MovementAction_NurseJoyBowDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, 0x14); + return FALSE; +} + +bool8 MovementAction_EnableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->disableJumpLandingGroundEffect = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_DisableJumpLandingGroundEffect_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->disableJumpLandingGroundEffect = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_DisableAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->inanimate = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_RestoreAnimation_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_SetInvisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->invisible = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_SetVisible_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->invisible = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_EmoteExclamationMark_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON); + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_EmoteQuestionMark_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_QUESTION_MARK_ICON); + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_EmoteHeart_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); + FieldEffectStart(FLDEFF_HEART_ICON); + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_RevealTrainer_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (eventObject->movementType == MOVEMENT_TYPE_HIDDEN) + { + sub_80B4578(eventObject); + return FALSE; + } + if (eventObject->movementType != MOVEMENT_TYPE_TREE_DISGUISE && eventObject->movementType != MOVEMENT_TYPE_MOUNTAIN_DISGUISE) + { + sprite->data[2] = 2; + return TRUE; + } + sub_8155D78(eventObject); + sprite->data[2] = 1; + return MovementAction_RevealTrainer_Step1(eventObject, sprite); +} + +bool8 MovementAction_RevealTrainer_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_8155DA0(eventObject)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_RockSmashBreak_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + SetAndStartSpriteAnim(sprite, 1, 0); + sprite->data[2] = 1; + return FALSE; +} + +bool8 MovementAction_RockSmashBreak_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (SpriteAnimEnded(sprite)) + { + SetMovementDelay(sprite, 32); + sprite->data[2] = 2; + } + return FALSE; +} + +bool8 MovementAction_RockSmashBreak_Step2(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->invisible ^= TRUE; + if (WaitForMovementDelay(sprite)) + { + eventObject->invisible = TRUE; + sprite->data[2] = 3; + } + return FALSE; +} + +bool8 MovementAction_CutTree_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + SetAndStartSpriteAnim(sprite, 1, 0); + sprite->data[2] = 1; + return FALSE; +} + +bool8 MovementAction_CutTree_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (SpriteAnimEnded(sprite)) + { + SetMovementDelay(sprite, 32); + sprite->data[2] = 2; + } + return FALSE; +} + +bool8 MovementAction_CutTree_Step2(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->invisible ^= TRUE; + if (WaitForMovementDelay(sprite)) + { + eventObject->invisible = TRUE; + sprite->data[2] = 3; + } + return FALSE; +} + +bool8 MovementAction_SetFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->fixedPriority = TRUE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_ClearFixedPriority_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->fixedPriority = FALSE; + sprite->data[2] = 1; + return TRUE; +} + +bool8 MovementAction_InitAffineAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sprite->oam.affineMode = ST_OAM_AFFINE_DOUBLE; + InitSpriteAffineAnim(sprite); + sprite->affineAnimPaused = TRUE; + sprite->subspriteMode = 0; + return TRUE; +} + +bool8 MovementAction_ClearAffineAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + FreeOamMatrix(sprite->oam.matrixNum); + sprite->oam.affineMode = ST_OAM_AFFINE_OFF; + CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); + return TRUE; +} + +bool8 MovementAction_Unknown1_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->unk3_3 = TRUE; + return TRUE; +} + +bool8 MovementAction_Unknown2_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + eventObject->unk3_3 = FALSE; + return TRUE; +} + +bool8 MovementAction_WalkDownStartAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_SOUTH); + sprite->affineAnimPaused = FALSE; + StartSpriteAffineAnimIfDifferent(sprite, 0); + return MovementAction_WalkDownStartAffine_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkDownStartAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->affineAnimPaused = TRUE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkDownAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8093B60(eventObject, sprite, DIR_SOUTH); + sprite->affineAnimPaused = FALSE; + ChangeSpriteAffineAnimIfDifferent(sprite, 1); + return MovementAction_WalkDownAffine_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkDownAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (an_walk_any_2(eventObject, sprite)) + { + sprite->affineAnimPaused = TRUE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkLeftAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_WEST, 1); + sprite->affineAnimPaused = FALSE; + ChangeSpriteAffineAnimIfDifferent(sprite, 2); + return MovementAction_WalkLeftAffine_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkLeftAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->affineAnimPaused = TRUE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_WalkRightAffine_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + do_go_anim(eventObject, sprite, DIR_EAST, 1); + sprite->affineAnimPaused = FALSE; + ChangeSpriteAffineAnimIfDifferent(sprite, 3); + return MovementAction_WalkRightAffine_Step1(eventObject, sprite); +} + +bool8 MovementAction_WalkRightAffine_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->affineAnimPaused = TRUE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +static void sub_80958C0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +{ + SetEventObjectDirection(eventObject, direction); + ShiftStillEventObjectCoords(eventObject); + obj_npc_animation_step(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(direction)); + sprite->animPaused = TRUE; + sprite->data[2] = 1; +} + +bool8 MovementAction_AcroWheelieFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_80958C0(eventObject, sprite, DIR_SOUTH); + return TRUE; +} + +bool8 MovementAction_AcroWheelieFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_80958C0(eventObject, sprite, DIR_NORTH); + return TRUE; +} + +bool8 MovementAction_AcroWheelieFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_80958C0(eventObject, sprite, DIR_WEST); + return TRUE; +} + +bool8 MovementAction_AcroWheelieFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_80958C0(eventObject, sprite, DIR_EAST); + return TRUE; +} + +bool8 MovementAction_AcroPopWheelieDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroWheelieDirectionAnimNum(DIR_SOUTH)); + return FALSE; +} + +bool8 MovementAction_AcroPopWheelieUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroWheelieDirectionAnimNum(DIR_NORTH)); + return FALSE; +} + +bool8 MovementAction_AcroPopWheelieLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroWheelieDirectionAnimNum(DIR_WEST)); + return FALSE; +} + +bool8 MovementAction_AcroPopWheelieRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroWheelieDirectionAnimNum(DIR_EAST)); + return FALSE; +} + +bool8 MovementAction_AcroEndWheelieFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroEndWheelieDirectionAnimNum(DIR_SOUTH)); + return FALSE; +} + +bool8 MovementAction_AcroEndWheelieFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroEndWheelieDirectionAnimNum(DIR_NORTH)); + return FALSE; +} + +bool8 MovementAction_AcroEndWheelieFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroEndWheelieDirectionAnimNum(DIR_WEST)); + return FALSE; +} + +bool8 MovementAction_AcroEndWheelieFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroEndWheelieDirectionAnimNum(DIR_EAST)); + return FALSE; +} + +bool8 MovementAction_UnusedAcroActionDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_SOUTH, GetAcroUnusedActionDirectionAnimNum(DIR_SOUTH)); + return FALSE; +} + +bool8 MovementAction_UnusedAcroActionUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_NORTH, GetAcroUnusedActionDirectionAnimNum(DIR_NORTH)); + return FALSE; +} + +bool8 MovementAction_UnusedAcroActionLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_WEST, GetAcroUnusedActionDirectionAnimNum(DIR_WEST)); + return FALSE; +} + +bool8 MovementAction_UnusedAcroActionRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + StartSpriteAnimInDirection(eventObject, sprite, DIR_EAST, GetAcroUnusedActionDirectionAnimNum(DIR_EAST)); + return FALSE; +} + +void sub_8095AF0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8097750(sprite); + sprite->animPaused = FALSE; +} + +bool8 sub_8095B0C(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_8097758(sprite)) + { + ShiftStillEventObjectCoords(eventObject); + eventObject->triggerGroundEffectsOnStop = TRUE; + sprite->animPaused = TRUE; + return TRUE; + } + return FALSE; +} + +bool8 MovementAction_Figure8_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8095AF0(eventObject, sprite); + sprite->data[2] = 1; + return MovementAction_Figure8_Step1(eventObject, sprite); +} + +bool8 MovementAction_Figure8_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_8095B0C(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; +} + +void sub_8095B84(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +{ + sub_8093FC4(eventObject, sprite, direction, speed, a4); + StartSpriteAnimIfDifferent(sprite, GetAcroWheelieDirectionAnimNum(direction)); + DoShadowFieldEffect(eventObject); } -maybe_shadow_1_macro(sub_8094230, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 2, 0) -maybe_shadow_1_macro(sub_8094288, maybe_shadow_1, sub_80941B0, DIR_NORTH, 2, 0) -maybe_shadow_1_macro(sub_80942E0, maybe_shadow_1, sub_80941B0, DIR_WEST, 2, 0) -maybe_shadow_1_macro(sub_8094338, maybe_shadow_1, sub_80941B0, DIR_EAST, 2, 0) - -void sub_8094390(struct Sprite *sprite, u16 duration) +bool8 MovementAction_AcroWheelieHopFaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sprite->data[2] = 1; - sprite->data[3] = duration; + sub_8095B84(eventObject, sprite, DIR_SOUTH, 0, 1); + return MovementAction_AcroWheelieHopFaceDown_Step1(eventObject, sprite); } -bool8 sub_8094398(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (-- sprite->data[3] == 0) + if (sub_80941B0(eventObject, sprite)) { + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -#define special_anim_with_timer(name, duration)\ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - sub_8094390(sprite, duration);\ - return sub_8094398(eventObject, sprite);\ -} - -special_anim_with_timer(sub_80943B4, 1) -special_anim_with_timer(sub_80943D4, 2) -special_anim_with_timer(sub_80943F4, 4) -special_anim_with_timer(sub_8094414, 8) -special_anim_with_timer(sub_8094434, 16) - -an_walk_any_2_macro(sub_8094454, do_go_anim, npc_obj_ministep_stop_on_arrival, 1, 1) -an_walk_any_2_macro(sub_8094494, do_go_anim, npc_obj_ministep_stop_on_arrival, 2, 1) -an_walk_any_2_macro(sub_80944D4, do_go_anim, npc_obj_ministep_stop_on_arrival, 3, 1) -an_walk_any_2_macro(sub_8094514, do_go_anim, npc_obj_ministep_stop_on_arrival, 4, 1) - -void sub_8094554(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum, u16 duration) +bool8 MovementAction_AcroWheelieHopFaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetDirection(eventObject, direction); - npc_apply_anim_looping(eventObject, sprite, animNum); - sprite->animPaused = FALSE; - sprite->data[2] = 1; - sprite->data[3] = duration; + sub_8095B84(eventObject, sprite, DIR_NORTH, 0, 1); + return MovementAction_AcroWheelieHopFaceUp_Step1(eventObject, sprite); } -bool8 sub_809459C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (-- sprite->data[3] == 0) + if (sub_80941B0(eventObject, sprite)) { + eventObject->hasShadow = FALSE; sprite->data[2] = 2; - sprite->animPaused = TRUE; return TRUE; } return FALSE; } -bool8 sub_80945C4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - if (sprite->data[3] & 1) + sub_8095B84(eventObject, sprite, DIR_WEST, 0, 1); + return MovementAction_AcroWheelieHopFaceLeft_Step1(eventObject, sprite); +} + +bool8 MovementAction_AcroWheelieHopFaceLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) { - sprite->animDelayCounter ++; + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; } - return sub_809459C(eventObject, sprite); + return FALSE; } -#define special_anim_with_timer_2(name, direction, images, duration, timer) \ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - u8 animId;\ - animId = images(DIR_##direction);\ - sub_8094554(eventObject, sprite, DIR_##direction, animId, duration);\ - return timer(eventObject, sprite);\ -} - -special_anim_with_timer_2(sub_8094600, SOUTH, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_8094638, NORTH, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_8094670, WEST, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_80946A8, EAST, get_go_image_anim_num, 32, sub_80945C4) -special_anim_with_timer_2(sub_80946E0, SOUTH, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_8094718, NORTH, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_8094750, WEST, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_8094788, EAST, get_go_image_anim_num, 16, sub_809459C) -special_anim_with_timer_2(sub_80947C0, SOUTH, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_80947F8, NORTH, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_8094830, WEST, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_8094868, EAST, get_go_fast_image_anim_num, 8, sub_809459C) -special_anim_with_timer_2(sub_80948A0, SOUTH, get_go_faster_image_anim_num, 4, sub_809459C) -special_anim_with_timer_2(sub_80948D8, NORTH, get_go_faster_image_anim_num, 4, sub_809459C) -special_anim_with_timer_2(sub_8094910, WEST, get_go_faster_image_anim_num, 4, sub_809459C) -special_anim_with_timer_2(sub_8094948, EAST, get_go_faster_image_anim_num, 4, sub_809459C) - -an_walk_any_2_macro(sub_8094980, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 2) -an_walk_any_2_macro(sub_80949C0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 2) -an_walk_any_2_macro(sub_8094A00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 2) -an_walk_any_2_macro(sub_8094A40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 2) -an_walk_any_2_macro(sub_8094A80, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 3) -an_walk_any_2_macro(sub_8094AC0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 3) -an_walk_any_2_macro(sub_8094B00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 3) -an_walk_any_2_macro(sub_8094B40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 3) -an_walk_any_2_macro(sub_8094B80, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 4) -an_walk_any_2_macro(sub_8094BC0, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 4) -an_walk_any_2_macro(sub_8094C00, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST, 4) -an_walk_any_2_macro(sub_8094C40, do_go_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST, 4) -an_walk_any_2_macro(sub_8094C80, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_SOUTH) -an_walk_any_2_macro(sub_8094CC0, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_NORTH) -an_walk_any_2_macro(sub_8094D00, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_WEST) -an_walk_any_2_macro(sub_8094D40, do_run_anim, npc_obj_ministep_stop_on_arrival, DIR_EAST) - -void npc_set_direction_and_anim__an_proceed(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 animNum) -{ - obj_anim_image_set_and_seek(sprite, animNum, 0); - EventObjectSetDirection(eventObject, direction); - sprite->data[2] = 1; +bool8 MovementAction_AcroWheelieHopFaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8095B84(eventObject, sprite, DIR_EAST, 0, 1); + return MovementAction_AcroWheelieHopFaceRight_Step1(eventObject, sprite); } -bool8 sub_8094DAC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopFaceRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(eventObject, sprite, eventObject->movementDirection, sprite->animNum); + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } return FALSE; } -bool8 sub_8094DC4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) +{ + sub_8095B84(eventObject, sprite, DIR_SOUTH, 1, 1); + return MovementAction_AcroWheelieHopDown_Step1(eventObject, sprite); +} + +bool8 MovementAction_AcroWheelieHopDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_80979BC(sprite)) + if (sub_80941B0(eventObject, sprite)) { + eventObject->hasShadow = FALSE; sprite->data[2] = 2; return TRUE; } return FALSE; } -void sub_8094DE4(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +bool8 MovementAction_AcroWheelieHopUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8093FC4(eventObject, sprite, direction, 1, 0); - StartSpriteAnim(sprite, sub_80929AC(direction)); + sub_8095B84(eventObject, sprite, DIR_NORTH, 1, 1); + return MovementAction_AcroWheelieHopUp_Step1(eventObject, sprite); } -#define unk_macro_8094E18(name, direction)\ -bool8 name##_2(struct EventObject *, struct Sprite *);\ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - sub_8094DE4(eventObject, sprite, direction);\ - return name##_2(eventObject, sprite);\ -}\ -bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - if (sub_80941C8(eventObject, sprite))\ - {\ - sprite->data[2] = 2;\ - eventObject->landingJump = FALSE;\ - return TRUE;\ - }\ - return FALSE;\ +bool8 MovementAction_AcroWheelieHopUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -unk_macro_8094E18(sub_8094E18, DIR_SOUTH) -unk_macro_8094E18(sub_8094E60, DIR_NORTH) -unk_macro_8094E18(sub_8094EB8, DIR_WEST) -unk_macro_8094E18(sub_8094710, DIR_EAST) - -bool8 sub_8094F38(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - u8 eventObjectId; + sub_8095B84(eventObject, sprite, DIR_WEST, 1, 1); + return MovementAction_AcroWheelieHopLeft_Step1(eventObject, sprite); +} - if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &eventObjectId)) +bool8 MovementAction_AcroWheelieHopLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) { - an_look_any(eventObject, sprite, sub_8092AF8(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[eventObjectId].currentCoords.x, gEventObjects[eventObjectId].currentCoords.y)); + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; } - sprite->data[2] = 1; - return TRUE; + return FALSE; } -bool8 sub_8094F94(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieHopRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - u8 eventObjectId; + sub_8095B84(eventObject, sprite, DIR_EAST, 1, 1); + return MovementAction_AcroWheelieHopRight_Step1(eventObject, sprite); +} - if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &eventObjectId)) +bool8 MovementAction_AcroWheelieHopRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) +{ + if (sub_80941B0(eventObject, sprite)) { - an_look_any(eventObject, sprite, GetOppositeDirection(sub_8092AF8(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[eventObjectId].currentCoords.x, gEventObjects[eventObjectId].currentCoords.y))); + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; } - sprite->data[2] = 1; - return TRUE; + return FALSE; } -bool8 sub_8094FF8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->facingDirectionLocked = TRUE; - sprite->data[2] = 1; - return TRUE; + sub_8095B84(eventObject, sprite, DIR_SOUTH, 2, 0); + return MovementAction_AcroWheelieJumpDown_Step1(eventObject, sprite); } -bool8 sub_8095008(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->facingDirectionLocked = FALSE; - sprite->data[2] = 1; - return TRUE; + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -maybe_shadow_1_macro(sub_8095018, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 1, 2) -maybe_shadow_1_macro(sub_8095070, maybe_shadow_1, sub_80941B0, DIR_NORTH, 1, 2) -maybe_shadow_1_macro(sub_80950C8, maybe_shadow_1, sub_80941B0, DIR_WEST, 1, 2) -maybe_shadow_1_macro(sub_8095120, maybe_shadow_1, sub_80941B0, DIR_EAST, 1, 2) -maybe_shadow_1_macro(sub_8095178, maybe_shadow_1, sub_80941B0, DIR_SOUTH, 0, 0) -maybe_shadow_1_macro(sub_80951D0, maybe_shadow_1, sub_80941B0, DIR_NORTH, 0, 0) -maybe_shadow_1_macro(sub_8095228, maybe_shadow_1, sub_80941B0, DIR_WEST, 0, 0) -maybe_shadow_1_macro(sub_8095280, maybe_shadow_1, sub_80941B0, DIR_EAST, 0, 0) -maybe_shadow_1_macro(sub_80952D8, maybe_shadow_1, sub_80941E0, DIR_SOUTH, 0, 2) -maybe_shadow_1_macro(sub_8095330, maybe_shadow_1, sub_80941E0, DIR_NORTH, 0, 2) -maybe_shadow_1_macro(sub_8095388, maybe_shadow_1, sub_80941E0, DIR_WEST, 0, 2) -maybe_shadow_1_macro(sub_80953E0, maybe_shadow_1, sub_80941E0, DIR_EAST, 0, 2) - -bool8 sub_8095438(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - an_look_any(eventObject, sprite, gInitialMovementTypeFacingDirections[eventObject->movementType]); - return TRUE; + sub_8095B84(eventObject, sprite, DIR_NORTH, 2, 0); + return MovementAction_AcroWheelieJumpUp_Step1(eventObject, sprite); } -bool8 sub_8095450(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - npc_set_direction_and_anim__an_proceed(eventObject, sprite, DIR_SOUTH, 0x14); + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } return FALSE; } -bool8 sub_8095460(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->disableJumpLandingGroundEffect = FALSE; - sprite->data[2] = 1; - return TRUE; + sub_8095B84(eventObject, sprite, DIR_WEST, 2, 0); + return MovementAction_AcroWheelieJumpLeft_Step1(eventObject, sprite); } -bool8 sub_8095470(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->disableJumpLandingGroundEffect = TRUE; - sprite->data[2] = 1; - return TRUE; + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -bool8 sub_8095480(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->inanimate = TRUE; - sprite->data[2] = 1; - return TRUE; + sub_8095B84(eventObject, sprite, DIR_EAST, 2, 0); + return MovementAction_AcroWheelieJumpRight_Step1(eventObject, sprite); } -bool8 sub_8095490(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieJumpRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; - sprite->data[2] = 1; - return TRUE; + if (sub_80941B0(eventObject, sprite)) + { + eventObject->hasShadow = FALSE; + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -bool8 sub_80954BC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible = TRUE; - sprite->data[2] = 1; - return TRUE; + sub_8094554(eventObject, sprite, DIR_SOUTH, GetAcroWheeliePedalDirectionAnimNum(DIR_SOUTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 sub_80954CC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible = FALSE; - sprite->data[2] = 1; - return TRUE; + sub_8094554(eventObject, sprite, DIR_NORTH, GetAcroWheeliePedalDirectionAnimNum(DIR_NORTH), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 do_exclamation_mark_bubble_1(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - sprite->data[2] = 1; - return TRUE; + sub_8094554(eventObject, sprite, DIR_WEST, GetAcroWheeliePedalDirectionAnimNum(DIR_WEST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 do_exclamation_mark_bubble_2(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieInPlaceRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2); - sprite->data[2] = 1; - return TRUE; + sub_8094554(eventObject, sprite, DIR_EAST, GetAcroWheeliePedalDirectionAnimNum(DIR_EAST), 8); + return MovementAction_WalkInPlace_Step1(eventObject, sprite); } -bool8 do_heart_bubble(struct EventObject *eventObject, struct Sprite *sprite) +void sub_80960C8(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - EventObjectGetLocalIdAndMap(eventObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_HEART_ICON); - sprite->data[2] = 1; - return TRUE; + npc_apply_direction(eventObject, sprite, direction, speed); + StartSpriteAnim(sprite, GetAcroWheelieDirectionAnimNum(eventObject->facingDirection)); + SeekSpriteAnim(sprite, 0); } -bool8 sub_8095548(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - if (eventObject->movementType == 0x3F) - { - sub_80B4578(eventObject); - return FALSE; - } - if (eventObject->movementType != 0x39 && eventObject->movementType != 0x3A) - { - sprite->data[2] = 2; - return TRUE; - } - sub_8155D78(eventObject); - sprite->data[2] = 1; - return sub_809558C(eventObject, sprite); + sub_80960C8(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_AcroPopWheelieMoveDown_Step1(eventObject, sprite); } -bool8 sub_809558C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8155DA0(eventObject)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5628,211 +7294,156 @@ bool8 sub_809558C(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -bool8 sub_80955AC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - obj_anim_image_set_and_seek(sprite, 1, 0); - sprite->data[2] = 1; - return FALSE; + sub_80960C8(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_AcroPopWheelieMoveUp_Step1(eventObject, sprite); } -bool8 sub_80955C8(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_80979BC(sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, 32); sprite->data[2] = 2; + return TRUE; } return FALSE; } -bool8 sub_80955EC(struct EventObject *eventObject, struct Sprite *sprite) -{ - eventObject->invisible ^= TRUE; - if (RunEventObjectStepTimer(sprite)) - { - eventObject->invisible = TRUE; - sprite->data[2] = 3; - } - return FALSE; -} - -bool8 sub_8095628(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - obj_anim_image_set_and_seek(sprite, 1, 0); - sprite->data[2] = 1; - return FALSE; + sub_80960C8(eventObject, sprite, DIR_WEST, 1); + return MovementAction_AcroPopWheelieMoveLeft_Step1(eventObject, sprite); } -bool8 sub_8095644(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_80979BC(sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { - SetEventObjectStepTimer(sprite, 32); sprite->data[2] = 2; + return TRUE; } return FALSE; } -bool8 sub_8095668(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->invisible ^= TRUE; - if (RunEventObjectStepTimer(sprite)) - { - eventObject->invisible = TRUE; - sprite->data[2] = 3; - } - return FALSE; + sub_80960C8(eventObject, sprite, DIR_EAST, 1); + return MovementAction_AcroPopWheelieMoveRight_Step1(eventObject, sprite); } -bool8 sub_80956A4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroPopWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->fixedPriority = TRUE; - sprite->data[2] = 1; - return TRUE; + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -bool8 sub_80956B4(struct EventObject *eventObject, struct Sprite *sprite) +void sub_8096200(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - eventObject->fixedPriority = FALSE; - sprite->data[2] = 1; - return TRUE; + npc_apply_direction(eventObject, sprite, direction, speed); + npc_apply_anim_looping(eventObject, sprite, GetAcroWheeliePedalDirectionAnimNum(eventObject->facingDirection)); } -bool8 sub_80956C4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sprite->oam.affineMode = 3; - InitSpriteAffineAnim(sprite); - sprite->affineAnimPaused = TRUE; - sprite->subspriteMode = 0; - return TRUE; + sub_8096200(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_AcroWheelieMoveDown_Step1(eventObject, sprite); } -bool8 sub_80956F4(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - FreeOamMatrix(sprite->oam.matrixNum); - sprite->oam.affineMode = 0; - CalcCenterToCornerVec(sprite, sprite->oam.shape, sprite->oam.size, sprite->oam.affineMode); - return TRUE; + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -bool8 sub_8095724(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->unk3_3 = TRUE; - return TRUE; + sub_8096200(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_AcroWheelieMoveUp_Step1(eventObject, sprite); } -bool8 sub_8095730(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - eventObject->unk3_3 = FALSE; - return TRUE; + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -#define affine_an_walk_any_2_macro(name, fn, fn2, action, anim, ...)\ -bool8 name##_2(struct EventObject *, struct Sprite *);\ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - fn(eventObject, sprite, __VA_ARGS__);\ - sprite->affineAnimPaused = FALSE;\ - action(sprite, anim);\ - return name##_2(eventObject, sprite);\ -}\ -bool8 name##_2(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - if (fn2(eventObject, sprite))\ - {\ - sprite->affineAnimPaused = TRUE;\ - sprite->data[2] = 2;\ - return TRUE;\ - }\ - return FALSE;\ -}\ - -affine_an_walk_any_2_macro(sub_8095740, sub_8093B60, an_walk_any_2, StartSpriteAffineAnimIfDifferent, 0, DIR_SOUTH) -affine_an_walk_any_2_macro(sub_80957A0, sub_8093B60, an_walk_any_2, ChangeSpriteAffineAnimIfDifferent, 1, DIR_SOUTH) -affine_an_walk_any_2_macro(sub_8095800, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 2, DIR_WEST, 1) -affine_an_walk_any_2_macro(sub_8095860, do_go_anim, npc_obj_ministep_stop_on_arrival, ChangeSpriteAffineAnimIfDifferent, 3, DIR_EAST, 1) - -static void sub_80958C0(struct EventObject *eventObject, struct Sprite *sprite, u8 direction) +bool8 MovementAction_AcroWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - EventObjectSetDirection(eventObject, direction); - npc_coords_shift_still(eventObject); - obj_npc_animation_step(eventObject, sprite, sub_80929FC(direction)); - sprite->animPaused = TRUE; - sprite->data[2] = 1; + sub_8096200(eventObject, sprite, DIR_WEST, 1); + return MovementAction_AcroWheelieMoveLeft_Step1(eventObject, sprite); } -bool8 sub_8095900(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_SOUTH); - return TRUE; + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -bool8 sub_8095910(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_NORTH); - return TRUE; + sub_8096200(eventObject, sprite, DIR_EAST, 1); + return MovementAction_AcroWheelieMoveRight_Step1(eventObject, sprite); } -bool8 sub_8095920(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - sub_80958C0(eventObject, sprite, DIR_WEST); - return TRUE; + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -bool8 sub_8095930(struct EventObject *eventObject, struct Sprite *sprite) +void sub_8096330(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) { - sub_80958C0(eventObject, sprite, DIR_EAST); - return TRUE; + npc_apply_direction(eventObject, sprite, direction, speed); + StartSpriteAnim(sprite, GetAcroEndWheelieDirectionAnimNum(eventObject->facingDirection)); + SeekSpriteAnim(sprite, 0); } -#define set_dirn_and_anim__an_proceed(name, direction, anims)\ -bool8 name(struct EventObject *eventObject, struct Sprite *sprite)\ -{\ - npc_set_direction_and_anim__an_proceed(eventObject, sprite, direction, anims(direction));\ - return FALSE;\ -} - -set_dirn_and_anim__an_proceed(sub_8095940, DIR_SOUTH, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_8095964, DIR_NORTH, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_8095988, DIR_WEST, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_80959AC, DIR_EAST, sub_80929BC) -set_dirn_and_anim__an_proceed(sub_80959D0, DIR_SOUTH, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_80959F4, DIR_NORTH, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_8095A18, DIR_WEST, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_8095A3C, DIR_EAST, sub_80929DC) -set_dirn_and_anim__an_proceed(sub_8095A60, DIR_SOUTH, sub_80929EC) -set_dirn_and_anim__an_proceed(sub_8095A84, DIR_NORTH, sub_80929EC) -set_dirn_and_anim__an_proceed(sub_8095AA8, DIR_WEST, sub_80929EC) -set_dirn_and_anim__an_proceed(sub_8095ACC, DIR_EAST, sub_80929EC) - -void sub_8095AF0(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8097750(sprite); - sprite->animPaused = FALSE; + sub_8096330(eventObject, sprite, DIR_SOUTH, 1); + return MovementAction_AcroEndWheelieMoveDown_Step1(eventObject, sprite); } -bool8 sub_8095B0C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8097758(sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { - npc_coords_shift_still(eventObject); - eventObject->triggerGroundEffectsOnStop = TRUE; - sprite->animPaused = TRUE; + sprite->data[2] = 2; return TRUE; } return FALSE; } -bool8 sub_8095B44(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8095AF0(eventObject, sprite); - sprite->data[2] = 1; - return sub_8095B64(eventObject, sprite); + sub_8096330(eventObject, sprite, DIR_NORTH, 1); + return MovementAction_AcroEndWheelieMoveUp_Step1(eventObject, sprite); } -bool8 sub_8095B64(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_AcroEndWheelieMoveUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - if (sub_8095B0C(eventObject, sprite)) + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) { sprite->data[2] = 2; return TRUE; @@ -5840,103 +7451,76 @@ bool8 sub_8095B64(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -void sub_8095B84(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed, u8 a4) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8093FC4(eventObject, sprite, direction, speed, a4); - StartSpriteAnimIfDifferent(sprite, sub_80929BC(direction)); - DoShadowFieldEffect(eventObject); + sub_8096330(eventObject, sprite, DIR_WEST, 1); + return MovementAction_AcroEndWheelieMoveLeft_Step1(eventObject, sprite); } -maybe_shadow_1_macro(sub_8095BC8, sub_8095B84, sub_80941B0, DIR_SOUTH, 0, 1) -maybe_shadow_1_macro(sub_8095C20, sub_8095B84, sub_80941B0, DIR_NORTH, 0, 1) -maybe_shadow_1_macro(sub_8095C78, sub_8095B84, sub_80941B0, DIR_WEST, 0, 1) -maybe_shadow_1_macro(sub_8095CD0, sub_8095B84, sub_80941B0, DIR_EAST, 0, 1) -maybe_shadow_1_macro(sub_8095D28, sub_8095B84, sub_80941B0, DIR_SOUTH, 1, 1) -maybe_shadow_1_macro(sub_8095D80, sub_8095B84, sub_80941B0, DIR_NORTH, 1, 1) -maybe_shadow_1_macro(sub_8095DD8, sub_8095B84, sub_80941B0, DIR_WEST, 1, 1) -maybe_shadow_1_macro(sub_8095E30, sub_8095B84, sub_80941B0, DIR_EAST, 1, 1) -maybe_shadow_1_macro(sub_8095E88, sub_8095B84, sub_80941B0, DIR_SOUTH, 2, 0) -maybe_shadow_1_macro(sub_8095EE0, sub_8095B84, sub_80941B0, DIR_NORTH, 2, 0) -maybe_shadow_1_macro(sub_8095F38, sub_8095B84, sub_80941B0, DIR_WEST, 2, 0) -maybe_shadow_1_macro(sub_8095F90, sub_8095B84, sub_80941B0, DIR_EAST, 2, 0) - -special_anim_with_timer_2(sub_8095FE8, SOUTH, sub_80929FC, 8, sub_809459C) -special_anim_with_timer_2(sub_8096020, NORTH, sub_80929FC, 8, sub_809459C) -special_anim_with_timer_2(sub_8096058, WEST, sub_80929FC, 8, sub_809459C) -special_anim_with_timer_2(sub_8096090, EAST, sub_80929FC, 8, sub_809459C) - -void sub_80960C8(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +bool8 MovementAction_AcroEndWheelieMoveLeft_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - npc_apply_direction(eventObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929BC(eventObject->facingDirection)); - SeekSpriteAnim(sprite, 0); + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -an_walk_any_2_macro(sub_8096100, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) -an_walk_any_2_macro(sub_8096140, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) -an_walk_any_2_macro(sub_8096180, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) -an_walk_any_2_macro(sub_80961C0, sub_80960C8, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) - -void sub_8096200(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +bool8 MovementAction_AcroEndWheelieMoveRight_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - npc_apply_direction(eventObject, sprite, direction, speed); - npc_apply_anim_looping(eventObject, sprite, sub_80929FC(eventObject->facingDirection)); + sub_8096330(eventObject, sprite, DIR_EAST, 1); + return MovementAction_AcroEndWheelieMoveRight_Step1(eventObject, sprite); } -an_walk_any_2_macro(sub_8096230, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) -an_walk_any_2_macro(sub_8096270, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) -an_walk_any_2_macro(sub_80962B0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) -an_walk_any_2_macro(sub_80962F0, sub_8096200, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) - -void sub_8096330(struct EventObject *eventObject, struct Sprite *sprite, u8 direction, u8 speed) +bool8 MovementAction_AcroEndWheelieMoveRight_Step1(struct EventObject *eventObject, struct Sprite *sprite) { - npc_apply_direction(eventObject, sprite, direction, speed); - StartSpriteAnim(sprite, sub_80929DC(eventObject->facingDirection)); - SeekSpriteAnim(sprite, 0); + if (npc_obj_ministep_stop_on_arrival(eventObject, sprite)) + { + sprite->data[2] = 2; + return TRUE; + } + return FALSE; } -an_walk_any_2_macro(sub_8096368, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_SOUTH, 1) -an_walk_any_2_macro(sub_80963A8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_NORTH, 1) -an_walk_any_2_macro(sub_80963E8, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_WEST, 1) -an_walk_any_2_macro(sub_8096428, sub_8096330, npc_obj_ministep_stop_on_arrival, DIR_EAST, 1) -bool8 sub_8096468(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_Levitate_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8097FA4(eventObject); + CreateLevitateMovementTask(eventObject); sprite->data[2] = 1; return TRUE; } -bool8 sub_809647C(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_StopLevitate_Step0(struct EventObject *eventObject, struct Sprite *sprite) { - sub_8098044(eventObject->warpArrowSpriteId); + DestroyExtraMovementTask(eventObject->warpArrowSpriteId); sprite->pos2.y = 0; sprite->data[2] = 1; return TRUE; } -bool8 sub_8096494(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_DestroyExtraTaskIfAtTop_Step0(struct EventObject *eventObject, struct Sprite *sprite) { if (sprite->pos2.y == 0) { - sub_8098044(eventObject->warpArrowSpriteId); + DestroyExtraMovementTask(eventObject->warpArrowSpriteId); sprite->data[2] = 1; return TRUE; } return FALSE; } -u8 sub_80964B8(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_Finish(struct EventObject *eventObject, struct Sprite *sprite) { return TRUE; } -bool8 sub_80964BC(struct EventObject *eventObject, struct Sprite *sprite) +bool8 MovementAction_PauseSpriteAnim(struct EventObject *eventObject, struct Sprite *sprite) { sprite->animPaused = TRUE; return TRUE; } -void npc_obj_transfer_image_anim_pause_flag(struct EventObject *eventObject, struct Sprite *sprite) +static void UpdateEventObjectSpriteAnimPause(struct EventObject *eventObject, struct Sprite *sprite) { if (eventObject->disableAnim) { @@ -5944,7 +7528,7 @@ void npc_obj_transfer_image_anim_pause_flag(struct EventObject *eventObject, str } } -void sub_80964E8(struct EventObject *eventObject, struct Sprite *sprite) +static void TryEnableEventObjectAnim(struct EventObject *eventObject, struct Sprite *sprite) { if (eventObject->enableAnim) { @@ -5954,7 +7538,7 @@ void sub_80964E8(struct EventObject *eventObject, struct Sprite *sprite) } } -static void sub_8096518(struct EventObject *eventObject, struct Sprite *sprite) +static void UpdateEventObjectVisibility(struct EventObject *eventObject, struct Sprite *sprite) { sub_8096530(eventObject, sprite); npc_update_obj_anim_flag(eventObject, sprite); @@ -6784,7 +8368,7 @@ void FreezeEventObjectsExceptOne(u8 a1) FreezeEventObject(&gEventObjects[i]); } -void npc_sync_anim_pause_bits(struct EventObject *eventObject) +void UnfreezeEventObject(struct EventObject *eventObject) { if (eventObject->active && eventObject->frozen) { @@ -6799,34 +8383,34 @@ void UnfreezeEventObjects(void) u8 i; for (i = 0; i < EVENT_OBJECTS_COUNT; i++) if (gEventObjects[i].active) - npc_sync_anim_pause_bits(&gEventObjects[i]); + UnfreezeEventObject(&gEventObjects[i]); } -void little_step(struct Sprite *sprite, u8 dir) +void Step1(struct Sprite *sprite, u8 dir) { sprite->pos1.x += gDirectionToVectors[dir].x; sprite->pos1.y += gDirectionToVectors[dir].y; } -void double_little_steps(struct Sprite *sprite, u8 dir) +void Step2(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y; } -void triple_little_steps(struct Sprite *sprite, u8 dir) +void Step3(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 2 * (u16) gDirectionToVectors[dir].x + (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 2 * (u16) gDirectionToVectors[dir].y + (u16) gDirectionToVectors[dir].y; } -void quad_little_steps(struct Sprite *sprite, u8 dir) +void Step4(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 4 * (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 4 * (u16) gDirectionToVectors[dir].y; } -void oct_little_steps(struct Sprite *sprite, u8 dir) +void Step8(struct Sprite *sprite, u8 dir) { sprite->pos1.x += 8 * (u16) gDirectionToVectors[dir].x; sprite->pos1.y += 8 * (u16) gDirectionToVectors[dir].y; @@ -6842,54 +8426,54 @@ void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3) typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); static const SpriteStepFunc gUnknown_0850E6C4[] = { - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, - little_step, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, }; static const SpriteStepFunc gUnknown_0850E704[] = { - double_little_steps, - double_little_steps, - double_little_steps, - double_little_steps, - double_little_steps, - double_little_steps, - double_little_steps, - double_little_steps, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, }; static const SpriteStepFunc gUnknown_0850E724[] = { - double_little_steps, - triple_little_steps, - triple_little_steps, - double_little_steps, - triple_little_steps, - triple_little_steps, + Step2, + Step3, + Step3, + Step2, + Step3, + Step3, }; static const SpriteStepFunc gUnknown_0850E73C[] = { - quad_little_steps, - quad_little_steps, - quad_little_steps, - quad_little_steps, + Step4, + Step4, + Step4, + Step4, }; static const SpriteStepFunc gUnknown_0850E74C[] = { - oct_little_steps, - oct_little_steps, + Step8, + Step8, }; static const SpriteStepFunc *const gUnknown_0850E754[] = { @@ -6930,7 +8514,7 @@ bool8 sub_80976EC(struct Sprite *sprite) { if (!(sprite->data[4] & 1)) { - little_step(sprite, sprite->data[3]); + Step1(sprite, sprite->data[3]); sprite->data[5]++; } @@ -7069,7 +8653,7 @@ u8 sub_809785C(struct Sprite *sprite) v2 = 0; if (sprite->data[4]) - little_step(sprite, sprite->data[3]); + Step1(sprite, sprite->data[3]); sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]); @@ -7106,7 +8690,7 @@ u8 sub_80978E4(struct Sprite *sprite) v2 = 0; if (sprite->data[4] && !(sprite->data[6] & 1)) - little_step(sprite, sprite->data[3]); + Step1(sprite, sprite->data[3]); sprite->pos2.y = sub_8097820(sprite->data[6] >> v6[sprite->data[4]], sprite->data[5]); @@ -7124,12 +8708,12 @@ u8 sub_80978E4(struct Sprite *sprite) return v2; } -void SetEventObjectStepTimer(struct Sprite *sprite, s16 timer) +void SetMovementDelay(struct Sprite *sprite, s16 timer) { sprite->data[3] = timer; } -bool8 RunEventObjectStepTimer(struct Sprite *sprite) +static bool8 WaitForMovementDelay(struct Sprite *sprite) { sprite->data[3]--; @@ -7139,14 +8723,14 @@ bool8 RunEventObjectStepTimer(struct Sprite *sprite) return FALSE; } -void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3) +void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3) { sprite->animNum = a2; sprite->animPaused = 0 ; SeekSpriteAnim(sprite, a3); } -bool8 sub_80979BC(struct Sprite *sprite) +bool8 SpriteAnimEnded(struct Sprite *sprite) { if (sprite->animEnded) return TRUE; @@ -7154,7 +8738,7 @@ bool8 sub_80979BC(struct Sprite *sprite) return FALSE; } -void sub_80979D4(struct Sprite *sprite, bool8 invisible) +void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible) { u16 x, y; s16 x2, y2; @@ -7181,11 +8765,11 @@ void sub_80979D4(struct Sprite *sprite, bool8 invisible) sprite->invisible = 1; } -void sub_8097AC8(struct Sprite *sprite) +void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *sprite) { sub_8097D68(sprite); SetObjectSubpriorityByZCoord(sprite->data[1], sprite, 1); - sub_80979D4(sprite, sprite->data[2]); + UpdateEventObjectSpriteVisibility(sprite, sprite->data[2]); } void sub_8097AF0(void) @@ -7195,7 +8779,7 @@ void sub_8097AF0(void) for(i = 0; i < MAX_SPRITES; i++) { struct Sprite *sprite = &gSprites[i]; - if(sprite->inUse && sprite->callback == sub_8097AC8) + if(sprite->inUse && sprite->callback == UpdateEventObjectSpriteSubpriorityAndVisibility) DestroySprite(sprite); } } @@ -7207,7 +8791,7 @@ int sub_8097B2C(u8 var) // this should return a u8, because all that call this s for(i = 0; i < MAX_SPRITES; i++) { struct Sprite *sprite = &gSprites[i]; - if(sprite->inUse && sprite->callback == sub_8097AC8 && (u8)sprite->data[0] == var) + if(sprite->inUse && sprite->callback == UpdateEventObjectSpriteSubpriorityAndVisibility && (u8)sprite->data[0] == var) return i; } return MAX_SPRITES; @@ -7218,7 +8802,7 @@ void sub_8097B78(u8 var1, u8 var2) u8 spriteId = sub_8097B2C(var1); if(spriteId != MAX_SPRITES) - StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(var2)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(var2)); } void sub_8097BB4(u8 var1, u8 var2) @@ -7377,38 +8961,38 @@ static void DoRippleFieldEffect(struct EventObject *eventObject, struct Sprite * FieldEffectStart(FLDEFF_RIPPLE); } -u8 (*const gUnknown_0850E854[])(struct EventObject *, struct Sprite *) = { - sub_8097E50, - sub_80964B8, +u8 (*const gMovementActionFuncs_StoreAndLockAnim[])(struct EventObject *, struct Sprite *) = { + MovementAction_StoreAndLockAnim_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E85C[])(struct EventObject *, struct Sprite *) = { - sub_8097EF0, - sub_80964B8, +u8 (*const gMovementActionFuncs_FreeAndUnlockAnim[])(struct EventObject *, struct Sprite *) = { + MovementAction_FreeAndUnlockAnim_Step0, + MovementAction_Finish, }; -u8 (*const gUnknown_0850E864[])(struct EventObject *, struct Sprite *) = { - sub_80980C0, - sub_80980D0, - sub_8098124, +u8 (*const gMovementActionFuncs_FlyUp[])(struct EventObject *, struct Sprite *) = { + MovementAction_FlyUp_Step0, + MovementAction_FlyUp_Step1, + MovementAction_Fly_Finish, }; -u8 (*const gUnknown_0850E870[])(struct EventObject *, struct Sprite *) = { - sub_80980F4, - sub_8098108, - sub_8098124, +u8 (*const gMovementActionFuncs_FlyDown[])(struct EventObject *, struct Sprite *) = { + MovementAction_FlyDown_Step0, + MovementAction_FlyDown_Step1, + MovementAction_Fly_Finish, }; -u8 sub_8097E50(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_StoreAndLockAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) { u32 one; bool32 ableToStore = FALSE; - if (gUnknown_020375B8 == NULL) + if (gLockedAnimEventObjects == NULL) { - gUnknown_020375B8 = AllocZeroed(0x14); - gUnknown_020375B8[0] = eventObject->localId; + gLockedAnimEventObjects = AllocZeroed(sizeof(struct LockedAnimEventObjects)); + gLockedAnimEventObjects->eventObjectIds[0] = eventObject->localId; // needed to match - gUnknown_020375B8[16] = (one = 1); + gLockedAnimEventObjects->count = (one = 1); ableToStore = one; } else @@ -7418,10 +9002,10 @@ u8 sub_8097E50(struct EventObject *eventObject, struct Sprite *sprite) bool32 found; for (firstFreeSlot = 16, found = FALSE, i = 0; i < 16; i++) { - if (firstFreeSlot == 16 && gUnknown_020375B8[i] == 0) + if (firstFreeSlot == 16 && gLockedAnimEventObjects->eventObjectIds[i] == 0) firstFreeSlot = i; - if (gUnknown_020375B8[i] == eventObject->localId) + if (gLockedAnimEventObjects->eventObjectIds[i] == eventObject->localId) { found = TRUE; break; @@ -7430,8 +9014,8 @@ u8 sub_8097E50(struct EventObject *eventObject, struct Sprite *sprite) if (!found && firstFreeSlot != 16) { - gUnknown_020375B8[firstFreeSlot] = eventObject->localId; - gUnknown_020375B8[16]++; + gLockedAnimEventObjects->eventObjectIds[firstFreeSlot] = eventObject->localId; + gLockedAnimEventObjects->count++; ableToStore = TRUE; } } @@ -7446,28 +9030,28 @@ u8 sub_8097E50(struct EventObject *eventObject, struct Sprite *sprite) return TRUE; } -u8 sub_8097EF0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FreeAndUnlockAnim_Step0(struct EventObject *eventObject, struct Sprite *sprite) { bool32 ableToStore; - u8 id; + u8 index; sprite->data[2] = 1; - if (gUnknown_020375B8 != NULL) + if (gLockedAnimEventObjects != NULL) { ableToStore = FALSE; - id = sub_8097F78(eventObject); - if (id != 16) + index = FindLockedEventObjectIndex(eventObject); + if (index != 16) { - gUnknown_020375B8[id] = 0; - gUnknown_020375B8[16]--; + gLockedAnimEventObjects->eventObjectIds[index] = 0; + gLockedAnimEventObjects->count--; ableToStore = TRUE; } - if (gUnknown_020375B8[16] == 0) - FREE_AND_SET_NULL(gUnknown_020375B8); + if (gLockedAnimEventObjects->count == 0) + FREE_AND_SET_NULL(gLockedAnimEventObjects); if (ableToStore == TRUE) { eventObject->inanimate = GetEventObjectGraphicsInfo(eventObject->graphicsId)->inanimate; - eventObject->facingDirectionLocked = 0; + eventObject->facingDirectionLocked = FALSE; sprite->animPaused = 0; } } @@ -7475,21 +9059,21 @@ u8 sub_8097EF0(struct EventObject *eventObject, struct Sprite *sprite) return TRUE; } -u8 sub_8097F78(struct EventObject *eventObject) +u8 FindLockedEventObjectIndex(struct EventObject *eventObject) { u8 i; - for(i = 0; i < EVENT_OBJECTS_COUNT; i++) + for (i = 0; i < EVENT_OBJECTS_COUNT; i++) { - if(gUnknown_020375B8[i] == eventObject->localId) + if (gLockedAnimEventObjects->eventObjectIds[i] == eventObject->localId) return i; } return EVENT_OBJECTS_COUNT; } -void sub_8097FA4(struct EventObject *eventObject) +void CreateLevitateMovementTask(struct EventObject *eventObject) { - u8 taskId = CreateTask(sub_8097FE4, 0xFF); + u8 taskId = CreateTask(ApplyLevitateMovement, 0xFF); struct Task *task = &gTasks[taskId]; StoreWordInTwoHalfwords(&task->data[0], (u32)eventObject); @@ -7497,7 +9081,7 @@ void sub_8097FA4(struct EventObject *eventObject) task->data[3] = 0xFFFF; } -static void sub_8097FE4(u8 taskId) +static void ApplyLevitateMovement(u8 taskId) { struct EventObject *eventObject; struct Sprite *sprite; @@ -7515,12 +9099,12 @@ static void sub_8097FE4(u8 taskId) task->data[2]++; } -void sub_8098044(u8 taskId) +void DestroyExtraMovementTask(u8 taskId) { - u32 word; + struct EventObject *eventObject; struct Task *task = &gTasks[taskId]; - LoadWordFromTwoHalfwords(&task->data[0], &word); // huh??? why does it load a word that never gets used??? + LoadWordFromTwoHalfwords(&task->data[0], (u32 *)&eventObject); // unused eventObject DestroyTask(taskId); } @@ -7536,14 +9120,14 @@ void sub_8098074(u8 var1, u8 var2) } } -u8 sub_80980C0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyUp_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = 0; sprite->data[2]++; return FALSE; } -u8 sub_80980D0(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyUp_Step1(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y -= 8; @@ -7552,14 +9136,14 @@ u8 sub_80980D0(struct EventObject *eventObject, struct Sprite *sprite) return FALSE; } -u8 sub_80980F4(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyDown_Step0(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y = -160; sprite->data[2]++; return FALSE; } -u8 sub_8098108(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_FlyDown_Step1(struct EventObject *eventObject, struct Sprite *sprite) { sprite->pos2.y += 8; @@ -7569,7 +9153,7 @@ u8 sub_8098108(struct EventObject *eventObject, struct Sprite *sprite) } // though this function returns TRUE without doing anything, this header is required due to being in an array of functions which needs it. -u8 sub_8098124(struct EventObject *eventObject, struct Sprite *sprite) +u8 MovementAction_Fly_Finish(struct EventObject *eventObject, struct Sprite *sprite) { return TRUE; } diff --git a/src/field_camera.c b/src/field_camera.c index f4d9550a3..d7063bd89 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -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) diff --git a/src/field_effect.c b/src/field_effect.c index 4ad3bd916..00814192e 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1246,7 +1246,7 @@ bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0] CameraObjectReset2(); gEventObjects[gPlayerAvatar.eventObjectId].invisible = 1; gPlayerAvatar.preventStep = TRUE; - EventObjectSetSpecialAnim(playerObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + EventObjectSetHeldMovement(playerObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[4] = playerSprite->subspriteMode; playerObject->fixedPriority = 1; playerSprite->oam.priority = 1; @@ -1393,9 +1393,9 @@ bool8 sub_80B6EE0(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { - EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(player_get_direction_lower_nybble())); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(GetPlayerFacingDirection())); task->data[0]++; task->data[2] = 0; task->data[3] = 0; @@ -1512,7 +1512,7 @@ bool8 sub_80B7114(struct Task *task) u8 behavior; CameraObjectReset2(); eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(DIR_EAST)); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(DIR_EAST)); PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); task->data[0]++; @@ -1606,11 +1606,11 @@ bool8 sub_80B72F4(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { CameraObjectReset1(); ScriptContext2_Disable(); - EventObjectSetSpecialAnim(eventObject, GetGoSpeed0AnimId(DIR_EAST)); + EventObjectSetHeldMovement(eventObject, GetWalkNormalMovementAction(DIR_EAST)); DestroyTask(FindTaskIdByFunc(sub_80B70DC)); } return FALSE; @@ -1643,9 +1643,9 @@ bool8 sub_80B73D0(struct Task *task, struct EventObject *eventObject) bool8 waterfall_1_do_anim_probably(struct Task *task, struct EventObject *eventObject) { ScriptContext2_Enable(); - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject)) + if (!EventObjectIsMovementOverridden(eventObject)) { - EventObjectClearAnimIfSpecialAnimFinished(eventObject); + EventObjectClearHeldMovementIfFinished(eventObject); gFieldEffectArguments[0] = task->data[1]; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); task->data[0]++; @@ -1665,14 +1665,14 @@ bool8 waterfall_2_wait_anim_finish_probably(struct Task *task, struct EventObjec bool8 sub_80B7450(struct Task *task, struct EventObject *eventObject) { - EventObjectSetSpecialAnim(eventObject, GetSimpleGoAnimId(DIR_NORTH)); + EventObjectSetHeldMovement(eventObject, GetWalkSlowMovementAction(DIR_NORTH)); task->data[0]++; return FALSE; } bool8 sub_80B7478(struct Task *task, struct EventObject *eventObject) { - if (!EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (!EventObjectClearHeldMovementIfFinished(eventObject)) { return FALSE; } @@ -1899,14 +1899,14 @@ bool8 sub_80B7968(struct Task *task, struct EventObject *eventObject, struct Spr eventObject->invisible = 0; CameraObjectReset1(); PlaySE(SE_W091); - EventObjectSetSpecialAnim(eventObject, sub_8093514(DIR_EAST)); + EventObjectSetHeldMovement(eventObject, GetJumpMovementAction(DIR_EAST)); } return FALSE; } bool8 sub_80B79BC(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; ScriptContext2_Disable(); @@ -1960,7 +1960,7 @@ bool8 sub_80B7AE8(struct Task *task, struct EventObject *eventObject, struct Spr bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Sprite *sprite) { - if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { if (task->data[1] > 3) { @@ -1973,7 +1973,7 @@ bool8 sub_80B7B18(struct Task *task, struct EventObject *eventObject, struct Spr } else { task->data[1]++; - EventObjectSetSpecialAnim(eventObject, GetStepInPlaceDelay4AnimId(eventObject->facingDirection)); + EventObjectSetHeldMovement(eventObject, GetWalkInPlaceFastestMovementAction(eventObject->facingDirection)); PlaySE(SE_FU_ZUZUZU); } } @@ -2050,7 +2050,7 @@ void sub_80B7D14(struct Task *task) { task->data[0]++; task->data[14] = 64; - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); } void sub_80B7D34(struct Task *task) @@ -2063,11 +2063,11 @@ void sub_80B7D34(struct Task *task) sub_80AF0B4(); } eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { if (task->data[14] == 0 && !gPaletteFade.active && sub_80859A0() == TRUE) { - EventObjectSetDirection(eventObject, task->data[15]); + SetEventObjectDirection(eventObject, task->data[15]); sub_8084E14(); warp_in(); gFieldCallback = mapldr_080859D4; @@ -2075,7 +2075,7 @@ void sub_80B7D34(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80B7CE4)); } else if (task->data[1] == 0 || (--task->data[1]) == 0) { - EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(spinDirections[eventObject->facingDirection])); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection])); if (task->data[2] < 12) { task->data[2]++; @@ -2113,7 +2113,7 @@ void sub_80B7EC4(struct Task *task) if (IsWeatherNotFadingIn()) { task->data[0]++; - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); } } @@ -2123,11 +2123,11 @@ void sub_80B7EE8(struct Task *task) struct EventObject *eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { - if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) && !EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (EventObjectIsMovementOverridden(eventObject) && !EventObjectClearHeldMovementIfFinished(eventObject)) { return; } - if (task->data[2] >= 32 && task->data[15] == player_get_direction_lower_nybble()) + if (task->data[2] >= 32 && task->data[15] == GetPlayerFacingDirection()) { eventObject->invisible = 0; ScriptContext2_Disable(); @@ -2135,7 +2135,7 @@ void sub_80B7EE8(struct Task *task) DestroyTask(FindTaskIdByFunc(sub_80B7E94)); return; } - EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(spinDirections[eventObject->facingDirection])); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(spinDirections[eventObject->facingDirection])); if (task->data[2] < 32) { task->data[2]++; @@ -2174,7 +2174,7 @@ static void TeleportFieldEffectTask1(struct Task *task) ScriptContext2_Enable(); FreezeEventObjects(); CameraObjectReset2(); - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); task->data[0]++; } @@ -2286,7 +2286,7 @@ void sub_80B8280(struct Task *task) task->data[1] = 8; task->data[2] = 1; task->data[14] = sprite->subspriteMode; - task->data[15] = player_get_direction_lower_nybble(); + task->data[15] = GetPlayerFacingDirection(); PlaySE(SE_TK_WARPIN); } } @@ -2904,10 +2904,10 @@ void sub_80B8E14(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { sub_808C114(); - EventObjectSetSpecialAnim(eventObject, 0x39); + EventObjectSetHeldMovement(eventObject, 0x39); task->data[0]++; } } @@ -2916,7 +2916,7 @@ void sub_80B8E60(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectCheckIfSpecialAnimFinishedOrInactive(eventObject)) + if (EventObjectCheckHeldMovementStatus(eventObject)) { gFieldEffectArguments[0] = task->data[15] | 0x80000000; FieldEffectStart(FLDEFF_FIELD_MOVE_SHOW_MON_INIT); @@ -2931,8 +2931,8 @@ void sub_80B8EA8(struct Task *task) { eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(3)); - EventObjectClearAnimIfSpecialAnimFinished(eventObject); - EventObjectSetSpecialAnim(eventObject, sub_8093540(eventObject->movementDirection)); + EventObjectClearHeldMovementIfFinished(eventObject); + EventObjectSetHeldMovement(eventObject, GetJumpSpecialMovementAction(eventObject->movementDirection)); gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[1] = task->data[2]; gFieldEffectArguments[2] = gPlayerAvatar.eventObjectId; @@ -2945,11 +2945,11 @@ void sub_80B8F24(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.flags &= 0xdf; - EventObjectSetSpecialAnim(eventObject, GetFaceDirectionAnimId(eventObject->movementDirection)); + EventObjectSetHeldMovement(eventObject, GetFaceDirectionMovementAction(eventObject->movementDirection)); sub_81555AC(eventObject->fieldEffectSpriteId, 1); UnfreezeEventObjects(); ScriptContext2_Disable(); @@ -3206,13 +3206,13 @@ void sub_80B9204(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[15] = gPlayerAvatar.flags; gPlayerAvatar.preventStep = TRUE; SetPlayerAvatarStateMask(1); sub_808C114(); - EventObjectSetSpecialAnim(eventObject, 0x39); + EventObjectSetHeldMovement(eventObject, 0x39); task->data[0]++; } } @@ -3221,7 +3221,7 @@ void sub_80B925C(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[0]++; gFieldEffectArguments[0] = task->data[1]; @@ -3252,7 +3252,7 @@ void sub_80B92F8(struct Task *task) task->data[0]++; task->data[2] = 16; SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT); - EventObjectSetSpecialAnim(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02); + EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], 0x02); } } @@ -3260,7 +3260,7 @@ void sub_80B933C(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if ((task->data[2] == 0 || (--task->data[2]) == 0) && EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[0]++; PlaySE(SE_W019); @@ -3277,7 +3277,7 @@ void sub_80B9390(struct Task *task) EventObjectSetGraphicsId(eventObject, GetPlayerAvatarGraphicsIdByStateId(0x03)); StartSpriteAnim(&gSprites[eventObject->spriteId], 0x16); eventObject->inanimate = 1; - EventObjectSetSpecialAnim(eventObject, 0x48); + EventObjectSetHeldMovement(eventObject, 0x48); if (task->data[15] & 0x08) { DestroySprite(&gSprites[eventObject->fieldEffectSpriteId]); @@ -3293,7 +3293,7 @@ void sub_80B9418(struct Task *task) if ((++task->data[2]) >= 10) { eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - EventObjectClearAnimIfSpecialAnimActive(eventObject); + EventObjectClearHeldMovementIfActive(eventObject); eventObject->inanimate = 0; eventObject->hasShadow = 0; sub_80B9560(task->data[1], eventObject->spriteId); @@ -3503,7 +3503,7 @@ void sub_80B9804(struct Task *task) { struct EventObject *eventObject; eventObject = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(eventObject) || EventObjectClearAnimIfSpecialAnimFinished(eventObject)) + if (!EventObjectIsMovementOverridden(eventObject) || EventObjectClearHeldMovementIfFinished(eventObject)) { task->data[0]++; task->data[2] = 17; @@ -3587,14 +3587,14 @@ void sub_80B9978(struct Task *task) sprite->pos2.y = 0; sprite->coordOffsetEnabled = 1; sub_808C114(); - EventObjectSetSpecialAnim(eventObject, 0x39); + EventObjectSetHeldMovement(eventObject, 0x39); task->data[0]++; } } void sub_80B99F0(struct Task *task) { - if (EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gPlayerAvatar.eventObjectId])) + if (EventObjectClearHeldMovementIfFinished(&gEventObjects[gPlayerAvatar.eventObjectId])) { task->data[0]++; sub_80B9794(task->data[1]); @@ -3848,7 +3848,7 @@ bool8 sub_80B9E28(struct Sprite* sprite) yPos = object->currentCoords.y - 7; xPos = (gFieldEffectArguments[3] - xPos) * 16; yPos = (gFieldEffectArguments[4] - yPos) * 16; - npc_coords_shift(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); + ShiftEventObjectCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); taskId = CreateTask(sub_80B9EDC, 0x50); gTasks[taskId].data[1] = object->spriteId; gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; @@ -3886,7 +3886,7 @@ void sub_80B9EDC(u8 taskId) struct EventObject *object = &gEventObjects[data[9]]; sprite->pos1.x = data[2]; sprite->pos1.y = data[3]; - npc_coords_shift_still(object); + ShiftStillEventObjectCoords(object); object->triggerGroundEffectsOnStop = TRUE; FieldEffectActiveListRemove(0x42); DestroyTask(taskId); diff --git a/src/field_special_scene.c b/src/field_special_scene.c index a5058b363..39977808f 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -335,11 +335,11 @@ void sub_80FB6EC(void) if (VarGet(0x40B4) == 2) { - StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(4)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(4)); } else { - StartSpriteAnim(&gSprites[spriteId], EventObjectDirectionToImageAnimId(3)); + StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(3)); } } diff --git a/src/item_use.c b/src/item_use.c index 2044a8c87..96f63ee3e 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -337,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]) @@ -579,15 +579,15 @@ u8 sub_80FD9B0(s16 itemX, s16 itemY) void sub_80FDA24(u8 direction) { - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - EventObjectClearAnim(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - npc_sync_anim_pause_bits(&gEventObjects[GetEventObjectIdByLocalIdAndMap(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 (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); } @@ -595,7 +595,7 @@ void sub_80FDADC(u8 taskId) { s16 *data = gTasks[taskId].data; - if (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE || data[2] == FALSE) { sub_80FDA24(gUnknown_085920E4[data[5]]); diff --git a/src/overworld.c b/src/overworld.c index 5b92b8023..1e4116053 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -169,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); @@ -912,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; @@ -2170,7 +2170,7 @@ static void sub_80869DC(void) gUnknown_03005DEC = 0; gUnknown_03005DE8 = 0; sub_808D438(); - SpawnEventObjectsInView(0, 0); + TrySpawnEventObjects(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -2187,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(); - SpawnEventObjectsInView(0, 0); + TrySpawnEventObjects(0, 0); mapheader_run_first_tag4_script_list_match(); } @@ -2894,7 +2894,7 @@ static void ZeroLinkPlayerEventObject(struct LinkPlayerEventObject *linkPlayerEv memset(linkPlayerEventObj, 0, sizeof(struct LinkPlayerEventObject)); } -void ZeroAllLinkPlayerEventObjects(void) +void ClearLinkPlayerEventObjects(void) { memset(gLinkPlayerEventObjects, 0, sizeof(gLinkPlayerEventObjects)); } @@ -2906,7 +2906,7 @@ static void ZeroEventObject(struct EventObject *eventObj) static void SpawnLinkPlayerEventObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) { - u8 eventObjId = sub_808D4F4(); + u8 eventObjId = GetFirstInactiveEventObjectId(); struct LinkPlayerEventObject *linkPlayerEventObj = &gLinkPlayerEventObjects[linkPlayerId]; struct EventObject *eventObj = &gEventObjects[eventObjId]; @@ -3059,7 +3059,7 @@ static u8 sub_8087A20(struct LinkPlayerEventObject *linkPlayerEventObj, struct E else { eventObj->directionSequenceIndex = 16; - npc_coords_shift(eventObj, x, y); + ShiftEventObjectCoords(eventObj, x, y); EventObjectUpdateZCoord(eventObj); return 1; } @@ -3083,7 +3083,7 @@ static void sub_8087AA8(struct LinkPlayerEventObject *linkPlayerEventObj, struct MoveCoords(eventObj->range.as_byte, &eventObj->initialCoords.x, &eventObj->initialCoords.y); if (!eventObj->directionSequenceIndex) { - npc_coords_shift_still(eventObj); + ShiftStillEventObjectCoords(eventObj); linkPlayerEventObj->mode = 2; } } @@ -3166,11 +3166,11 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) sprite->oam.priority = ZCoordToPriority(eventObj->previousElevation); if (!linkPlayerEventObj->mode) - StartSpriteAnim(sprite, EventObjectDirectionToImageAnimId(eventObj->range.as_byte)); + StartSpriteAnim(sprite, GetFaceDirectionAnimNum(eventObj->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(eventObj->range.as_byte)); + StartSpriteAnimIfDifferent(sprite, GetMoveDirectionAnimNum(eventObj->range.as_byte)); - sub_80979D4(sprite, 0); + UpdateEventObjectSpriteVisibility(sprite, 0); if (eventObj->triggerGroundEffectsOnMove) { sprite->invisible = ((sprite->data[7] & 4) >> 2); diff --git a/src/rom6.c b/src/rom6.c index 60447f641..cdc1064dd 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -61,8 +61,8 @@ static void task08_080C9820(u8 taskId) ScriptContext2_Enable(); gPlayerAvatar.preventStep = TRUE; eventObjId = gPlayerAvatar.eventObjectId; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(&gEventObjects[eventObjId]) - || EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[eventObjId])) + 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(); - EventObjectSetSpecialAnim(&gEventObjects[eventObjId], 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 (EventObjectCheckIfSpecialAnimFinishedOrInactive(&gEventObjects[gPlayerAvatar.eventObjectId]) == 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) diff --git a/src/scrcmd.c b/src/scrcmd.c index e3edb5abf..4e3fceb10 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1157,7 +1157,7 @@ bool8 ScrCmd_faceplayer(struct ScriptContext *ctx) if (gEventObjects[gSelectedEventObject].active) { EventObjectFaceOppositeDirection(&gEventObjects[gSelectedEventObject], - player_get_direction_lower_nybble()); + GetPlayerFacingDirection()); } return FALSE; } @@ -1244,7 +1244,7 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) HideFieldMessageBox(); objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); sub_80D338C(); UnfreezeEventObjects(); return FALSE; @@ -1256,9 +1256,9 @@ bool8 ScrCmd_release(struct ScriptContext *ctx) HideFieldMessageBox(); if (gEventObjects[gSelectedEventObject].active) - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[gSelectedEventObject]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[objectId]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); sub_80D338C(); UnfreezeEventObjects(); return FALSE; @@ -2238,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; diff --git a/src/script_movement.c b/src/script_movement.c index 27280addf..9fee9e060 100644 --- a/src/script_movement.c +++ b/src/script_movement.c @@ -189,7 +189,7 @@ static void UnfreezeObjects(u8 taskId) for (i = 0; i < 16; i++, pEventObjId++) { if (*pEventObjId != 0xFF) - npc_sync_anim_pause_bits(&gEventObjects[*pEventObjId]); + UnfreezeEventObject(&gEventObjects[*pEventObjId]); } } @@ -210,8 +210,8 @@ static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d) { u8 var; - if (EventObjectIsSpecialAnimActive(&gEventObjects[eventObjId]) - && !EventObjectClearAnimIfSpecialAnimFinished(&gEventObjects[eventObjId])) + if (EventObjectIsHeldMovementActive(&gEventObjects[eventObjId]) + && !EventObjectClearHeldMovementIfFinished(&gEventObjects[eventObjId])) return; var = *d; @@ -222,7 +222,7 @@ static void sub_80A2490(u8 taskId, u8 b, u8 eventObjId, const u8 *d) } else { - if (!EventObjectSetSpecialAnim(&gEventObjects[eventObjId], var)) + if (!EventObjectSetHeldMovement(&gEventObjects[eventObjId], var)) { d++; npc_obj_offscreen_culling_and_flag_update(b, d); diff --git a/src/trainer_see.c b/src/trainer_see.c index cf47bbe2a..f5e9c300e 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -362,7 +362,7 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 ap 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; } @@ -373,7 +373,7 @@ static u8 CheckPathBetweenTrainerAndPlayer(struct EventObject *trainerObj, u8 ap 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; @@ -439,16 +439,16 @@ static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *train u8 direction; EventObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]); - FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1); - direction = GetFaceDirectionAnimId(trainerObj->facingDirection); - EventObjectSetSpecialAnim(trainerObj, direction); + 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 EventObject *trainerObj) { - if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON_1)) + if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON)) { return FALSE; } @@ -465,16 +465,16 @@ static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *train static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (!(EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj)) || EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (!(EventObjectIsMovementOverridden(trainerObj)) || EventObjectClearHeldMovementIfFinished(trainerObj)) { if (task->tTrainerRange) { - EventObjectSetSpecialAnim(trainerObj, GetGoSpeed0AnimId(trainerObj->facingDirection)); + EventObjectSetHeldMovement(trainerObj, GetWalkNormalMovementAction(trainerObj->facingDirection)); task->tTrainerRange--; } else { - EventObjectSetSpecialAnim(trainerObj, 0x3E); + EventObjectSetHeldMovement(trainerObj, 0x3E); task->tFuncId++; } } @@ -485,19 +485,19 @@ static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *train { struct EventObject *playerObj; - if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) && !EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (EventObjectIsMovementOverridden(trainerObj) && !EventObjectClearHeldMovementIfFinished(trainerObj)) return FALSE; - npc_set_running_behaviour_etc(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); - sub_808F23C(trainerObj, npc_running_behaviour_by_direction(trainerObj->facingDirection)); - sub_808F208(trainerObj); + SetTrainerMovementType(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + TryOverrideTemplateCoordsForEventObject(trainerObj, GetTrainerFacingDirectionMovementType(trainerObj->facingDirection)); + OverrideTemplateCoordsForEventObject(trainerObj); playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) && !EventObjectClearAnimIfSpecialAnimFinished(playerObj)) + if (EventObjectIsMovementOverridden(playerObj) && !EventObjectClearHeldMovementIfFinished(playerObj)) return FALSE; sub_808BCE8(); - EventObjectSetSpecialAnim(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection))); + EventObjectSetHeldMovement(&gEventObjects[gPlayerAvatar.eventObjectId], GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection))); task->tFuncId++; return FALSE; } @@ -506,18 +506,18 @@ static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *train { struct EventObject *playerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) - || EventObjectClearAnimIfSpecialAnimFinished(playerObj)) + if (!EventObjectIsMovementOverridden(playerObj) + || EventObjectClearHeldMovementIfFinished(playerObj)) SwitchTaskToFollowupFunc(taskId); return FALSE; } static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) - || EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (!EventObjectIsMovementOverridden(trainerObj) + || EventObjectClearHeldMovementIfFinished(trainerObj)) { - EventObjectSetSpecialAnim(trainerObj, 0x59); + EventObjectSetHeldMovement(trainerObj, 0x59); task->tFuncId++; } return FALSE; @@ -525,7 +525,7 @@ static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *train static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (EventObjectClearHeldMovementIfFinished(trainerObj)) task->tFuncId = 3; return FALSE; @@ -533,10 +533,10 @@ static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *train static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (!EventObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) - || EventObjectClearAnimIfSpecialAnimFinished(trainerObj)) + if (!EventObjectIsMovementOverridden(trainerObj) + || EventObjectClearHeldMovementIfFinished(trainerObj)) { - EventObjectSetSpecialAnim(trainerObj, 0x3E); + EventObjectSetHeldMovement(trainerObj, 0x3E); task->tFuncId++; } return FALSE; @@ -544,7 +544,7 @@ static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *train static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *trainerObj) { - if (EventObjectCheckIfSpecialAnimFinishedOrInactive(trainerObj)) + if (EventObjectCheckHeldMovementStatus(trainerObj)) { gFieldEffectArguments[0] = trainerObj->currentCoords.x; gFieldEffectArguments[1] = trainerObj->currentCoords.y; @@ -567,8 +567,8 @@ static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *train sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; - EventObjectClearAnimIfSpecialAnimFinished(trainerObj); - EventObjectSetSpecialAnim(trainerObj, sub_80934BC(trainerObj->facingDirection)); + EventObjectClearHeldMovementIfFinished(trainerObj); + EventObjectSetHeldMovement(trainerObj, GetJumpInPlaceMovementAction(trainerObj->facingDirection)); task->tFuncId++; } @@ -597,14 +597,14 @@ static void sub_80B44C8(u8 taskId) LoadWordFromTwoHalfwords(&task->data[1], (u32 *)&eventObj); if (!task->data[7]) { - EventObjectClearAnim(eventObj); + EventObjectClearHeldMovement(eventObj); task->data[7]++; } sTrainerSeeFuncList2[task->data[0]](taskId, task, eventObj); if (task->data[0] == 3 && !FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH)) { - npc_set_running_behaviour_etc(eventObj, npc_running_behaviour_by_direction(eventObj->facingDirection)); - sub_808F23C(eventObj, npc_running_behaviour_by_direction(eventObj->facingDirection)); + SetTrainerMovementType(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection)); + TryOverrideTemplateCoordsForEventObject(eventObj, GetTrainerFacingDirectionMovementType(eventObj->facingDirection)); DestroyTask(taskId); } else @@ -659,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; } @@ -764,14 +764,14 @@ void sub_80B4808(void) if (gUnknown_030060AC == 1) { trainerObj = &gEventObjects[gApproachingTrainers[gUnknown_03006080].eventObjectId]; - gUnknown_03006084[0] = GetFaceDirectionAnimId(GetOppositeDirection(trainerObj->facingDirection)); + gUnknown_03006084[0] = GetFaceDirectionMovementAction(GetOppositeDirection(trainerObj->facingDirection)); gUnknown_03006084[1] = 0xFE; ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); } else { trainerObj = &gEventObjects[gPlayerAvatar.eventObjectId]; - gUnknown_03006084[0] = GetFaceDirectionAnimId(trainerObj->facingDirection); + gUnknown_03006084[0] = GetFaceDirectionMovementAction(trainerObj->facingDirection); gUnknown_03006084[1] = 0xFE; ScriptMovement_StartObjectMovementScript(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, gUnknown_03006084); } -- cgit v1.2.3 From 7a9c9bee854a77adf2e06ba4608ebc770a431a5f Mon Sep 17 00:00:00 2001 From: Avara <31101124+Mother-Of-Dragons@users.noreply.github.com> Date: Thu, 14 Jun 2018 14:34:19 +0100 Subject: tileset_anims.c typo fix --- src/tileset_anims.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/tileset_anims.c b/src/tileset_anims.c index ebdea4b86..aaa05bcc8 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -121,13 +121,13 @@ const u16 gTilesetAnims_General4_Frame1[] = INCBIN_U16("data/tilesets/primary/ge const u16 gTilesetAnims_General4_Frame2[] = INCBIN_U16("data/tilesets/primary/general/anim/4/2.4bpp"); -const u16 gTilesetAnims_General4_Frame4[] = INCBIN_U16("data/tilesets/primary/general/anim/4/3.4bpp"); +const u16 gTilesetAnims_General4_Frame3[] = INCBIN_U16("data/tilesets/primary/general/anim/4/3.4bpp"); const u16 *const gTilesetAnims_General4[] = { gTilesetAnims_General4_Frame0, gTilesetAnims_General4_Frame1, gTilesetAnims_General4_Frame2, - gTilesetAnims_General4_Frame4 + gTilesetAnims_General4_Frame3 }; const u16 gTilesetAnims_Lavaridge0_Frame0[] = INCBIN_U16("data/tilesets/secondary/lavaridge/anim/0.4bpp"); -- cgit v1.2.3 From acc1a5d4461476567facf08ee0fa64e28cdd3c76 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 14 Jun 2018 22:00:09 -0500 Subject: Get all map constants from include/ rather than constants/ --- src/field_door.c | 2 +- src/wild_encounter.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/field_door.c b/src/field_door.c index f73c6bb55..fe9de01fd 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -889,7 +889,7 @@ bool8 sub_808A964(void) { if (FlagGet(FLAG_SPECIAL_FLAG_0x4002)) { - if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2)) + if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2)) { return TRUE; } diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 279b6e672..862672e19 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3437,8 +3437,8 @@ const struct WildPokemonHeader gWildMonHeaders[] = .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTH), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTH), .landMonsInfo = &gSafariZone_South_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, @@ -3861,8 +3861,8 @@ const struct WildPokemonHeader gWildMonHeaders[] = .fishingMonsInfo = &gSafariZone_Southwest_FishingMonsInfo, }, { - .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), - .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTH), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTH), .landMonsInfo = &gSafariZone_North_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = &gSafariZone_North_RockSmashMonsInfo, @@ -4053,16 +4053,16 @@ const struct WildPokemonHeader gWildMonHeaders[] = .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(SAFARI_ZONE_EM_2), - .mapNum = MAP_NUM(SAFARI_ZONE_EM_2), + .mapGroup = MAP_GROUP(SAFARI_ZONE_SOUTHEAST), + .mapNum = MAP_NUM(SAFARI_ZONE_SOUTHEAST), .landMonsInfo = &gSafariZone_Southeast_LandMonsInfo, .waterMonsInfo = &gSafariZone_Southeast_WaterMonsInfo, .rockSmashMonsInfo = NULL, .fishingMonsInfo = &gSafariZone_Southeast_FishingMonsInfo, }, { - .mapGroup = MAP_GROUP(SAFARI_ZONE_EM_1), - .mapNum = MAP_NUM(SAFARI_ZONE_EM_1), + .mapGroup = MAP_GROUP(SAFARI_ZONE_NORTHEAST), + .mapNum = MAP_NUM(SAFARI_ZONE_NORTHEAST), .landMonsInfo = &gSafariZone_Northeast_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = &gSafariZone_Northeast_RockSmashMonsInfo, -- cgit v1.2.3 From 7ea5dd7923eb9a44609a6cdaff331f7cd97bb34a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 16 Jun 2018 00:45:48 +0200 Subject: start fldeffect cut --- src/data/field_event_obj/event_object_graphics.h | 4 +- src/field_tasks.c | 2 +- src/fldeff_cut.c | 610 ++++++++++++++++++++++- src/fldeff_flash.c | 8 +- src/fldeff_strength.c | 6 +- src/fldeff_sweetscent.c | 4 +- src/fldeff_teleport.c | 4 +- src/metatile_behavior.c | 2 +- src/overworld.c | 12 +- src/rom6.c | 26 +- src/start_menu.c | 2 +- 11 files changed, 638 insertions(+), 42 deletions(-) (limited to 'src') diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h index 3d4303189..b226b066a 100755 --- a/src/data/field_event_obj/event_object_graphics.h +++ b/src/data/field_event_obj/event_object_graphics.h @@ -1376,7 +1376,9 @@ const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/event_objec const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_medium.4bpp"); const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_large.4bpp"); const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_extra_large.4bpp"); -const u32 gUnknown_084F6D38[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_4F6D38/0.4bpp"); +const u32 filler_8368A08[0x48] = {}; +const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/event_objects/pics/effects/cut_grass.4bpp"); +const u32 gFieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/event_objects/pics/effects/cut_grass.4bpp"); const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_06.gbapal"); const u32 gFieldEffectObjectPic_Ripple_0[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/0.4bpp"); const u32 gFieldEffectObjectPic_Ripple_1[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple/1.4bpp"); diff --git a/src/field_tasks.c b/src/field_tasks.c index d9c3078da..59990f22e 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -623,7 +623,7 @@ static void PerStepCallback_8069F64(u8 taskId) { data[1] = x; data[2] = y; - if (MetatileBehavior_IsAsh(MapGridGetMetatileBehaviorAt(x, y))) + if (MetatileBehavior_IsAshGrass(MapGridGetMetatileBehaviorAt(x, y))) { if (MapGridGetMetatileIdAt(x, y) == 0x20a) { diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 9929dd6f9..a007c8ca7 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -1,19 +1,613 @@ - -// Includes #include "global.h" +#include "field_camera.h" +#include "field_effect.h" +#include "event_object_movement.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "event_obj_lock.h" +#include "metatile_behavior.h" +#include "party_menu.h" +#include "overworld.h" +#include "script.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "trig.h" +#include "malloc.h" +#include "constants/event_objects.h" +#include "constants/songs.h" +#include "constants/abilities.h" + +// tileset 0 as first +#define METATILE_ID_GRASS 0x1 +#define METATILE_ID_POKE_GRASS 0xD + +#define METATILE_ID_POKE_GRASS_TREE_UP 0x25 +#define METATILE_ID_GRASS_TREE_UP 0xE + +#define METATILE_ID_POKE_GRASS_TREE_LEFT 0x1C6 +#define METATILE_ID_POKE_GRASS_TREE_RIGHT 0x1C7 + +#define METATILE_ID_GRASS_TREE_LEFT 0x1CE +#define METATILE_ID_GRASS_TREE_RIGHT 0x1CF + +#define METATILE_ID_POKE_TALL_GRASS 0x15 + +// tileset 6 as second +#define METATILE_ID_POKE_STEP_LAVA_GRASS 0x206 +#define METATILE_ID_POKE_LAVA_GRASS 0x207 +#define METATILE_ID_LAVA_FIELD 0x271 + +// tileset 7 as second +#define METATILE_ID_POKE_ASH_GRASS 0x20A +#define METATILE_ID_POKE_STEP_ASH_GRASS 0x212 +#define METATILE_ID_ASH 0x218 + +// tileset 8 as second +#define METATILE_ID_POKE_TALL_GRASS_START 0x208 + +#define METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS 0x279 +#define METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS 0x27A +#define METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS 0x27B + +#define METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS 0x281 +#define METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS 0x282 +#define METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS 0x283 + +extern bool8 SetLastTalkedObjectInFrontOfPlayer(u8); +extern u8 oei_task_add(void); + +extern struct MapPosition gPlayerFacingPosition; +extern u8 *gCutGrassSpriteArrayPtr; + +extern const u8 Route103_EventScript_290705[]; +extern const u8 gFieldEffectPic_CutGrass[]; +extern const u16 gFieldEffectObjectPalette6[]; + +#define CUT_NORMAL_SIDE 3 +#define CUT_NORMAL_AREA CUT_NORMAL_SIDE * CUT_NORMAL_SIDE +/* P - player + X - cut area + + XXX + XPX + XXX +*/ -// Static type declarations +#define CUT_HYPER_SIDE 5 +#define CUT_HYPER_AREA CUT_HYPER_SIDE * CUT_HYPER_SIDE +/* P - player + X - cut area -// Static RAM declarations + XXXXX + XXXXX + XXPXX + XXXXX + XXXXX +*/ IWRAM_DATA u8 gUnknown_03001100; IWRAM_DATA u8 gUnknown_03001101; IWRAM_DATA u8 gUnknown_03001102; IWRAM_DATA u32 fldeff_cut_unused_03001104; -IWRAM_DATA u8 gUnknown_03001108[25]; +IWRAM_DATA bool8 gUnknown_03001108[CUT_HYPER_AREA]; + +struct HyperCutterUnk +{ + s8 x; + s8 y; + u8 unk2[2]; +}; + +const struct HyperCutterUnk gUnknown_0857C608[] = +{ + {-2, -2, {1}}, + {-1, -2, {1}}, + {0, -2, {2}}, + {1, -2, {3}}, + {2, -2, {3}}, + {-2, -1, {1}}, + {2, -1, {3}}, + {-2, 0, {4}}, + {2, 0, {6}}, + {-2, 1, {7}}, + {2, 1, {9}}, + {-2, 2, {7}}, + {-1, 2, {7}}, + {0, 2, {8}}, + {1, 2, {9}}, + {2, 2, {9}}, +}; + +const struct OamData gOamData_CutGrass = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = 0, + .x = 0, + .matrixNum = 0, + .size = 0, + .tileNum = 1, + .priority = 1, + .paletteNum = 1, + .affineParam = 0, +}; + +const union AnimCmd gSpriteAnim_CutGrass[] = +{ + ANIMCMD_FRAME(0, 30), + ANIMCMD_JUMP(0), +}; + +const union AnimCmd *const gSpriteAnimTable_CutGrass[] = +{ + gSpriteAnim_CutGrass, +}; + +const struct SpriteFrameImage gSpriteImageTable_CutGrass[] = +{ + {gFieldEffectPic_CutGrass, 0x20}, +}; + +const struct SpritePalette gFieldEffectObjectPaletteInfo6 = {gFieldEffectObjectPalette6, 0x1000}; + +void FieldCallback_CutTree(void); +void FieldCallback_CutGrass(void); +void StartCutTreeFieldEffect(void); +void StartCutGrassFieldEffect(void); +void SetCutGrassMetatile(s16, s16); +void SetCutGrassMetatiles(s16, s16); +void CutGrassSpriteCallback1(struct Sprite *); +void CutGrassSpriteCallback2(struct Sprite *); +void CutGrassSpriteCallbackEnd(struct Sprite *); +void HandleTallGrassOnHyper(u8, s16, s16); + +const struct SpriteTemplate gSpriteTemplate_CutGrass = +{ + .tileTag = 0xFFFF, + .paletteTag = 0x1000, + .oam = &gOamData_CutGrass, + .anims = gSpriteAnimTable_CutGrass, + .images = gSpriteImageTable_CutGrass, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = CutGrassSpriteCallback1, +}; + +bool8 SetUpFieldMove_Cut(void) +{ + s16 x, y; + u8 i, j; + u8 tileBehavior; + u8 userAbility; + bool8 array[CUT_NORMAL_AREA]; + bool8 ret; + + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) + { + // Standing in front of cuttable tree. + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutTree; + return TRUE; + } + else + { + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + userAbility = GetMonAbility(&gPlayerParty[GetCursorSelectionMonId()]); + if (userAbility == ABILITY_HYPER_CUTTER) + { + gUnknown_03001100 = 5; + gUnknown_03001101 = 2; + gUnknown_03001102 = 2; + } + else + { + gUnknown_03001100 = 3; + gUnknown_03001101 = 1; + gUnknown_03001102 = 1; + } + + for (i = 0; i < CUT_NORMAL_AREA; i++) + array[i] = FALSE; + for (i = 0; i < CUT_HYPER_AREA; i++) + gUnknown_03001108[i] = FALSE; + + ret = FALSE; + + for (i = 0; i < 3; i++) + { + y = i - 1 + gPlayerFacingPosition.y; + for (j = 0; j < 3; j++) + { + x = j - 1 + gPlayerFacingPosition.x; + if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) + { + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE + || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) + { + // Standing in front of grass. + gUnknown_03001108[6 + (i * 5) + j] = TRUE; + ret = TRUE; + } + if (MapGridIsImpassableAt(x, y) == TRUE) + { + array[i * 3 + j] = FALSE; + } + else + { + array[i * 3 + j] = TRUE; + if (MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) + gUnknown_03001108[6 + (i * 5) + j] = TRUE; + } + } + else + { + array[i * 3 + j] = FALSE; + } + } + } + + if (userAbility != ABILITY_HYPER_CUTTER) + { + if (ret == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + } + } + else + { + bool8 r7; + for (i = 0; i < 16; i++) + { + x = gPlayerFacingPosition.x + gUnknown_0857C608[i].x; + y = gPlayerFacingPosition.y + gUnknown_0857C608[i].y; + r7 = TRUE; + + j = 0; + while (1) + { + if (gUnknown_0857C608[i].unk2[j] == 0) + break; + if (array[(u8)(gUnknown_0857C608[i].unk2[j] - 1)] == FALSE) + { + r7 = FALSE; + break; + } + if (++j >= 2) + break; + } + + if (r7 == TRUE) + { + if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) + { + u8 r6 = ((gUnknown_0857C608[i].y * 5) + 12) + (gUnknown_0857C608[i].x); + tileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE + || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + gUnknown_03001108[r6] = r7; + ret = TRUE; + } + else + { + if (MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) + gUnknown_03001108[r6] = TRUE; + } + } + } + } + + if (ret == TRUE) + { + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FieldCallback_CutGrass; + } + } + + return ret; + } +} + +void FieldCallback_CutGrass(void) +{ + FieldEffectStart(FLDEFF_USE_CUT_ON_GRASS); + gFieldEffectArguments[0] = GetCursorSelectionMonId(); +} + +bool8 FldEff_UseCutOnGrass(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)StartCutGrassFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartCutGrassFieldEffect; + IncrementGameStat(GAME_STAT_USED_CUT); + return FALSE; +} + +void FieldCallback_CutTree(void) +{ + gFieldEffectArguments[0] = GetCursorSelectionMonId(); + ScriptContext1_SetupScript(Route103_EventScript_290705); +} + +bool8 FldEff_UseCutOnTree(void) +{ + u8 taskId = oei_task_add(); + + gTasks[taskId].data[8] = (u32)StartCutTreeFieldEffect >> 16; + gTasks[taskId].data[9] = (u32)StartCutTreeFieldEffect; + IncrementGameStat(GAME_STAT_USED_CUT); + return FALSE; +} + +void StartCutGrassFieldEffect(void) +{ + FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS); + FieldEffectStart(FLDEFF_CUT_GRASS); +} + +bool8 FldEff_CutGrass(void) +{ + s16 x, y; + u8 tileBehavior; + u8 i; + + for (i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < 25; i++) + { + if (gUnknown_03001108[i] == TRUE) + { + s8 xAdd = (i % 5) - 2; + s8 yAdd = (i / 5) - 2; + + x = xAdd + gPlayerFacingPosition.x; + y = yAdd + gPlayerFacingPosition.y; + + SetCutGrassMetatile(x, y); + sub_808E75C(x, y); + } + } + + SetCutGrassMetatiles(gPlayerFacingPosition.x - gUnknown_03001101, gPlayerFacingPosition.y + (~gUnknown_03001102)); + DrawWholeMapView(); + gCutGrassSpriteArrayPtr = AllocZeroed(8); + + // populate sprite ID array + for (i = 0; i < 8; i++) + { + gCutGrassSpriteArrayPtr[i] = CreateSprite(&gSpriteTemplate_CutGrass, + gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); + gSprites[gCutGrassSpriteArrayPtr[i]].data[2] = 32 * i; + } + + return FALSE; +} + +// set map grid metatile depending on x, y +void SetCutGrassMetatile(s16 x, s16 y) +{ + s32 metatileId = MapGridGetMetatileIdAt(x, y); + + switch (metatileId) + { + case METATILE_ID_POKE_TALL_GRASS_START: + case METATILE_ID_POKE_TALL_GRASS: + case METATILE_ID_POKE_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_GRASS); + break; + case METATILE_ID_POKE_GRASS_TREE_LEFT: + MapGridSetMetatileIdAt(x, y, METATILE_ID_GRASS_TREE_LEFT); + break; + case METATILE_ID_POKE_GRASS_TREE_RIGHT: + MapGridSetMetatileIdAt(x, y, METATILE_ID_GRASS_TREE_RIGHT); + break; + case METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); + break; + case METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); + break; + case METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + break; + case METATILE_ID_POKE_STEP_LAVA_GRASS: + case METATILE_ID_POKE_LAVA_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_LAVA_FIELD); + break; + case METATILE_ID_POKE_STEP_ASH_GRASS: + case METATILE_ID_POKE_ASH_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_ASH); + break; + case METATILE_ID_POKE_GRASS_TREE_UP: + MapGridSetMetatileIdAt(x, y, METATILE_ID_GRASS_TREE_UP); + break; + } +} + +enum +{ + TALL_GRASS_NONE, + TALL_GRASS_FIELD, + TALL_GRASS_BASE_LEFT, + TALL_GRASS_BASE_CENTER, + TALL_GRASS_BASE_RIGHT +}; + +u8 GetTallGrassCaseAt(s16 x, s16 y) +{ + u16 metatileId = MapGridGetMetatileIdAt(x, y); + + if (metatileId == METATILE_ID_GRASS) + return TALL_GRASS_FIELD; + else if (metatileId == METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS) + return TALL_GRASS_BASE_LEFT; + else if (metatileId == METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS) + return TALL_GRASS_BASE_CENTER; + else if (metatileId == METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS) + return TALL_GRASS_BASE_RIGHT; + else + return TALL_GRASS_NONE; +} + +void SetCutGrassMetatiles(s16 x, s16 y) +{ + s16 i; + s16 lowerY = y + gUnknown_03001100; + + for (i = 0; i < gUnknown_03001100; i++) + { + s16 currentX = x + i; + if (MapGridGetMetatileIdAt(currentX, y) == METATILE_ID_POKE_TALL_GRASS) + { + switch (GetTallGrassCaseAt(currentX, y + 1)) + { + case TALL_GRASS_FIELD: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_POKE_TALL_GRASS_START); + break; + case TALL_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS); + break; + case TALL_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS); + break; + case TALL_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS); + break; + } + } + if (MapGridGetMetatileIdAt(currentX, lowerY) == METATILE_ID_GRASS) + { + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_POKE_TALL_GRASS_START) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_GRASS); + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + } + } + + if (gUnknown_03001100 == CUT_HYPER_SIDE) + { + HandleTallGrassOnHyper(0, x, y); + HandleTallGrassOnHyper(1, x, y); + } +} + +void HandleTallGrassOnHyper(u8 caseId, s16 x, s16 y) +{ + s16 newX; + bool8 arr[3]; + + if (caseId == 0) + { + arr[0] = gUnknown_03001108[5]; + arr[1] = gUnknown_03001108[10]; + arr[2] = gUnknown_03001108[15]; + newX = x; + } + else if (caseId == 1) + { + arr[0] = gUnknown_03001108[9]; + arr[1] = gUnknown_03001108[14]; + arr[2] = gUnknown_03001108[19]; + newX = x + 4; + } + else // invalid case + { + return; + } + + if (arr[0] == TRUE) + { + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_POKE_TALL_GRASS_START) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + } + if (arr[1] == TRUE) + { + if (MapGridGetMetatileIdAt(newX, y + 2) == METATILE_ID_POKE_TALL_GRASS) + { + switch (GetTallGrassCaseAt(newX, y + 3)) + { + case TALL_GRASS_FIELD: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_POKE_TALL_GRASS_START); + break; + case TALL_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS); + break; + case TALL_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS); + break; + case TALL_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS); + break; + } + } + + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_POKE_TALL_GRASS_START) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + } + if (arr[2] == TRUE) + { + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_POKE_TALL_GRASS) + { + switch (GetTallGrassCaseAt(newX, y + 4)) + { + case TALL_GRASS_FIELD: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_POKE_TALL_GRASS_START); + break; + case TALL_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS); + break; + case TALL_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS); + break; + case TALL_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS); + break; + } + } + } +} + +void CutGrassSpriteCallback1(struct Sprite *sprite) +{ + sprite->data[0] = 8; + sprite->data[1] = 0; + sprite->data[3] = 0; + sprite->callback = CutGrassSpriteCallback2; +} -// Static ROM declarations +void CutGrassSpriteCallback2(struct Sprite *sprite) +{ + sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]); + sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]); -// .rodata + sprite->data[2] = (sprite->data[2] + 8) & 0xFF; + sprite->data[0] += 1 + (sprite->data[3] >> 2); // right shift by 2 is dividing by 4 + sprite->data[3]++; -// .text + if (sprite->data[1] != 28) + sprite->data[1]++; + else + sprite->callback = CutGrassSpriteCallbackEnd; // done rotating the grass, execute clean up function +} diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 4f3a091ce..654f02c23 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -78,14 +78,14 @@ bool8 SetUpFieldMove_Flash(void) if (ShouldDoBrailleFlyEffect()) { gSpecialVar_Result = GetCursorSelectionMonId(); - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = sub_8179918; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_8179918; return TRUE; } else if (gMapHeader.cave == TRUE && !FlagGet(FLAG_SYS_USE_FLASH)) { - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = hm2_flash; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm2_flash; return TRUE; } diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 162479c73..52b76edb4 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -14,11 +14,11 @@ static void sub_8145E74(void); // text bool8 SetUpFieldMove_Strength(void) { - if (npc_before_player_of_type(87) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(87) == TRUE) { gSpecialVar_Result = GetCursorSelectionMonId(); - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = FldEff_UseStrength; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = FldEff_UseStrength; return TRUE; } return FALSE; diff --git a/src/fldeff_sweetscent.c b/src/fldeff_sweetscent.c index 100e440a5..14da87eb3 100644 --- a/src/fldeff_sweetscent.c +++ b/src/fldeff_sweetscent.c @@ -24,8 +24,8 @@ void sub_81BE72C(void); bool8 SetUpFieldMove_SweetScent(void) { - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = hm2_sweet_scent; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm2_sweet_scent; return TRUE; } diff --git a/src/fldeff_teleport.c b/src/fldeff_teleport.c index 1b88b42d7..e82a26cd1 100644 --- a/src/fldeff_teleport.c +++ b/src/fldeff_teleport.c @@ -11,8 +11,8 @@ bool8 SetUpFieldMove_Teleport(void) { if (Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType) == TRUE) { - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = hm_teleport_run_dp02scr; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm_teleport_run_dp02scr; return TRUE; } return FALSE; diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index ad0062c20..a5e328e4a 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -846,7 +846,7 @@ bool8 MetatileBehavior_IsBerryTreeSoil(u8 var) return FALSE; } -bool8 MetatileBehavior_IsAsh(u8 var) +bool8 MetatileBehavior_IsAshGrass(u8 var) { if (var == MB_ASHGRASS) return TRUE; diff --git a/src/overworld.c b/src/overworld.c index 1e4116053..99670dfe2 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -88,7 +88,7 @@ extern const u16 gUnknown_82EC7C4[]; u16 gUnknown_03005DA8; MainCallback gFieldCallback; -bool8 (*gUnknown_03005DB0)(void); +bool8 (*gFieldCallback2)(void); u8 gUnknown_03005DB4; u8 gFieldLinkPlayerCount; @@ -1518,15 +1518,15 @@ void sub_8085E94(void *a0) static bool8 map_post_load_hook_exec(void) { - if (gUnknown_03005DB0 != NULL) + if (gFieldCallback2 != NULL) { - if (!gUnknown_03005DB0()) + if (!gFieldCallback2()) { return FALSE; } else { - gUnknown_03005DB0 = NULL; + gFieldCallback2 = NULL; gFieldCallback = NULL; } } @@ -1554,7 +1554,7 @@ void CB2_NewGame(void) ScriptContext1_Init(); ScriptContext2_Disable(); gFieldCallback = ExecuteTruckSequence; - gUnknown_03005DB0 = NULL; + gFieldCallback2 = NULL; do_load_map_stuff_loop(&gMain.state); SetFieldVBlankCallback(); SetMainCallback1(CB1_Overworld); @@ -1684,7 +1684,7 @@ void c2_8056854(void) void CB2_ReturnToFieldWithOpenMenu(void) { FieldClearVBlankHBlankCallbacks(); - gUnknown_03005DB0 = sub_80AF6A4; + gFieldCallback2 = sub_80AF6A4; CB2_ReturnToField(); } diff --git a/src/rom6.c b/src/rom6.c index cdc1064dd..cec2cfcb6 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -27,16 +27,16 @@ static void hm2_dig(void); static void sub_8135780(void); // extern RAM loc -extern struct MapPosition gUnknown_0203AB40; +extern struct MapPosition gPlayerFacingPosition; // text -bool8 npc_before_player_of_type(u8 a) +bool8 SetLastTalkedObjectInFrontOfPlayer(u8 a) { u8 eventObjId; - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203AB40.x, &gUnknown_0203AB40.y); - gUnknown_0203AB40.height = PlayerGetZCoord(); - eventObjId = GetEventObjectIdByXYZ(gUnknown_0203AB40.x, gUnknown_0203AB40.y, gUnknown_0203AB40.height); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + gPlayerFacingPosition.height = PlayerGetZCoord(); + eventObjId = GetEventObjectIdByXYZ(gPlayerFacingPosition.x, gPlayerFacingPosition.y, gPlayerFacingPosition.height); if (gEventObjects[eventObjId].graphicsId != a) { return FALSE; @@ -50,7 +50,7 @@ bool8 npc_before_player_of_type(u8 a) u8 oei_task_add(void) { - GetXYCoordsOneStepInFrontOfPlayer(&gUnknown_0203AB40.x, &gUnknown_0203AB40.y); + GetXYCoordsOneStepInFrontOfPlayer(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); return CreateTask(task08_080C9820, 8); } @@ -121,14 +121,14 @@ bool8 SetUpFieldMove_RockSmash(void) if(ShouldDoBrailleStrengthEffect()) { gSpecialVar_Result = GetCursorSelectionMonId(); - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = sub_8179834; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_8179834; return TRUE; } - else if (npc_before_player_of_type(0x56) == TRUE) + else if (SetLastTalkedObjectInFrontOfPlayer(0x56) == TRUE) { - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = sub_81356C4; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = sub_81356C4; return TRUE; } else @@ -164,8 +164,8 @@ bool8 SetUpFieldMove_Dig(void) { if (CanUseEscapeRopeOnCurrMap() == TRUE) { - gUnknown_03005DB0 = FieldCallback_Teleport; - gUnknown_0203CEEC = hm2_dig; + gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; + gPostMenuFieldCallback = hm2_dig; return TRUE; } else diff --git a/src/start_menu.c b/src/start_menu.c index 7080ae6a8..6371acff0 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -530,7 +530,7 @@ void sub_809FA18(void) // Called from field_screen.s { sUnknown_02037619[0] = 0; sUnknown_02037619[1] = 0; - gUnknown_03005DB0 = sub_809FA00; + gFieldCallback2 = sub_809FA00; } void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s -- cgit v1.2.3 From 3bcd30969a8b7ced6e9fa54e1fc0f8447c2983bc Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 16 Jun 2018 14:04:29 +0200 Subject: cut field effect is decompiled and documented --- src/event_obj_lock.c | 2 +- src/fldeff_cut.c | 445 +++++++++++++++++++++++++++++---------------------- src/item_use.c | 8 +- src/start_menu.c | 10 +- 4 files changed, 268 insertions(+), 197 deletions(-) (limited to 'src') diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index efa498c0f..8c324ea82 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -87,7 +87,7 @@ void LockSelectedEventObject(void) } } -void sub_80984F4(void) +void ScriptUnfreezeEventObjects(void) { u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index a007c8ca7..615de0202 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -1,4 +1,5 @@ #include "global.h" +#include "fldeff_cut.h" #include "field_camera.h" #include "field_effect.h" #include "event_object_movement.h" @@ -18,6 +19,19 @@ #include "constants/songs.h" #include "constants/abilities.h" +extern bool8 SetLastTalkedObjectInFrontOfPlayer(u8); +extern u8 oei_task_add(void); +extern void ScriptUnfreezeEventObjects(void); +extern bool8 IsMewPlayingHideAndSeek(void); + +extern struct MapPosition gPlayerFacingPosition; + +extern const u8 Route103_EventScript_290705[]; +extern const u8 FarawayIsland_Interior_EventScript_267EDB[]; + +extern const u8 gFieldEffectPic_CutGrass[]; +extern const u16 gFieldEffectObjectPalette6[]; + // tileset 0 as first #define METATILE_ID_GRASS 0x1 #define METATILE_ID_POKE_GRASS 0xD @@ -31,7 +45,7 @@ #define METATILE_ID_GRASS_TREE_LEFT 0x1CE #define METATILE_ID_GRASS_TREE_RIGHT 0x1CF -#define METATILE_ID_POKE_TALL_GRASS 0x15 +#define METATILE_ID_POKE_LONG_GRASS 0x15 // tileset 6 as second #define METATILE_ID_POKE_STEP_LAVA_GRASS 0x206 @@ -44,53 +58,24 @@ #define METATILE_ID_ASH 0x218 // tileset 8 as second -#define METATILE_ID_POKE_TALL_GRASS_START 0x208 - -#define METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS 0x279 -#define METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS 0x27A -#define METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS 0x27B - -#define METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS 0x281 -#define METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS 0x282 -#define METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS 0x283 - -extern bool8 SetLastTalkedObjectInFrontOfPlayer(u8); -extern u8 oei_task_add(void); +#define METATILE_ID_POKE_LONG_GRASS_START 0x208 -extern struct MapPosition gPlayerFacingPosition; -extern u8 *gCutGrassSpriteArrayPtr; +#define METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS 0x279 +#define METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS 0x27A +#define METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS 0x27B -extern const u8 Route103_EventScript_290705[]; -extern const u8 gFieldEffectPic_CutGrass[]; -extern const u16 gFieldEffectObjectPalette6[]; +#define METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS 0x281 +#define METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS 0x282 +#define METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS 0x283 +// cut 'square' defines #define CUT_NORMAL_SIDE 3 #define CUT_NORMAL_AREA CUT_NORMAL_SIDE * CUT_NORMAL_SIDE -/* P - player - X - cut area - - XXX - XPX - XXX -*/ #define CUT_HYPER_SIDE 5 #define CUT_HYPER_AREA CUT_HYPER_SIDE * CUT_HYPER_SIDE -/* P - player - X - cut area - - XXXXX - XXXXX - XXPXX - XXXXX - XXXXX -*/ - -IWRAM_DATA u8 gUnknown_03001100; -IWRAM_DATA u8 gUnknown_03001101; -IWRAM_DATA u8 gUnknown_03001102; -IWRAM_DATA u32 fldeff_cut_unused_03001104; -IWRAM_DATA bool8 gUnknown_03001108[CUT_HYPER_AREA]; + +#define CUT_SPRITE_ARRAY_COUNT 8 struct HyperCutterUnk { @@ -99,7 +84,30 @@ struct HyperCutterUnk u8 unk2[2]; }; -const struct HyperCutterUnk gUnknown_0857C608[] = +// this file's functions +static void FieldCallback_CutTree(void); +static void FieldCallback_CutGrass(void); +static void StartCutTreeFieldEffect(void); +static void StartCutGrassFieldEffect(void); +static void SetCutGrassMetatile(s16, s16); +static void SetCutGrassMetatiles(s16, s16); +static void CutGrassSpriteCallback1(struct Sprite *); +static void CutGrassSpriteCallback2(struct Sprite *); +static void CutGrassSpriteCallbackEnd(struct Sprite *); +static void HandleLongGrassOnHyper(u8, s16, s16); + +// IWRAM variables +static IWRAM_DATA u8 sCutSquareSide; +static IWRAM_DATA u8 sTileCountFromPlayer_X; +static IWRAM_DATA u8 sTileCountFromPlayer_Y; +static IWRAM_DATA u32 sUnused; +static IWRAM_DATA bool8 sHyperCutTiles[CUT_HYPER_AREA]; + +// EWRAM variables +static EWRAM_DATA u8 *sCutGrassSpriteArrayPtr = NULL; + +// const rom data +static const struct HyperCutterUnk sHyperCutStruct[] = { {-2, -2, {1}}, {-1, -2, {1}}, @@ -119,7 +127,7 @@ const struct HyperCutterUnk gUnknown_0857C608[] = {2, 2, {9}}, }; -const struct OamData gOamData_CutGrass = +static const struct OamData sOamData_CutGrass = { .y = 0, .affineMode = 0, @@ -136,53 +144,43 @@ const struct OamData gOamData_CutGrass = .affineParam = 0, }; -const union AnimCmd gSpriteAnim_CutGrass[] = +static const union AnimCmd sSpriteAnim_CutGrass[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gSpriteAnimTable_CutGrass[] = +static const union AnimCmd *const sSpriteAnimTable_CutGrass[] = { - gSpriteAnim_CutGrass, + sSpriteAnim_CutGrass, }; -const struct SpriteFrameImage gSpriteImageTable_CutGrass[] = +static const struct SpriteFrameImage sSpriteImageTable_CutGrass[] = { {gFieldEffectPic_CutGrass, 0x20}, }; const struct SpritePalette gFieldEffectObjectPaletteInfo6 = {gFieldEffectObjectPalette6, 0x1000}; -void FieldCallback_CutTree(void); -void FieldCallback_CutGrass(void); -void StartCutTreeFieldEffect(void); -void StartCutGrassFieldEffect(void); -void SetCutGrassMetatile(s16, s16); -void SetCutGrassMetatiles(s16, s16); -void CutGrassSpriteCallback1(struct Sprite *); -void CutGrassSpriteCallback2(struct Sprite *); -void CutGrassSpriteCallbackEnd(struct Sprite *); -void HandleTallGrassOnHyper(u8, s16, s16); - -const struct SpriteTemplate gSpriteTemplate_CutGrass = +static const struct SpriteTemplate sSpriteTemplate_CutGrass = { .tileTag = 0xFFFF, .paletteTag = 0x1000, - .oam = &gOamData_CutGrass, - .anims = gSpriteAnimTable_CutGrass, - .images = gSpriteImageTable_CutGrass, + .oam = &sOamData_CutGrass, + .anims = sSpriteAnimTable_CutGrass, + .images = sSpriteImageTable_CutGrass, .affineAnims = gDummySpriteAffineAnimTable, .callback = CutGrassSpriteCallback1, }; +// code bool8 SetUpFieldMove_Cut(void) { s16 x, y; u8 i, j; u8 tileBehavior; u8 userAbility; - bool8 array[CUT_NORMAL_AREA]; + bool8 cutTiles[CUT_NORMAL_AREA]; bool8 ret; if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) @@ -198,28 +196,28 @@ bool8 SetUpFieldMove_Cut(void) userAbility = GetMonAbility(&gPlayerParty[GetCursorSelectionMonId()]); if (userAbility == ABILITY_HYPER_CUTTER) { - gUnknown_03001100 = 5; - gUnknown_03001101 = 2; - gUnknown_03001102 = 2; + sCutSquareSide = CUT_HYPER_SIDE; + sTileCountFromPlayer_X = 2; + sTileCountFromPlayer_Y = 2; } else { - gUnknown_03001100 = 3; - gUnknown_03001101 = 1; - gUnknown_03001102 = 1; + sCutSquareSide = CUT_NORMAL_SIDE; + sTileCountFromPlayer_X = 1; + sTileCountFromPlayer_Y = 1; } for (i = 0; i < CUT_NORMAL_AREA; i++) - array[i] = FALSE; + cutTiles[i] = FALSE; for (i = 0; i < CUT_HYPER_AREA; i++) - gUnknown_03001108[i] = FALSE; + sHyperCutTiles[i] = FALSE; ret = FALSE; - for (i = 0; i < 3; i++) + for (i = 0; i < CUT_NORMAL_SIDE; i++) { y = i - 1 + gPlayerFacingPosition.y; - for (j = 0; j < 3; j++) + for (j = 0; j < CUT_NORMAL_SIDE; j++) { x = j - 1 + gPlayerFacingPosition.x; if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) @@ -229,23 +227,23 @@ bool8 SetUpFieldMove_Cut(void) || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) { // Standing in front of grass. - gUnknown_03001108[6 + (i * 5) + j] = TRUE; + sHyperCutTiles[6 + (i * 5) + j] = TRUE; ret = TRUE; } if (MapGridIsImpassableAt(x, y) == TRUE) { - array[i * 3 + j] = FALSE; + cutTiles[i * 3 + j] = FALSE; } else { - array[i * 3 + j] = TRUE; + cutTiles[i * 3 + j] = TRUE; if (MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) - gUnknown_03001108[6 + (i * 5) + j] = TRUE; + sHyperCutTiles[6 + (i * 5) + j] = TRUE; } } else { - array[i * 3 + j] = FALSE; + cutTiles[i * 3 + j] = FALSE; } } } @@ -260,45 +258,45 @@ bool8 SetUpFieldMove_Cut(void) } else { - bool8 r7; + bool8 tileCuttable; for (i = 0; i < 16; i++) { - x = gPlayerFacingPosition.x + gUnknown_0857C608[i].x; - y = gPlayerFacingPosition.y + gUnknown_0857C608[i].y; - r7 = TRUE; + x = gPlayerFacingPosition.x + sHyperCutStruct[i].x; + y = gPlayerFacingPosition.y + sHyperCutStruct[i].y; + tileCuttable = TRUE; j = 0; while (1) { - if (gUnknown_0857C608[i].unk2[j] == 0) + if (sHyperCutStruct[i].unk2[j] == 0) break; - if (array[(u8)(gUnknown_0857C608[i].unk2[j] - 1)] == FALSE) + if (cutTiles[(u8)(sHyperCutStruct[i].unk2[j] - 1)] == FALSE) { - r7 = FALSE; + tileCuttable = FALSE; break; } if (++j >= 2) break; } - if (r7 == TRUE) + if (tileCuttable == TRUE) { if (MapGridGetZCoordAt(x, y) == gPlayerFacingPosition.height) { - u8 r6 = ((gUnknown_0857C608[i].y * 5) + 12) + (gUnknown_0857C608[i].x); + u8 tileArrayId = ((sHyperCutStruct[i].y * 5) + 12) + (sHyperCutStruct[i].x); tileBehavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsPokeGrass(tileBehavior) == TRUE || MetatileBehavior_IsAshGrass(tileBehavior) == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = FieldCallback_CutGrass; - gUnknown_03001108[r6] = r7; + sHyperCutTiles[tileArrayId] = TRUE; ret = TRUE; } else { if (MetatileBehavior_IsCuttableGrass(tileBehavior) == TRUE) - gUnknown_03001108[r6] = TRUE; + sHyperCutTiles[tileArrayId] = TRUE; } } } @@ -315,7 +313,7 @@ bool8 SetUpFieldMove_Cut(void) } } -void FieldCallback_CutGrass(void) +static void FieldCallback_CutGrass(void) { FieldEffectStart(FLDEFF_USE_CUT_ON_GRASS); gFieldEffectArguments[0] = GetCursorSelectionMonId(); @@ -331,7 +329,7 @@ bool8 FldEff_UseCutOnGrass(void) return FALSE; } -void FieldCallback_CutTree(void) +static void FieldCallback_CutTree(void) { gFieldEffectArguments[0] = GetCursorSelectionMonId(); ScriptContext1_SetupScript(Route103_EventScript_290705); @@ -347,7 +345,7 @@ bool8 FldEff_UseCutOnTree(void) return FALSE; } -void StartCutGrassFieldEffect(void) +static void StartCutGrassFieldEffect(void) { FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_GRASS); FieldEffectStart(FLDEFF_CUT_GRASS); @@ -359,9 +357,9 @@ bool8 FldEff_CutGrass(void) u8 tileBehavior; u8 i; - for (i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < 25; i++) + for (i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < CUT_HYPER_AREA; i++) { - if (gUnknown_03001108[i] == TRUE) + if (sHyperCutTiles[i] == TRUE) { s8 xAdd = (i % 5) - 2; s8 yAdd = (i / 5) - 2; @@ -374,30 +372,30 @@ bool8 FldEff_CutGrass(void) } } - SetCutGrassMetatiles(gPlayerFacingPosition.x - gUnknown_03001101, gPlayerFacingPosition.y + (~gUnknown_03001102)); + SetCutGrassMetatiles(gPlayerFacingPosition.x - sTileCountFromPlayer_X, gPlayerFacingPosition.y - (1 + sTileCountFromPlayer_Y)); DrawWholeMapView(); - gCutGrassSpriteArrayPtr = AllocZeroed(8); + sCutGrassSpriteArrayPtr = AllocZeroed(CUT_SPRITE_ARRAY_COUNT); // populate sprite ID array - for (i = 0; i < 8; i++) + for (i = 0; i < CUT_SPRITE_ARRAY_COUNT; i++) { - gCutGrassSpriteArrayPtr[i] = CreateSprite(&gSpriteTemplate_CutGrass, + sCutGrassSpriteArrayPtr[i] = CreateSprite(&sSpriteTemplate_CutGrass, gSprites[gPlayerAvatar.spriteId].oam.x + 8, gSprites[gPlayerAvatar.spriteId].oam.y + 20, 0); - gSprites[gCutGrassSpriteArrayPtr[i]].data[2] = 32 * i; + gSprites[sCutGrassSpriteArrayPtr[i]].data[2] = 32 * i; } return FALSE; } // set map grid metatile depending on x, y -void SetCutGrassMetatile(s16 x, s16 y) +static void SetCutGrassMetatile(s16 x, s16 y) { s32 metatileId = MapGridGetMetatileIdAt(x, y); switch (metatileId) { - case METATILE_ID_POKE_TALL_GRASS_START: - case METATILE_ID_POKE_TALL_GRASS: + case METATILE_ID_POKE_LONG_GRASS_START: + case METATILE_ID_POKE_LONG_GRASS: case METATILE_ID_POKE_GRASS: MapGridSetMetatileIdAt(x, y, METATILE_ID_GRASS); break; @@ -407,14 +405,14 @@ void SetCutGrassMetatile(s16 x, s16 y) case METATILE_ID_POKE_GRASS_TREE_RIGHT: MapGridSetMetatileIdAt(x, y, METATILE_ID_GRASS_TREE_RIGHT); break; - case METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS: - MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); + case METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS); break; - case METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS: - MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); + case METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS); break; - case METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS: - MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + case METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS: + MapGridSetMetatileIdAt(x, y, METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS); break; case METATILE_ID_POKE_STEP_LAVA_GRASS: case METATILE_ID_POKE_LAVA_GRASS: @@ -432,92 +430,92 @@ void SetCutGrassMetatile(s16 x, s16 y) enum { - TALL_GRASS_NONE, - TALL_GRASS_FIELD, - TALL_GRASS_BASE_LEFT, - TALL_GRASS_BASE_CENTER, - TALL_GRASS_BASE_RIGHT + LONG_GRASS_NONE, + LONG_GRASS_FIELD, + LONG_GRASS_BASE_LEFT, + LONG_GRASS_BASE_CENTER, + LONG_GRASS_BASE_RIGHT }; -u8 GetTallGrassCaseAt(s16 x, s16 y) +static u8 GetLongGrassCaseAt(s16 x, s16 y) { u16 metatileId = MapGridGetMetatileIdAt(x, y); if (metatileId == METATILE_ID_GRASS) - return TALL_GRASS_FIELD; - else if (metatileId == METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS) - return TALL_GRASS_BASE_LEFT; - else if (metatileId == METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS) - return TALL_GRASS_BASE_CENTER; - else if (metatileId == METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS) - return TALL_GRASS_BASE_RIGHT; + return LONG_GRASS_FIELD; + else if (metatileId == METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS) + return LONG_GRASS_BASE_LEFT; + else if (metatileId == METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS) + return LONG_GRASS_BASE_CENTER; + else if (metatileId == METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS) + return LONG_GRASS_BASE_RIGHT; else - return TALL_GRASS_NONE; + return LONG_GRASS_NONE; } -void SetCutGrassMetatiles(s16 x, s16 y) +static void SetCutGrassMetatiles(s16 x, s16 y) { s16 i; - s16 lowerY = y + gUnknown_03001100; + s16 lowerY = y + sCutSquareSide; - for (i = 0; i < gUnknown_03001100; i++) + for (i = 0; i < sCutSquareSide; i++) { s16 currentX = x + i; - if (MapGridGetMetatileIdAt(currentX, y) == METATILE_ID_POKE_TALL_GRASS) + if (MapGridGetMetatileIdAt(currentX, y) == METATILE_ID_POKE_LONG_GRASS) { - switch (GetTallGrassCaseAt(currentX, y + 1)) + switch (GetLongGrassCaseAt(currentX, y + 1)) { - case TALL_GRASS_FIELD: - MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_POKE_TALL_GRASS_START); + case LONG_GRASS_FIELD: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_POKE_LONG_GRASS_START); break; - case TALL_GRASS_BASE_LEFT: - MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS); + case LONG_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS); break; - case TALL_GRASS_BASE_CENTER: - MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS); + case LONG_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS); break; - case TALL_GRASS_BASE_RIGHT: - MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS); + case LONG_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(currentX, y + 1, METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS); break; } } if (MapGridGetMetatileIdAt(currentX, lowerY) == METATILE_ID_GRASS) { - if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_POKE_TALL_GRASS_START) + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_POKE_LONG_GRASS_START) MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_GRASS); - if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); - if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); - if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS); + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS); + if (MapGridGetMetatileIdAt(currentX, lowerY + 1) == METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(currentX, lowerY + 1, METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS); } } - if (gUnknown_03001100 == CUT_HYPER_SIDE) + if (sCutSquareSide == CUT_HYPER_SIDE) { - HandleTallGrassOnHyper(0, x, y); - HandleTallGrassOnHyper(1, x, y); + HandleLongGrassOnHyper(0, x, y); + HandleLongGrassOnHyper(1, x, y); } } -void HandleTallGrassOnHyper(u8 caseId, s16 x, s16 y) +static void HandleLongGrassOnHyper(u8 caseId, s16 x, s16 y) { s16 newX; bool8 arr[3]; if (caseId == 0) { - arr[0] = gUnknown_03001108[5]; - arr[1] = gUnknown_03001108[10]; - arr[2] = gUnknown_03001108[15]; + arr[0] = sHyperCutTiles[5]; + arr[1] = sHyperCutTiles[10]; + arr[2] = sHyperCutTiles[15]; newX = x; } else if (caseId == 1) { - arr[0] = gUnknown_03001108[9]; - arr[1] = gUnknown_03001108[14]; - arr[2] = gUnknown_03001108[19]; + arr[0] = sHyperCutTiles[9]; + arr[1] = sHyperCutTiles[14]; + arr[2] = sHyperCutTiles[19]; newX = x + 4; } else // invalid case @@ -527,69 +525,69 @@ void HandleTallGrassOnHyper(u8 caseId, s16 x, s16 y) if (arr[0] == TRUE) { - if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_POKE_TALL_GRASS_START) + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_POKE_LONG_GRASS_START) MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_GRASS); - if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); - if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); - if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS); } if (arr[1] == TRUE) { - if (MapGridGetMetatileIdAt(newX, y + 2) == METATILE_ID_POKE_TALL_GRASS) + if (MapGridGetMetatileIdAt(newX, y + 2) == METATILE_ID_POKE_LONG_GRASS) { - switch (GetTallGrassCaseAt(newX, y + 3)) + switch (GetLongGrassCaseAt(newX, y + 3)) { - case TALL_GRASS_FIELD: - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_POKE_TALL_GRASS_START); + case LONG_GRASS_FIELD: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_POKE_LONG_GRASS_START); break; - case TALL_GRASS_BASE_LEFT: - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS); + case LONG_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS); break; - case TALL_GRASS_BASE_CENTER: - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS); + case LONG_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS); break; - case TALL_GRASS_BASE_RIGHT: - MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS); + case LONG_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(newX, y + 3, METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS); break; } } - if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_POKE_TALL_GRASS_START) + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_POKE_LONG_GRASS_START) MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_GRASS); - if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_LEFT_TALL_GRASS); - if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_CENTER_TALL_GRASS); - if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS) - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_RIGHT_TALL_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS); + if (MapGridGetMetatileIdAt(newX, y + 4) == METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS) + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS); } if (arr[2] == TRUE) { - if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_POKE_TALL_GRASS) + if (MapGridGetMetatileIdAt(newX, y + 3) == METATILE_ID_POKE_LONG_GRASS) { - switch (GetTallGrassCaseAt(newX, y + 4)) + switch (GetLongGrassCaseAt(newX, y + 4)) { - case TALL_GRASS_FIELD: - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_POKE_TALL_GRASS_START); + case LONG_GRASS_FIELD: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_POKE_LONG_GRASS_START); break; - case TALL_GRASS_BASE_LEFT: - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_LEFT_POKE_TALL_GRASS); + case LONG_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS); break; - case TALL_GRASS_BASE_CENTER: - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_CENTER_POKE_TALL_GRASS); + case LONG_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS); break; - case TALL_GRASS_BASE_RIGHT: - MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_RIGHT_POKE_TALL_GRASS); + case LONG_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(newX, y + 4, METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS); break; } } } } -void CutGrassSpriteCallback1(struct Sprite *sprite) +static void CutGrassSpriteCallback1(struct Sprite *sprite) { sprite->data[0] = 8; sprite->data[1] = 0; @@ -597,7 +595,7 @@ void CutGrassSpriteCallback1(struct Sprite *sprite) sprite->callback = CutGrassSpriteCallback2; } -void CutGrassSpriteCallback2(struct Sprite *sprite) +static void CutGrassSpriteCallback2(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[2], sprite->data[0]); sprite->pos2.y = Cos(sprite->data[2], sprite->data[0]); @@ -611,3 +609,76 @@ void CutGrassSpriteCallback2(struct Sprite *sprite) else sprite->callback = CutGrassSpriteCallbackEnd; // done rotating the grass, execute clean up function } + +static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) +{ + u8 i; + + for (i = 1; i < CUT_SPRITE_ARRAY_COUNT; i++) + DestroySprite(&gSprites[sCutGrassSpriteArrayPtr[i]]); + + FieldEffectStop(&gSprites[sCutGrassSpriteArrayPtr[0]], FLDEFF_CUT_GRASS); + FREE_AND_SET_NULL(sCutGrassSpriteArrayPtr); + ScriptUnfreezeEventObjects(); + ScriptContext2_Disable(); + + if (IsMewPlayingHideAndSeek() == TRUE) + ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_267EDB); +} + +void sub_80D423C(s16 x, s16 y) +{ + u8 metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); + if (MetatileBehavior_IsLongGrass_Duplicate(metatileBehavior)) + { + switch (GetLongGrassCaseAt(x, y + 1)) + { + case LONG_GRASS_FIELD: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_POKE_LONG_GRASS_START); + break; + case LONG_GRASS_BASE_LEFT: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS); + break; + case LONG_GRASS_BASE_CENTER: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS); + break; + case LONG_GRASS_BASE_RIGHT: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS); + break; + } + } +} + +void sub_80D42B8(s16 x, s16 y) +{ + if (MapGridGetMetatileIdAt(x, y) == METATILE_ID_GRASS) + { + u8 metatileBehavior = MapGridGetMetatileBehaviorAt(x, y + 1); + if (MetatileBehavior_IsLongGrassSouthEdge(metatileBehavior)) + { + s32 metatileId = MapGridGetMetatileIdAt(x, y + 1); + switch (metatileId) + { + case METATILE_ID_POKE_LONG_GRASS_START: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_GRASS); + break; + case METATILE_ID_SECRET_BASE_LEFT_POKE_LONG_GRASS: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_SECRET_BASE_LEFT_LONG_GRASS); + break; + case METATILE_ID_SECRET_BASE_CENTER_POKE_LONG_GRASS: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_SECRET_BASE_CENTER_LONG_GRASS); + break; + case METATILE_ID_SECRET_BASE_RIGHT_POKE_LONG_GRASS: + MapGridSetMetatileIdAt(x, y + 1, METATILE_ID_SECRET_BASE_RIGHT_LONG_GRASS); + break; + } + } + } +} + +static void StartCutTreeFieldEffect(void) +{ + PlaySE(SE_W015); + FieldEffectActiveListRemove(FLDEFF_USE_CUT_ON_TREE); + EnableBothScriptContexts(); +} diff --git a/src/item_use.c b/src/item_use.c index 96f63ee3e..5bbc1d50e 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -39,7 +39,7 @@ extern void sub_81C5B14(u8 taskId); extern u8 gText_DadsAdvice[]; extern u8 gText_CantDismountBike[]; extern void sub_8197434(u8 a, u8 b); -extern void sub_80984F4(void); +extern void ScriptUnfreezeEventObjects(void); extern void ItemUseOutOfBattle_TMHM(u8 a); extern void ItemUseOutOfBattle_EvolutionStone(u8 b); extern void bag_menu_mail_related(void); @@ -197,7 +197,7 @@ void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId) { sub_8197434(0, 1); DestroyTask(taskId); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); } @@ -252,7 +252,7 @@ void ItemUseOnFieldCB_Bike(u8 taskId) GetOnOffBike(2); else GetOnOffBike(4); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); DestroyTask(taskId); } @@ -358,7 +358,7 @@ void sub_80FD504(u8 taskId) void sub_80FD5CC(u8 taskId) { sub_8197434(0, 1); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); DestroyTask(taskId); } diff --git a/src/start_menu.c b/src/start_menu.c index 6371acff0..5900cced1 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -90,7 +90,7 @@ extern void sub_80C4DDC(void (*)(void)); extern void sub_80C51C4(void (*)(void)); extern void sub_80C4E74(u8, void (*)(void)); extern void sub_81C4EFC(void); -extern void sub_80984F4(void); +extern void ScriptUnfreezeEventObjects(void); extern void sub_81A9EC8(void); extern void save_serialize_map(void); extern void sub_81A9E90(void); @@ -773,7 +773,7 @@ static bool8 StartMenuBattlePyramidRetireCallback(void) void sub_809FDD4(void) // Called from battle_frontier_2.s { sub_8197DF8(0, FALSE); - sub_80984F4(); + ScriptUnfreezeEventObjects(); CreateStartMenuTask(sub_809FA34); ScriptContext2_Enable(); } @@ -815,7 +815,7 @@ static bool8 SaveCallback(void) case SAVE_SUCCESS: case SAVE_ERROR: // Close start menu sub_8197DF8(0, TRUE); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); sub_81A9EC8(); return TRUE; @@ -852,7 +852,7 @@ static bool8 BattlePyramidRetireCallback(void) return FALSE; case SAVE_CANCELED: // Yes (Retire from battle pyramid) sub_8197DF8(0, TRUE); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); ScriptContext1_SetupScript(BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88); return TRUE; @@ -1409,7 +1409,7 @@ static void HideStartMenuWindow(void) { sub_819746C(GetStartMenuWindowId(), TRUE); RemoveStartMenuWindow(); - sub_80984F4(); + ScriptUnfreezeEventObjects(); ScriptContext2_Disable(); } -- cgit v1.2.3 From 0fe3e612ebd3e7f49f930f7ae40aa9d9267862fa Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 17 Jun 2018 12:30:09 +0200 Subject: battle tent start and create frontier struct in saveblock --- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_player.c | 2 +- src/battle_controllers.c | 4 +- src/battle_main.c | 10 +- src/battle_setup.c | 4 +- src/battle_tent.c | 267 ++++++++++++++++++++++++++++++++++ src/item.c | 16 +- src/map_name_popup.c | 2 +- src/new_game.c | 43 +++--- src/pokemon.c | 4 +- src/record_mixing.c | 30 ++-- src/recorded_battle.c | 8 +- src/start_menu.c | 82 +++++------ src/tv.c | 22 +-- src/wild_encounter.c | 4 +- 16 files changed, 385 insertions(+), 117 deletions(-) create mode 100644 src/battle_tent.c (limited to 'src') diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index a4aac55e2..e81fcabe6 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1854,7 +1854,7 @@ static void LinkOpponentHandleCmd55(void) else gBattleOutcome = gBattleBufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkOpponentBufferExecCompleted(); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index d742d5df2..aaaaebd8d 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1684,7 +1684,7 @@ static void LinkPartnerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); LinkPartnerBufferExecCompleted(); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e0694029a..9fc0c68ea 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -3104,7 +3104,7 @@ static void PlayerHandleCmd55(void) { sub_81851A8(&gBattleBufferA[gActiveBattler][4]); gBattleOutcome = gBattleBufferA[gActiveBattler][1]; - gSaveBlock2Ptr->field_CA9_b = gBattleBufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.field_CA9_b = gBattleBufferA[gActiveBattler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); PlayerBufferExecCompleted(); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 2b918d018..0a712c79b 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1515,8 +1515,8 @@ void BtlController_EmitCmd55(u8 bufferId, u8 arg1) { sBattleBuffersTransferData[0] = CONTROLLER_55; sBattleBuffersTransferData[1] = arg1; - sBattleBuffersTransferData[2] = gSaveBlock2Ptr->field_CA9_b; - sBattleBuffersTransferData[3] = gSaveBlock2Ptr->field_CA9_b; + sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.field_CA9_b; + sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.field_CA9_b; sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = sub_81850DC(&sBattleBuffersTransferData[6]); PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[4] + 6); } diff --git a/src/battle_main.c b/src/battle_main.c index 8649209c0..ace481c26 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -676,7 +676,7 @@ static void CB2_InitBattleInternal(void) } gMain.inBattle = TRUE; - gSaveBlock2Ptr->field_CA9_b = 0; + gSaveBlock2Ptr->frontier.field_CA9_b = 0; for (i = 0; i < 6; i++) AdjustFriendship(&gPlayerParty[i], 3); @@ -2273,7 +2273,7 @@ static void sub_8038F34(void) for (i = 0; i < monsCount && (gLinkPlayers[i].version & 0xFF) == VERSION_EMERALD; i++); - if (!gSaveBlock2Ptr->field_CA9_b && i == monsCount) + if (!gSaveBlock2Ptr->frontier.field_CA9_b && i == monsCount) { if (FlagGet(FLAG_SYS_FRONTIER_PASS)) { @@ -5015,7 +5015,7 @@ static void HandleEndTurn_BattleLost(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeitedLinkBattle; gBattleOutcome &= ~(B_OUTCOME_LINK_BATTLE_RAN); - gSaveBlock2Ptr->field_CA9_b = 1; + gSaveBlock2Ptr->frontier.field_CA9_b = 1; } else { @@ -5047,7 +5047,7 @@ static void HandleEndTurn_RanFromBattle(void) { gBattlescriptCurrInstr = BattleScript_PrintPlayerForfeited; gBattleOutcome = B_OUTCOME_FORFEITED; - gSaveBlock2Ptr->field_CA9_b = 1; + gSaveBlock2Ptr->frontier.field_CA9_b = 1; } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) { @@ -5666,7 +5666,7 @@ static void HandleAction_Run(void) } gBattleOutcome |= B_OUTCOME_LINK_BATTLE_RAN; - gSaveBlock2Ptr->field_CA9_b = 1; + gSaveBlock2Ptr->frontier.field_CA9_b = 1; } else { diff --git a/src/battle_setup.c b/src/battle_setup.c index ccc36b7c2..c8440a35f 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -883,8 +883,8 @@ u8 sub_80B100C(s32 arg0) return sUnknown_0854FE98[Random() % ARRAY_COUNT(sUnknown_0854FE98)]; } - var = gSaveBlock2Ptr->field_CB4[gSaveBlock2Ptr->battlePyramidWildHeaderId * 2 + 0] - + gSaveBlock2Ptr->field_CB4[gSaveBlock2Ptr->battlePyramidWildHeaderId * 2 + 1]; + var = gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 0] + + gSaveBlock2Ptr->frontier.field_CB4[gSaveBlock2Ptr->frontier.field_CB2 * 2 + 1]; return sUnknown_0854FE98[var % ARRAY_COUNT(sUnknown_0854FE98)]; } diff --git a/src/battle_tent.c b/src/battle_tent.c new file mode 100644 index 000000000..85640e8e5 --- /dev/null +++ b/src/battle_tent.c @@ -0,0 +1,267 @@ +#include "global.h" +#include "overworld.h" +#include "event_data.h" +#include "region_map.h" +#include "battle.h" +#include "battle_setup.h" +#include "battle_tower.h" +#include "battle_frontier_2.h" +#include "random.h" +#include "item.h" +#include "constants/items.h" + +// this file's functions +void sub_81B99D4(void); +void sub_81B9A28(void); +void sub_81B9A44(void); +void sub_81B9A60(void); +void sub_81B9A90(void); +void sub_81B9ABC(void); +void sub_81B9B00(void); +void sub_81B9B28(void); +void sub_81B9BA0(void); +void sub_81B9BF4(void); +void sub_81B9C10(void); +void sub_81B9C2C(void); +void sub_81B9C70(void); +void sub_81B9C98(void); +void sub_81B9CF0(void); +void sub_81B9D28(void); +void sub_81B9D7C(void); +void sub_81B9D98(void); +void sub_81B9DB4(void); +void sub_81B9DF8(void); +void sub_81B9E20(void); +void sub_81B9E78(void); +void sub_81B9E88(void); +void sub_81BA040(void); +void sub_81B9EC0(void); + +// const rom data +void (*const gUnknown_086160B4[])(void) = +{ + sub_81B99D4, + sub_81B9A28, + sub_81B9A44, + sub_81B9A60, + sub_81B9A90, + sub_81B9ABC, + sub_81B9B00, + sub_81B9B28 +}; + +const u16 gUnknown_086160D4[] = {ITEM_NEST_BALL, ITEM_NONE}; + +void (*const gUnknown_086160D8[])(void) = +{ + sub_81B9BA0, + sub_81B9BF4, + sub_81B9C10, + sub_81B9C2C, + sub_81B9C70, + sub_81B9C98, + sub_81B9CF0 +}; + +const u16 gUnknown_086160F4[] = {ITEM_HYPER_POTION, ITEM_NONE}; + +void (*const gUnknown_086160F8[])(void) = +{ + sub_81B9D28, + sub_81B9D7C, + sub_81B9D98, + sub_81B9DB4, + sub_81B9DF8, + sub_81B9E20, + sub_81B9E78, + sub_81B9E88, + sub_81BA040, + sub_81B9EC0 +}; + +const u16 gUnknown_08616120[] = {ITEM_FULL_HEAL, ITEM_NONE}; + +// code +void sub_81B99B4(void) +{ + gUnknown_086160B4[gSpecialVar_0x8004](); +} + +void sub_81B99D4(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +void sub_81B9A28(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6A; +} + +void sub_81B9A44(void) +{ + gSaveBlock2Ptr->frontier.field_E6A = gSpecialVar_0x8006; +} + +void sub_81B9A60(void) +{ + gTrainerBattleOpponent_A = (u32)((Random() % 255) * 5) / 64; + sub_8162614(gTrainerBattleOpponent_A, 0); +} + +void sub_81B9A90(void) +{ + if (gTrainerBattleOpponent_A < 300) + ConvertBattleFrontierTrainerSpeechToString(gUnknown_0203BC88[gTrainerBattleOpponent_A].speechBefore); +} + +void sub_81B9ABC(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; + sub_81A4C30(); +} + +void sub_81B9B00(void) +{ + gSaveBlock2Ptr->frontier.field_E6A = gUnknown_086160D4[Random() % 1]; +} + +void sub_81B9B28(void) +{ + if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6A, 1) == TRUE) + { + CopyItemName(gSaveBlock2Ptr->frontier.field_E6A, gStringVar1); + gSaveBlock2Ptr->frontier.field_E6A = ITEM_NONE; + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } +} + +void sub_81B9B80(void) +{ + gUnknown_086160D8[gSpecialVar_0x8004](); +} + +void sub_81B9BA0(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +void sub_81B9BF4(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6C; +} + +void sub_81B9C10(void) +{ + gSaveBlock2Ptr->frontier.field_E6C = gSpecialVar_0x8006; +} + +void sub_81B9C2C(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; + sub_81A4C30(); +} + +void sub_81B9C70(void) +{ + gSaveBlock2Ptr->frontier.field_E6C = gUnknown_086160F4[Random() % 1]; +} + +void sub_81B9C98(void) +{ + if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6C, 1) == TRUE) + { + CopyItemName(gSaveBlock2Ptr->frontier.field_E6C, gStringVar1); + gSaveBlock2Ptr->frontier.field_E6C = ITEM_NONE; + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } +} + +void sub_81B9CF0(void) +{ + GetFrontierTrainerName(gStringVar1, gTrainerBattleOpponent_A); +} + +void sub_81B9D08(void) +{ + gUnknown_086160F8[gSpecialVar_0x8004](); +} + +void sub_81B9D28(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = 0; + gSaveBlock2Ptr->frontier.field_CB2 = 0; + gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; + saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); +} + +void sub_81B9D7C(void) +{ + gSpecialVar_Result = gSaveBlock2Ptr->frontier.field_E6E; +} + +void sub_81B9D98(void) +{ + gSaveBlock2Ptr->frontier.field_E6E = gSpecialVar_0x8006; +} + +void sub_81B9DB4(void) +{ + gSaveBlock2Ptr->frontier.field_CA8 = gSpecialVar_0x8005; + VarSet(VAR_TEMP_0, 0); + gSaveBlock2Ptr->frontier.field_CA9_a = TRUE; + sub_81A4C30(); +} + +void sub_81B9DF8(void) +{ + gSaveBlock2Ptr->frontier.field_E6E = gUnknown_08616120[Random() % 1]; +} + +void sub_81B9E20(void) +{ + if (AddBagItem(gSaveBlock2Ptr->frontier.field_E6E, 1) == TRUE) + { + CopyItemName(gSaveBlock2Ptr->frontier.field_E6E, gStringVar1); + gSaveBlock2Ptr->frontier.field_E6E = ITEM_NONE; + gSpecialVar_Result = TRUE; + } + else + { + gSpecialVar_Result = FALSE; + } +} + +void sub_81B9E78(void) +{ + ZeroPlayerPartyMons(); + sub_819A4F8(); +} + +void sub_81B9E88(void) +{ + sub_819DC00(); +} + +bool8 sub_81B9E94(void) +{ + return (gMapHeader.regionMapSectionId == 8 + && ((gMapHeader.mapDataId == 385) | (gMapHeader.mapDataId == 386))); +} diff --git a/src/item.c b/src/item.c index 319d167fc..30710d08a 100644 --- a/src/item.c +++ b/src/item.c @@ -845,8 +845,8 @@ u16 CountTotalItemQuantityInBag(u16 itemId) static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count) { u8 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -867,8 +867,8 @@ static bool8 CheckPyramidBagHasItem(u16 itemId, u16 count) static bool8 CheckPyramidBagHasSpace(u16 itemId, u16 count) { u8 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; for (i = 0; i < PYRAMID_BAG_ITEMS_COUNT; i++) { @@ -890,8 +890,8 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count) { u16 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; u16 *newItems = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u16)); u8 *newQuantities = Alloc(PYRAMID_BAG_ITEMS_COUNT * sizeof(u8)); @@ -963,8 +963,8 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) { u16 i; - u16 *items = gSaveBlock2Ptr->pyramidBag.itemId[gSaveBlock2Ptr->frontierChosenLvl]; - u8 *quantities = gSaveBlock2Ptr->pyramidBag.quantity[gSaveBlock2Ptr->frontierChosenLvl]; + u16 *items = gSaveBlock2Ptr->frontier.pyramidBag.itemId[gSaveBlock2Ptr->frontier.chosenLvl]; + u8 *quantities = gSaveBlock2Ptr->frontier.pyramidBag.quantity[gSaveBlock2Ptr->frontier.chosenLvl]; i = gUnknown_0203CF30[3] + gUnknown_0203CF30[4]; if (items[i] == itemId && quantities[i] >= count) diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 1782e9af8..34415a16e 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -236,7 +236,7 @@ static void ShowMapNamePopUpWindow(void) else { withoutPrefixPtr = &(mapDisplayHeader[3]); - mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[gSaveBlock2Ptr->battlePyramidWildHeaderId]; + mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[gSaveBlock2Ptr->frontier.field_CB2]; } StringCopy(withoutPrefixPtr, mapDisplayHeaderSource); } diff --git a/src/new_game.c b/src/new_game.c index c387bce65..8b8436d10 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -31,11 +31,9 @@ extern u8 gUnknown_030060B0; // TODO: replace those declarations with file headers extern u16 GetGeneratedTrainerIdLower(void); extern void ClearContestWinnerPicsInContestHall(void); -extern void warp_in(void); extern void sub_80BB358(void); extern void ResetBagScrollPositions(void); extern void ResetPokedex(void); -extern void sub_8084400(void); extern void ResetGabbyAndTy(void); extern void ResetSecretBases(void); extern void ResetLinkContestBoolean(void); @@ -58,6 +56,19 @@ extern void SetBerryPowder(u32* powder, u32 newValue); extern const u8 EventScript_2715DE[]; +// this file's functions +static void ClearFrontierRecord(void); +static void WarpToTruck(void); +static void ResetMiniGamesResults(void); + +// const rom data +static const struct ContestWinner sContestWinnerPicDummy = +{ + .monName = _(""), + .trainerName = _("") +}; + +// code void WriteUnalignedWord(u32 var, u8 *dataPtr) { dataPtr[0] = var; @@ -78,14 +89,14 @@ void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom) copyTo[i] = copyFrom[i]; } -void InitPlayerTrainerId(void) +static void InitPlayerTrainerId(void) { u32 trainerId = (Random() << 0x10) | GetGeneratedTrainerIdLower(); WriteUnalignedWord(trainerId, gSaveBlock2Ptr->playerTrainerId); } // L=A isnt set here for some reason. -void SetDefaultOptions(void) +static void SetDefaultOptions(void) { gSaveBlock2Ptr->optionsTextSpeed = OPTIONS_TEXT_SPEED_MID; gSaveBlock2Ptr->optionsWindowFrameType = 0; @@ -95,37 +106,31 @@ void SetDefaultOptions(void) gSaveBlock2Ptr->regionMapZoom = FALSE; } -void ClearPokedexFlags(void) +static void ClearPokedexFlags(void) { gUnknown_030060B0 = 0; memset(&gSaveBlock2Ptr->pokedex.owned, 0, sizeof(gSaveBlock2Ptr->pokedex.owned)); memset(&gSaveBlock2Ptr->pokedex.seen, 0, sizeof(gSaveBlock2Ptr->pokedex.seen)); } -const struct ContestWinner gContestWinnerPicDummy = { - .monName = _(""), - .trainerName = _("") -}; - void ClearAllContestWinnerPics(void) { s32 i; ClearContestWinnerPicsInContestHall(); for (i = 8; i < 13; i++) - gSaveBlock1Ptr->contestWinners[i] = gContestWinnerPicDummy; + gSaveBlock1Ptr->contestWinners[i] = sContestWinnerPicDummy; } -void sub_8084400(void) +static void ClearFrontierRecord(void) { - // probably clearing one struct for battle frontier - CpuFill32(0, &gSaveBlock2Ptr->battleTower, 2272); + CpuFill32(0, &gSaveBlock2Ptr->frontier, sizeof(gSaveBlock2Ptr->frontier)); - gSaveBlock2Ptr->field_EE1[0][0] = EOS; - gSaveBlock2Ptr->field_EE1[1][0] = EOS; + gSaveBlock2Ptr->frontier.field_EE1[0][0] = EOS; + gSaveBlock2Ptr->frontier.field_EE1[1][0] = EOS; } -void WarpToTruck(void) +static void WarpToTruck(void) { Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck warp_in(); @@ -157,7 +162,7 @@ void NewGameInitData(void) ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); ResetPokedex(); - sub_8084400(); + ClearFrontierRecord(); ClearSav1(); ClearMailData(); gSaveBlock2Ptr->specialSaveWarp = 0; @@ -207,7 +212,7 @@ void NewGameInitData(void) ResetContestLinkResults(); } -void ResetMiniGamesResults(void) +static void ResetMiniGamesResults(void) { CpuFill16(0, &gSaveBlock2Ptr->berryCrush, sizeof(struct BerryCrush)); SetBerryPowder(&gSaveBlock2Ptr->berryCrush.berryPowderAmount, 0); diff --git a/src/pokemon.c b/src/pokemon.c index 800b7c0cd..dac8e0197 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1575,8 +1575,8 @@ void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lv u8 language; u8 value; - if (gSaveBlock2Ptr->frontierChosenLvl != 0) - level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontierChosenLvl); + if (gSaveBlock2Ptr->frontier.chosenLvl != 0) + level = BattleFrontierGetOpponentLvl(gSaveBlock2Ptr->frontier.chosenLvl); else if (lvl50) level = 50; else diff --git a/src/record_mixing.c b/src/record_mixing.c index 35e518d8a..8b21e214f 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -197,10 +197,10 @@ static void SetSrcLookupPointers(void) sOldManSave = &gSaveBlock1Ptr->oldMan; sEasyChatPairsSave = gSaveBlock1Ptr->easyChatPairs; gUnknown_03001148 = &gUnknown_02039F9C; - sBattleTowerSave = &gSaveBlock2Ptr->battleTower; + sBattleTowerSave = &gSaveBlock2Ptr->frontier.battleTower; sLilycoveLadySave = &gSaveBlock1Ptr->lilycoveLady; gUnknown_03001154 = gSaveBlock2Ptr->field_DC; - sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->battleTower; + sBattleTowerSave_Duplicate = &gSaveBlock2Ptr->frontier.battleTower; } static void PrepareUnknownExchangePacket(struct PlayerRecordsRS *dest) @@ -1625,24 +1625,24 @@ void sub_80E8260(struct UnkRecordMixingStruct2 *dst) { dst->field_120[j].language = GAME_LANGUAGE; CopyUnalignedWord(dst->field_120[j].playerId1, gSaveBlock2Ptr->playerTrainerId); - CopyUnalignedWord(dst->field_120[j].playerId2, gSaveBlock2Ptr->field_EF1[j]); + CopyUnalignedWord(dst->field_120[j].playerId2, gSaveBlock2Ptr->frontier.field_EF1[j]); StringCopy(dst->field_120[j].playerName1, gSaveBlock2Ptr->playerName); - StringCopy(dst->field_120[j].playerName2, gSaveBlock2Ptr->field_EE1[j]); + StringCopy(dst->field_120[j].playerName2, gSaveBlock2Ptr->frontier.field_EE1[j]); } for (i = 0; i < 2; i++) { - dst->field_0[0][i].field_4 = gSaveBlock2Ptr->field_CF0[i]; - dst->field_0[1][i].field_4 = gSaveBlock2Ptr->field_CF4[i]; - dst->field_0[2][i].field_4 = gSaveBlock2Ptr->field_CF8[i]; - dst->field_0[3][i].field_4 = gSaveBlock2Ptr->field_D14[i]; - dst->field_0[4][i].field_4 = gSaveBlock2Ptr->field_DD0[i]; - dst->field_0[5][i].field_4 = gSaveBlock2Ptr->field_DDE[i]; - dst->field_0[6][i].field_4 = gSaveBlock2Ptr->field_DEA[i]; - dst->field_0[7][i].field_4 = gSaveBlock2Ptr->field_E08[i]; - dst->field_0[8][i].field_4 = gSaveBlock2Ptr->field_E1E[i]; - - dst->field_120[i].field_8 = gSaveBlock2Ptr->field_CFC[i]; + dst->field_0[0][i].field_4 = gSaveBlock2Ptr->frontier.field_CF0[i]; + dst->field_0[1][i].field_4 = gSaveBlock2Ptr->frontier.field_CF4[i]; + dst->field_0[2][i].field_4 = gSaveBlock2Ptr->frontier.field_CF8[i]; + dst->field_0[3][i].field_4 = gSaveBlock2Ptr->frontier.field_D14[i]; + dst->field_0[4][i].field_4 = gSaveBlock2Ptr->frontier.field_DD0[i]; + dst->field_0[5][i].field_4 = gSaveBlock2Ptr->frontier.field_DDE[i]; + dst->field_0[6][i].field_4 = gSaveBlock2Ptr->frontier.field_DEA[i]; + dst->field_0[7][i].field_4 = gSaveBlock2Ptr->frontier.field_E08[i]; + dst->field_0[8][i].field_4 = gSaveBlock2Ptr->frontier.field_E1E[i]; + + dst->field_120[i].field_8 = gSaveBlock2Ptr->frontier.field_CFC[i]; } } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index eb48ab15a..a9360d49a 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -390,7 +390,7 @@ u32 MoveRecordedBattleToSaveData(void) battleSave->opponentB = gTrainerBattleOpponent_B; battleSave->partnerId = gPartnerTrainerId; battleSave->field_4FA = gUnknown_0203C7B4; - battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b; + battleSave->field_4FC = gSaveBlock2Ptr->frontier.field_CA9_b; battleSave->field_4FD = sUnknown_0203C7AE; battleSave->field_4FE = sUnknown_0203C7AF; battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle; @@ -1293,7 +1293,7 @@ static bool32 AllocTryCopyRecordedBattleSaveData(struct RecordedBattleSave *dst) static void CB2_RecordedBattleEnd(void) { - gSaveBlock2Ptr->frontierChosenLvl = sUnknown_0203C7AD; + gSaveBlock2Ptr->frontier.chosenLvl = sUnknown_0203C7AD; gBattleOutcome = 0; gBattleTypeFlags = 0; gTrainerBattleOpponent_A = 0; @@ -1353,7 +1353,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) gTrainerBattleOpponent_B = src->opponentB; gPartnerTrainerId = src->partnerId; gUnknown_0203C7B4 = src->field_4FA; - sUnknown_0203C7AD = gSaveBlock2Ptr->frontierChosenLvl; + sUnknown_0203C7AD = gSaveBlock2Ptr->frontier.chosenLvl; sUnknown_0203C7AE = src->field_4FD; sUnknown_0203C7AF = src->field_4FE; sRecordedBattle_BattleStyle = src->battleStyle; @@ -1375,7 +1375,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) sUnknown_0203CCDC[i] = src->field_50E[i]; } - gSaveBlock2Ptr->frontierChosenLvl = src->field_4FC; + gSaveBlock2Ptr->frontier.chosenLvl = src->field_4FC; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { diff --git a/src/start_menu.c b/src/start_menu.c index 7080ae6a8..dad107887 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -288,14 +288,14 @@ static void BuildNormalStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKEMON); } - + AddStartMenuAction(MENU_ACTION_BAG); if (FlagGet(FLAG_SYS_POKENAV_GET) == TRUE) { AddStartMenuAction(MENU_ACTION_POKENAV); } - + AddStartMenuAction(MENU_ACTION_PLAYER); AddStartMenuAction(MENU_ACTION_SAVE); AddStartMenuAction(MENU_ACTION_OPTION); @@ -322,7 +322,7 @@ static void BuildLinkModeStartMenu(void) { AddStartMenuAction(MENU_ACTION_POKENAV); } - + AddStartMenuAction(MENU_ACTION_PLAYER_LINK); AddStartMenuAction(MENU_ACTION_OPTION); AddStartMenuAction(MENU_ACTION_EXIT); @@ -384,18 +384,14 @@ static void ShowSafariBallsWindow(void) static void ShowPyramidFloorWindow(void) { - if (gSaveBlock2Ptr->field_CAA[4] == 7) // TODO: fix location - { + if (gSaveBlock2Ptr->frontier.field_CB2 == 7) sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_1); - } else - { sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_2); - } PutWindowTilemap(sBattlePyramidFloorWindowId); NewMenuHelpers_DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE); - StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]); + StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->frontier.field_CB2]); StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor); PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL); CopyWindowToVram(sBattlePyramidFloorWindowId, 2); @@ -419,7 +415,7 @@ static void RemoveExtraStartMenuWindows(void) static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) { s8 index = *pIndex; - + do { if (sStartMenuItems[sCurrentStartMenuActions[index]].func.u8_void == StartMenuPlayerNameCallback) { @@ -444,11 +440,11 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count) return FALSE; } -static bool32 InitStartMenuStep(void) +static bool32 InitStartMenuStep(void) { s8 value = sUnknown_02037619[0]; - switch (value) + switch (value) { case 0: sUnknown_02037619[0]++; @@ -468,14 +464,14 @@ static bool32 InitStartMenuStep(void) { ShowSafariBallsWindow(); } - if (InBattlePyramid() != FALSE) + if (InBattlePyramid() != FALSE) { ShowPyramidFloorWindow(); } sUnknown_02037619[0]++; break; case 4: - if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) + if (PrintStartMenuActions(&sUnknown_02037619[1], 2) == FALSE) { break; } @@ -515,7 +511,7 @@ static void CreateStartMenuTask(TaskFunc followupFunc) SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc); } -static bool8 sub_809FA00(void) +static bool8 sub_809FA00(void) { if (InitStartMenuStep() == FALSE) { @@ -537,7 +533,7 @@ void sub_809FA34(u8 taskId) // Referenced in field_screen.s and rom_8011DC0.s { struct Task* task = &gTasks[taskId]; - switch(task->data[0]) + switch(task->data[0]) { case 0: if (InUnionRoom() == TRUE) @@ -576,13 +572,13 @@ static bool8 HandleStartMenuInput(void) PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(-1); } - + if (gMain.newKeys & DPAD_DOWN) { PlaySE(SE_SELECT); sStartMenuCursorPos = MoveMenuCursor(1); } - + if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); @@ -592,20 +588,20 @@ static bool8 HandleStartMenuInput(void) return FALSE; } } - + gMenuCallback = sStartMenuItems[sCurrentStartMenuActions[sStartMenuCursorPos]].func.u8_void; - - if (gMenuCallback != StartMenuSaveCallback + + if (gMenuCallback != StartMenuSaveCallback && gMenuCallback != StartMenuExitCallback && gMenuCallback != StartMenuSafariZoneRetireCallback && gMenuCallback != StartMenuBattlePyramidRetireCallback) { FadeScreen(1, 0); } - + return FALSE; } - + if (gMain.newKeys & (START_BUTTON | B_BUTTON)) { RemoveExtraStartMenuWindows(); @@ -625,10 +621,10 @@ static bool8 StartMenuPokedexCallback(void) RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(sub_80BB534); // Display pokedex - + return TRUE; } - + return FALSE; } @@ -640,7 +636,7 @@ static bool8 StartMenuPokemonCallback(void) RemoveExtraStartMenuWindows(); overworld_free_bg_tilemaps(); SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu - + return TRUE; } @@ -693,7 +689,7 @@ static bool8 StartMenuPlayerNameCallback(void) { sub_80C51C4(CB2_ReturnToFieldWithOpenMenu); // Display frontier pass } - else + else { sub_80C4DDC(CB2_ReturnToFieldWithOpenMenu); // Display trainer card } @@ -736,7 +732,7 @@ static bool8 StartMenuExitCallback(void) { RemoveExtraStartMenuWindows(); HideStartMenu(); // Hide start menu - + return TRUE; } @@ -911,7 +907,7 @@ static void SaveGameTask(u8 taskId) case SAVE_IN_PROGRESS: return; } - + DestroyTask(taskId); EnableBothScriptContexts(); } @@ -972,7 +968,7 @@ static u8 SaveConfirmSaveCallback(void) { ShowSaveMessage(gText_BattlePyramidConfirmRest, SaveYesNoCallback); } - else + else { ShowSaveMessage(gText_ConfirmSave, SaveYesNoCallback); } @@ -1025,7 +1021,7 @@ static u8 SaveFileExistsCallback(void) { ShowSaveMessage(gText_DifferentSaveFile, SaveConfirmOverwriteNoCallback); } - else + else { ShowSaveMessage(gText_AlreadySavedFile, SaveConfirmOverwriteCallback); } @@ -1082,7 +1078,7 @@ static u8 SaveDoSaveCallback(void) saveStatus = TrySavingData(SAVE_OVERWRITE_DIFFERENT_FILE); gDifferentSaveFile = FALSE; } - else + else { saveStatus = TrySavingData(SAVE_NORMAL); } @@ -1118,7 +1114,7 @@ static u8 SaveReturnSuccessCallback(void) HideSaveInfoWindow(); return SAVE_SUCCESS; } - else + else { return SAVE_IN_PROGRESS; } @@ -1131,13 +1127,13 @@ static u8 SaveErrorCallback(void) PlaySE(SE_BOO); sSaveDialogCallback = SaveReturnErrorCallback; } - + return SAVE_IN_PROGRESS; } static u8 SaveReturnErrorCallback(void) { - if (!SaveErrorTimer()) + if (!SaveErrorTimer()) { return SAVE_IN_PROGRESS; } @@ -1182,7 +1178,7 @@ static u8 BattlePyramidRetireInputCallback(void) sub_80A0014(); return SAVE_SUCCESS; } - + return SAVE_IN_PROGRESS; } @@ -1254,8 +1250,8 @@ static void sub_80A0550(u8 taskId) { case 0: FillWindowPixelBuffer(0, 17); - AddTextPrinterParameterized(0, - 1, + AddTextPrinterParameterized(0, + 1, gText_SavingDontTurnOffPower, 255, NULL, @@ -1266,14 +1262,14 @@ static void sub_80A0550(u8 taskId) PutWindowTilemap(0); CopyWindowToVram(0, 3); BeginNormalPaletteFade(-1, 0, 16, 0, 0); - + if (gWirelessCommType != 0 && InUnionRoom()) { if (sub_800A07C()) { *step = 1; } - else + else { *step = 5; } @@ -1327,7 +1323,7 @@ static void ShowSaveInfoWindow(void) u8 color; u32 xOffset; u32 yOffset; - + if (!FlagGet(FLAG_SYS_POKEDEX_GET)) { saveInfoWindow.height -= 2; @@ -1340,7 +1336,7 @@ static void ShowSaveInfoWindow(void) color = TEXT_COLOR_RED; // Red when female, blue when male. if (gender == MALE) - { + { color = TEXT_COLOR_BLUE; } @@ -1423,4 +1419,4 @@ void AppendToList(u8 *list, u8 *pos, u8 newEntry) { list[*pos] = newEntry; (*pos)++; -} \ No newline at end of file +} diff --git a/src/tv.c b/src/tv.c index 2219a720b..297754dfb 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1541,12 +1541,12 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; show->bravoTrainerTower.active = TRUE; StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2Ptr->playerName); - StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->field_BD8); - show->bravoTrainerTower.species = gSaveBlock2Ptr->field_BD4; - show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->field_BD6; - show->bravoTrainerTower.numFights = sub_8164FCC(gSaveBlock2Ptr->field_D07, 0); - show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->field_D06; - if (gSaveBlock2Ptr->field_D07 == 0) + StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.field_BD8); + show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.field_BD4; + show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.field_BD6; + show->bravoTrainerTower.numFights = sub_8164FCC(gSaveBlock2Ptr->frontier.field_D07, 0); + show->bravoTrainerTower.wonTheChallenge = gSaveBlock2Ptr->frontier.field_D06; + if (gSaveBlock2Ptr->frontier.field_D07 == 0) { show->bravoTrainerTower.btLevel = 50; } @@ -1557,13 +1557,13 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004; tv_store_id_2x(show); show->bravoTrainerTower.language = gGameLanguage; - if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->field_BEB == LANGUAGE_JAPANESE) + if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.field_BEB == LANGUAGE_JAPANESE) { show->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE; } else { - show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->field_BEB; + show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.field_BEB; } } @@ -1972,7 +1972,7 @@ void sub_80EDB44(void) show->rivalTrainer.nGoldSymbols ++; } } - show->rivalTrainer.battlePoints = gSaveBlock2Ptr->frontierBattlePoints; + show->rivalTrainer.battlePoints = gSaveBlock2Ptr->frontier.frontierBattlePoints; StringCopy(show->rivalTrainer.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show); show->rivalTrainer.language = gGameLanguage; @@ -2540,8 +2540,8 @@ void sub_80EE8C8(u16 winStreak, u8 facility) show->frontier.species2 = GetMonData(&gPlayerParty[1], MON_DATA_SPECIES, NULL); break; case 4: - show->frontier.species1 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->field_CAA[0] - 1], MON_DATA_SPECIES, NULL); - show->frontier.species2 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->field_CAA[1] - 1], MON_DATA_SPECIES, NULL); + show->frontier.species1 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.field_CAA[0] - 1], MON_DATA_SPECIES, NULL); + show->frontier.species2 = GetMonData(&gSaveBlock1Ptr->playerParty[gSaveBlock2Ptr->frontier.field_CAA[1] - 1], MON_DATA_SPECIES, NULL); break; } tv_store_id_3x(show); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 862672e19..97fa186ea 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -5102,7 +5102,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi } if (gMapHeader.mapDataId == 0x169) { - headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; + headerId = gSaveBlock2Ptr->frontier.field_CB2; if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) return FALSE; else if (DoWildEncounterRateTest(gBattlePyramidWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) @@ -5240,7 +5240,7 @@ bool8 SweetScentWildEncounter(void) } if (gMapHeader.mapDataId == 0x169) { - headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; + headerId = gSaveBlock2Ptr->frontier.field_CB2; if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) return FALSE; -- cgit v1.2.3 From 9329ffc2bc4435337f456334046eba18e2d27302 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 17 Jun 2018 12:39:58 +0200 Subject: review cut changes --- src/field_effect.c | 4 ++-- src/fldeff_cut.c | 6 ++---- src/fldeff_strength.c | 2 +- src/rom6.c | 4 ++-- 4 files changed, 7 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/field_effect.c b/src/field_effect.c index 00814192e..f047c78a3 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -561,7 +561,7 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y) PreservePaletteInWeather(IndexOfSpritePaletteTag(gMonPaletteTable[species].tag) + 0x10); if (spriteId == 0xFFFF) return 0x40; - + return spriteId; } #else @@ -623,7 +623,7 @@ u8 CreateMonSprite_FieldMove(u16 species, u32 d, u32 g, s16 x, s16 y, u8 subprio PreservePaletteInWeather(IndexOfSpritePaletteTag(spritePalette->tag) + 0x10); if (spriteId == 0xFFFF) return 0x40; - + return spriteId; } diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 615de0202..bdc9b7868 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -266,7 +266,7 @@ bool8 SetUpFieldMove_Cut(void) tileCuttable = TRUE; j = 0; - while (1) + do { if (sHyperCutStruct[i].unk2[j] == 0) break; @@ -275,9 +275,7 @@ bool8 SetUpFieldMove_Cut(void) tileCuttable = FALSE; break; } - if (++j >= 2) - break; - } + } while (++j <= 1); if (tileCuttable == TRUE) { diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index 52b76edb4..fb5aa5e95 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -14,7 +14,7 @@ static void sub_8145E74(void); // text bool8 SetUpFieldMove_Strength(void) { - if (SetLastTalkedObjectInFrontOfPlayer(87) == TRUE) + if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) { gSpecialVar_Result = GetCursorSelectionMonId(); gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/rom6.c b/src/rom6.c index cec2cfcb6..6c7439622 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -118,14 +118,14 @@ static void sub_813561C(u8 taskId) bool8 SetUpFieldMove_RockSmash(void) { - if(ShouldDoBrailleStrengthEffect()) + if (ShouldDoBrailleStrengthEffect()) { gSpecialVar_Result = GetCursorSelectionMonId(); gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_8179834; return TRUE; } - else if (SetLastTalkedObjectInFrontOfPlayer(0x56) == TRUE) + else if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_BREAKABLE_ROCK) == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_81356C4; -- cgit v1.2.3 From caa36b530a93dc51727822abf6c4c31fa8cbaf63 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 17 Jun 2018 16:48:58 +0200 Subject: label and document battle windows --- src/battle_ai_script_commands.c | 705 ++++++++++++++---------------- src/battle_ai_switch_items.c | 263 +++++------ src/battle_anim.c | 117 ++--- src/battle_anim_sound_tasks.c | 12 +- src/battle_bg.c | 100 ++--- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 2 +- src/battle_controller_player.c | 20 +- src/battle_controller_player_partner.c | 2 +- src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- src/battle_controller_safari.c | 6 +- src/battle_controller_wally.c | 6 +- src/battle_main.c | 46 +- src/battle_message.c | 688 +++++++++++++++++++++++++---- src/battle_script_commands.c | 10 +- src/berry_blender.c | 12 +- src/clear_save_data_screen.c | 2 +- src/egg_hatch.c | 2 +- src/evolution_scene.c | 30 +- src/field_region_map.c | 2 +- src/hall_of_fame.c | 4 +- src/item_menu.c | 4 +- src/list_menu.c | 2 +- src/main_menu.c | 4 +- src/menu.c | 6 +- src/mystery_event_menu.c | 2 +- src/pokeblock.c | 8 +- src/pokeblock_feed.c | 4 +- src/region_map.c | 2 +- src/reshow_battle_screen.c | 2 +- src/scrcmd.c | 2 +- src/start_menu.c | 2 +- src/starter_choose.c | 4 +- src/text_window.c | 12 +- src/use_pokeblock.c | 2 +- src/wallclock.c | 2 +- 38 files changed, 1301 insertions(+), 794 deletions(-) (limited to 'src') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index e1a9168a9..131598985 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -3,6 +3,7 @@ #include "pokemon.h" #include "battle.h" #include "battle_setup.h" +#include "recorded_battle.h" #include "constants/species.h" #include "constants/abilities.h" #include "random.h" @@ -41,13 +42,12 @@ in order to read the next command correctly. refer to battle_ai_scripts.s for th AI scripts. */ -extern const u8 * const gBattleAI_ScriptsTable[]; +extern const u8 *const gBattleAI_ScriptsTable[]; -extern u32 GetAiScriptsInRecordedBattle(); extern u32 GetAiScriptsInBattleFactory(); -static u8 BattleAI_ChooseMoveOrAction_Singles(void); -static u8 BattleAI_ChooseMoveOrAction_Doubles(void); +static u8 ChooseMoveOrAction_Singles(void); +static u8 ChooseMoveOrAction_Doubles(void); static void RecordLastUsedMoveByTarget(void); static void BattleAI_DoAIProcessing(void); static void AIStackPushVar(const u8 *); @@ -90,7 +90,7 @@ static void BattleAICmd_get_turn_count(void); static void BattleAICmd_get_type(void); static void BattleAICmd_get_considered_move_power(void); static void BattleAICmd_get_how_powerful_move_is(void); -static void BattleAICmd_get_last_used_bank_move(void); +static void BattleAICmd_get_last_used_battler_move(void); static void BattleAICmd_if_equal_(void); static void BattleAICmd_if_not_equal_(void); static void BattleAICmd_if_user_goes(void); @@ -154,115 +154,113 @@ static void BattleAICmd_if_flash_fired(void); static void BattleAICmd_if_holds_item(void); // ewram - EWRAM_DATA const u8 *gAIScriptPtr = NULL; EWRAM_DATA static u8 sBattler_AI = 0; // const rom data - typedef void (*BattleAICmdFunc)(void); static const BattleAICmdFunc sBattleAICmdTable[] = { - BattleAICmd_if_random_less_than, // 0x0 - BattleAICmd_if_random_greater_than, // 0x1 - BattleAICmd_if_random_equal, // 0x2 - BattleAICmd_if_random_not_equal, // 0x3 - BattleAICmd_score, // 0x4 - BattleAICmd_if_hp_less_than, // 0x5 - BattleAICmd_if_hp_more_than, // 0x6 - BattleAICmd_if_hp_equal, // 0x7 - BattleAICmd_if_hp_not_equal, // 0x8 - BattleAICmd_if_status, // 0x9 - BattleAICmd_if_not_status, // 0xA - BattleAICmd_if_status2, // 0xB - BattleAICmd_if_not_status2, // 0xC - BattleAICmd_if_status3, // 0xD - BattleAICmd_if_not_status3, // 0xE - BattleAICmd_if_side_affecting, // 0xF - BattleAICmd_if_not_side_affecting, // 0x10 - BattleAICmd_if_less_than, // 0x11 - BattleAICmd_if_more_than, // 0x12 - BattleAICmd_if_equal, // 0x13 - BattleAICmd_if_not_equal, // 0x14 - BattleAICmd_if_less_than_ptr, // 0x15 - BattleAICmd_if_more_than_ptr, // 0x16 - BattleAICmd_if_equal_ptr, // 0x17 - BattleAICmd_if_not_equal_ptr, // 0x18 - BattleAICmd_if_move, // 0x19 - BattleAICmd_if_not_move, // 0x1A - BattleAICmd_if_in_bytes, // 0x1B - BattleAICmd_if_not_in_bytes, // 0x1C - BattleAICmd_if_in_hwords, // 0x1D - BattleAICmd_if_not_in_hwords, // 0x1E - BattleAICmd_if_user_has_attacking_move, // 0x1F - BattleAICmd_if_user_has_no_attacking_moves, // 0x20 - BattleAICmd_get_turn_count, // 0x21 - BattleAICmd_get_type, // 0x22 - BattleAICmd_get_considered_move_power, // 0x23 - BattleAICmd_get_how_powerful_move_is, // 0x24 - BattleAICmd_get_last_used_bank_move, // 0x25 - BattleAICmd_if_equal_, // 0x26 - BattleAICmd_if_not_equal_, // 0x27 - BattleAICmd_if_user_goes, // 0x28 - BattleAICmd_if_user_doesnt_go, // 0x29 - BattleAICmd_nullsub_2A, // 0x2A - BattleAICmd_nullsub_2B, // 0x2B - BattleAICmd_count_usable_party_mons, // 0x2C - BattleAICmd_get_considered_move, // 0x2D - BattleAICmd_get_considered_move_effect, // 0x2E - BattleAICmd_get_ability, // 0x2F - BattleAICmd_get_highest_type_effectiveness, // 0x30 - BattleAICmd_if_type_effectiveness, // 0x31 - BattleAICmd_nullsub_32, // 0x32 - BattleAICmd_nullsub_33, // 0x33 - BattleAICmd_if_status_in_party, // 0x34 - BattleAICmd_if_status_not_in_party, // 0x35 - BattleAICmd_get_weather, // 0x36 - BattleAICmd_if_effect, // 0x37 - BattleAICmd_if_not_effect, // 0x38 - BattleAICmd_if_stat_level_less_than, // 0x39 - BattleAICmd_if_stat_level_more_than, // 0x3A - BattleAICmd_if_stat_level_equal, // 0x3B - BattleAICmd_if_stat_level_not_equal, // 0x3C - BattleAICmd_if_can_faint, // 0x3D - BattleAICmd_if_cant_faint, // 0x3E - BattleAICmd_if_has_move, // 0x3F - BattleAICmd_if_doesnt_have_move, // 0x40 - BattleAICmd_if_has_move_with_effect, // 0x41 - BattleAICmd_if_doesnt_have_move_with_effect, // 0x42 + BattleAICmd_if_random_less_than, // 0x0 + BattleAICmd_if_random_greater_than, // 0x1 + BattleAICmd_if_random_equal, // 0x2 + BattleAICmd_if_random_not_equal, // 0x3 + BattleAICmd_score, // 0x4 + BattleAICmd_if_hp_less_than, // 0x5 + BattleAICmd_if_hp_more_than, // 0x6 + BattleAICmd_if_hp_equal, // 0x7 + BattleAICmd_if_hp_not_equal, // 0x8 + BattleAICmd_if_status, // 0x9 + BattleAICmd_if_not_status, // 0xA + BattleAICmd_if_status2, // 0xB + BattleAICmd_if_not_status2, // 0xC + BattleAICmd_if_status3, // 0xD + BattleAICmd_if_not_status3, // 0xE + BattleAICmd_if_side_affecting, // 0xF + BattleAICmd_if_not_side_affecting, // 0x10 + BattleAICmd_if_less_than, // 0x11 + BattleAICmd_if_more_than, // 0x12 + BattleAICmd_if_equal, // 0x13 + BattleAICmd_if_not_equal, // 0x14 + BattleAICmd_if_less_than_ptr, // 0x15 + BattleAICmd_if_more_than_ptr, // 0x16 + BattleAICmd_if_equal_ptr, // 0x17 + BattleAICmd_if_not_equal_ptr, // 0x18 + BattleAICmd_if_move, // 0x19 + BattleAICmd_if_not_move, // 0x1A + BattleAICmd_if_in_bytes, // 0x1B + BattleAICmd_if_not_in_bytes, // 0x1C + BattleAICmd_if_in_hwords, // 0x1D + BattleAICmd_if_not_in_hwords, // 0x1E + BattleAICmd_if_user_has_attacking_move, // 0x1F + BattleAICmd_if_user_has_no_attacking_moves, // 0x20 + BattleAICmd_get_turn_count, // 0x21 + BattleAICmd_get_type, // 0x22 + BattleAICmd_get_considered_move_power, // 0x23 + BattleAICmd_get_how_powerful_move_is, // 0x24 + BattleAICmd_get_last_used_battler_move, // 0x25 + BattleAICmd_if_equal_, // 0x26 + BattleAICmd_if_not_equal_, // 0x27 + BattleAICmd_if_user_goes, // 0x28 + BattleAICmd_if_user_doesnt_go, // 0x29 + BattleAICmd_nullsub_2A, // 0x2A + BattleAICmd_nullsub_2B, // 0x2B + BattleAICmd_count_usable_party_mons, // 0x2C + BattleAICmd_get_considered_move, // 0x2D + BattleAICmd_get_considered_move_effect, // 0x2E + BattleAICmd_get_ability, // 0x2F + BattleAICmd_get_highest_type_effectiveness, // 0x30 + BattleAICmd_if_type_effectiveness, // 0x31 + BattleAICmd_nullsub_32, // 0x32 + BattleAICmd_nullsub_33, // 0x33 + BattleAICmd_if_status_in_party, // 0x34 + BattleAICmd_if_status_not_in_party, // 0x35 + BattleAICmd_get_weather, // 0x36 + BattleAICmd_if_effect, // 0x37 + BattleAICmd_if_not_effect, // 0x38 + BattleAICmd_if_stat_level_less_than, // 0x39 + BattleAICmd_if_stat_level_more_than, // 0x3A + BattleAICmd_if_stat_level_equal, // 0x3B + BattleAICmd_if_stat_level_not_equal, // 0x3C + BattleAICmd_if_can_faint, // 0x3D + BattleAICmd_if_cant_faint, // 0x3E + BattleAICmd_if_has_move, // 0x3F + BattleAICmd_if_doesnt_have_move, // 0x40 + BattleAICmd_if_has_move_with_effect, // 0x41 + BattleAICmd_if_doesnt_have_move_with_effect, // 0x42 BattleAICmd_if_any_move_disabled_or_encored, // 0x43 BattleAICmd_if_curr_move_disabled_or_encored, // 0x44 - BattleAICmd_flee, // 0x45 - BattleAICmd_if_random_safari_flee, // 0x46 - BattleAICmd_watch, // 0x47 - BattleAICmd_get_hold_effect, // 0x48 - BattleAICmd_get_gender, // 0x49 - BattleAICmd_is_first_turn_for, // 0x4A - BattleAICmd_get_stockpile_count, // 0x4B - BattleAICmd_is_double_battle, // 0x4C - BattleAICmd_get_used_held_item, // 0x4D - BattleAICmd_get_move_type_from_result, // 0x4E - BattleAICmd_get_move_power_from_result, // 0x4F - BattleAICmd_get_move_effect_from_result, // 0x50 - BattleAICmd_get_protect_count, // 0x51 - BattleAICmd_nullsub_52, // 0x52 - BattleAICmd_nullsub_53, // 0x53 - BattleAICmd_nullsub_54, // 0x54 - BattleAICmd_nullsub_55, // 0x55 - BattleAICmd_nullsub_56, // 0x56 - BattleAICmd_nullsub_57, // 0x57 - BattleAICmd_call, // 0x58 - BattleAICmd_goto, // 0x59 - BattleAICmd_end, // 0x5A - BattleAICmd_if_level_cond, // 0x5B - BattleAICmd_if_target_taunted, // 0x5C - BattleAICmd_if_target_not_taunted, // 0x5D - BattleAICmd_if_target_is_ally, // 0x5E - BattleAICmd_is_of_type, // 0x5F - BattleAICmd_check_ability, // 0x60 - BattleAICmd_if_flash_fired, // 0x61 - BattleAICmd_if_holds_item, // 0x62 + BattleAICmd_flee, // 0x45 + BattleAICmd_if_random_safari_flee, // 0x46 + BattleAICmd_watch, // 0x47 + BattleAICmd_get_hold_effect, // 0x48 + BattleAICmd_get_gender, // 0x49 + BattleAICmd_is_first_turn_for, // 0x4A + BattleAICmd_get_stockpile_count, // 0x4B + BattleAICmd_is_double_battle, // 0x4C + BattleAICmd_get_used_held_item, // 0x4D + BattleAICmd_get_move_type_from_result, // 0x4E + BattleAICmd_get_move_power_from_result, // 0x4F + BattleAICmd_get_move_effect_from_result, // 0x50 + BattleAICmd_get_protect_count, // 0x51 + BattleAICmd_nullsub_52, // 0x52 + BattleAICmd_nullsub_53, // 0x53 + BattleAICmd_nullsub_54, // 0x54 + BattleAICmd_nullsub_55, // 0x55 + BattleAICmd_nullsub_56, // 0x56 + BattleAICmd_nullsub_57, // 0x57 + BattleAICmd_call, // 0x58 + BattleAICmd_goto, // 0x59 + BattleAICmd_end, // 0x5A + BattleAICmd_if_level_cond, // 0x5B + BattleAICmd_if_target_taunted, // 0x5C + BattleAICmd_if_target_not_taunted, // 0x5D + BattleAICmd_if_target_is_ally, // 0x5E + BattleAICmd_is_of_type, // 0x5F + BattleAICmd_check_ability, // 0x60 + BattleAICmd_if_flash_fired, // 0x61 + BattleAICmd_if_holds_item, // 0x62 }; static const u16 sDiscouragedPowerfulMoveEffects[] = @@ -282,26 +280,29 @@ static const u16 sDiscouragedPowerfulMoveEffects[] = 0xFFFF }; +// code void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves) { s32 i; - u8 *data = (u8 *)gBattleResources->battleHistory; + u8 *data = (u8 *)BATTLE_HISTORY; for (i = 0; i < sizeof(struct BattleHistory); i++) data[i] = 0; - // items are allowed to use in ONLY trainer battles - if ((gBattleTypeFlags & - (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER | - BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_TRAINER | BATTLE_TYPE_FRONTIER - | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_SECRET_BASE)) - == BATTLE_TYPE_TRAINER) + + // Items are allowed to use in ONLY trainer battles. + if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER) + && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_SAFARI | BATTLE_TYPE_BATTLE_TOWER + | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_SECRET_BASE | BATTLE_TYPE_FRONTIER + | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_x2000000) + ) + ) { for (i = 0; i < 4; i++) { if (gTrainers[gTrainerBattleOpponent_A].items[i] != 0) { - gBattleResources->battleHistory->trainerItems[gBattleResources->battleHistory->itemsNo] = gTrainers[gTrainerBattleOpponent_A].items[i]; - gBattleResources->battleHistory->itemsNo++; + BATTLE_HISTORY->trainerItems[BATTLE_HISTORY->itemsNo] = gTrainers[gTrainerBattleOpponent_A].items[i]; + BATTLE_HISTORY->itemsNo++; } } } @@ -315,23 +316,24 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) u8 *data = (u8 *)AI_THINKING_STRUCT; u8 moveLimitations; - // clear AI data. + // Clear AI data. for (i = 0; i < sizeof(struct AI_ThinkingStruct); i++) data[i] = 0; - // conditional score reset, unlike Ruby. + // Conditional score reset, unlike Ruby. for (i = 0; i < 4; i++) { if (defaultScoreMoves & 1) AI_THINKING_STRUCT->score[i] = 100; else AI_THINKING_STRUCT->score[i] = 0; + defaultScoreMoves >>= 1; } moveLimitations = CheckMoveLimitations(gActiveBattler, 0, 0xFF); - // ignore moves that aren't possible to use + // Ignore moves that aren't possible to use. for (i = 0; i < 4; i++) { if (gBitTable[i] & moveLimitations) @@ -339,21 +341,24 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16); } + gBattleResources->AI_ScriptsStack->size = 0; sBattler_AI = gActiveBattler; - // decide a random target battlerId in doubles + + // Decide a random target battlerId in doubles. if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { gBattlerTarget = (Random() & BIT_FLANK) + (GetBattlerSide(gActiveBattler) ^ BIT_SIDE); if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget ^= BIT_FLANK; } - // in singles there's only one choice + // There's only one choice in signle battles. else { gBattlerTarget = sBattler_AI ^ BIT_SIDE; } + // Choose proper trainer ai scripts. if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) AI_THINKING_STRUCT->aiFlags = GetAiScriptsInRecordedBattle(); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) @@ -370,6 +375,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags | gTrainers[gTrainerBattleOpponent_B].aiFlags; else AI_THINKING_STRUCT->aiFlags = gTrainers[gTrainerBattleOpponent_A].aiFlags; + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) AI_THINKING_STRUCT->aiFlags |= AI_SCRIPT_DOUBLE_BATTLE; // act smart in doubles and don't attack your partner } @@ -380,15 +386,15 @@ u8 BattleAI_ChooseMoveOrAction(void) u8 ret; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - ret = BattleAI_ChooseMoveOrAction_Singles(); + ret = ChooseMoveOrAction_Singles(); else - ret = BattleAI_ChooseMoveOrAction_Doubles(); + ret = ChooseMoveOrAction_Doubles(); gCurrentMove = savedCurrentMove; return ret; } -static u8 BattleAI_ChooseMoveOrAction_Singles(void) +static u8 ChooseMoveOrAction_Singles(void) { u8 currentMoveArray[4]; u8 consideredMoveArray[4]; @@ -409,11 +415,11 @@ static u8 BattleAI_ChooseMoveOrAction_Singles(void) AI_THINKING_STRUCT->movesetIndex = 0; } - // special flags for safari + // Check special AI actions. if (AI_THINKING_STRUCT->aiAction & AI_ACTION_FLEE) - return 4; + return AI_CHOICE_FLEE; if (AI_THINKING_STRUCT->aiAction & AI_ACTION_WATCH) - return 5; + return AI_CHOICE_WATCH; numOfBestMoves = 1; currentMoveArray[0] = AI_THINKING_STRUCT->score[0]; @@ -421,9 +427,9 @@ static u8 BattleAI_ChooseMoveOrAction_Singles(void) for (i = 1; i < 4; i++) { - if (gBattleMons[sBattler_AI].moves[i] != 0) // emerald adds an extra move ID check for some reason. + if (gBattleMons[sBattler_AI].moves[i] != MOVE_NONE) { - // in ruby, the order of these if statements are reversed. + // In ruby, the order of these if statements is reversed. if (currentMoveArray[0] == AI_THINKING_STRUCT->score[i]) { currentMoveArray[numOfBestMoves] = AI_THINKING_STRUCT->score[i]; @@ -440,7 +446,7 @@ static u8 BattleAI_ChooseMoveOrAction_Singles(void) return consideredMoveArray[Random() % numOfBestMoves]; } -static u8 BattleAI_ChooseMoveOrAction_Doubles(void) +static u8 ChooseMoveOrAction_Doubles(void) { s32 i; s32 j; @@ -487,10 +493,15 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) AI_THINKING_STRUCT->aiLogicId++; AI_THINKING_STRUCT->movesetIndex = 0; } + if (AI_THINKING_STRUCT->aiAction & AI_ACTION_FLEE) - actionOrMoveIndex[i] = 4; + { + actionOrMoveIndex[i] = AI_CHOICE_FLEE; + } else if (AI_THINKING_STRUCT->aiAction & AI_ACTION_WATCH) - actionOrMoveIndex[i] = 5; + { + actionOrMoveIndex[i] = AI_CHOICE_WATCH; + } else { mostViableMovesScores[0] = AI_THINKING_STRUCT->score[0]; @@ -513,18 +524,16 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) mostViableMovesNo = 1; } } - //_08130E72 } actionOrMoveIndex[i] = mostViableMovesIndices[Random() % mostViableMovesNo]; bestMovePointsForTarget[i] = mostViableMovesScores[0]; - // don't use a move against ally if it has less than 100 pts + // Don't use a move against ally if it has less than 100 points. if (i == (sBattler_AI ^ BIT_FLANK) && bestMovePointsForTarget[i] < 100) { bestMovePointsForTarget[i] = -1; - mostViableMovesScores[0] = mostViableMovesScores[0]; // needed to match + mostViableMovesScores[0] = mostViableMovesScores[0]; // Needed to match. } - } } } @@ -535,13 +544,11 @@ static u8 BattleAI_ChooseMoveOrAction_Doubles(void) for (i = 1; i < 4; i++) { - //_08130EDA if (mostMovePoints == bestMovePointsForTarget[i]) { mostViableTargetsArray[mostViableTargetsNo] = i; mostViableTargetsNo++; } - //_08130EEE if (mostMovePoints < bestMovePointsForTarget[i]) { mostMovePoints = bestMovePointsForTarget[i]; @@ -576,7 +583,9 @@ static void BattleAI_DoAIProcessing(void) break; case AIState_Processing: if (AI_THINKING_STRUCT->moveConsidered != 0) + { sBattleAICmdTable[*gAIScriptPtr](); // Run AI command. + } else { AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; @@ -604,12 +613,12 @@ static void RecordLastUsedMoveByTarget(void) for (i = 0; i < 4; i++) { - if (gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == gLastMoves[gBattlerTarget]) break; - if (gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] != gLastMoves[gBattlerTarget] // HACK: This redundant condition is a hack to make the asm match. - && gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] == 0) + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] != gLastMoves[gBattlerTarget] // HACK: This redundant condition is a hack to make the asm match. + && BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == MOVE_NONE) { - gBattleResources->battleHistory->usedMoves[gBattlerTarget].moves[i] = gLastMoves[gBattlerTarget]; + BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] = gLastMoves[gBattlerTarget]; break; } } @@ -620,27 +629,27 @@ void ClearBattlerMoveHistory(u8 battlerId) s32 i; for (i = 0; i < 4; i++) - gBattleResources->battleHistory->usedMoves[battlerId].moves[i] = 0; + BATTLE_HISTORY->usedMoves[battlerId].moves[i] = MOVE_NONE; } void RecordAbilityBattle(u8 battlerId, u8 abilityId) { - gBattleResources->battleHistory->abilities[battlerId] = abilityId; + BATTLE_HISTORY->abilities[battlerId] = abilityId; } void ClearBattlerAbilityHistory(u8 battlerId) { - gBattleResources->battleHistory->abilities[battlerId] = 0; + BATTLE_HISTORY->abilities[battlerId] = ABILITY_NONE; } void RecordItemEffectBattle(u8 battlerId, u8 itemEffect) { - gBattleResources->battleHistory->itemEffects[battlerId] = itemEffect; + BATTLE_HISTORY->itemEffects[battlerId] = itemEffect; } -void ClearBankItemEffectHistory(u8 battlerId) +void ClearBattlerItemEffectHistory(u8 battlerId) { - gBattleResources->battleHistory->itemEffects[battlerId] = 0; + BATTLE_HISTORY->itemEffects[battlerId] = 0; } static void BattleAICmd_if_random_less_than(void) @@ -685,9 +694,9 @@ static void BattleAICmd_if_random_not_equal(void) static void BattleAICmd_score(void) { - AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // add the result to the array of the move consider's score. + AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] += gAIScriptPtr[1]; // Add the result to the array of the move consider's score. - if (AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] < 0) // if the score is negative, flatten it to 0. + if (AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] < 0) // If the score is negative, flatten it to 0. AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; gAIScriptPtr += 2; // AI return. @@ -765,7 +774,7 @@ static void BattleAICmd_if_status(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status1 & status) != 0) + if ((gBattleMons[battlerId].status1 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -783,7 +792,7 @@ static void BattleAICmd_if_not_status(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status1 & status) == 0) + if (!(gBattleMons[battlerId].status1 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -801,7 +810,7 @@ static void BattleAICmd_if_status2(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status2 & status) != 0) + if ((gBattleMons[battlerId].status2 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -819,7 +828,7 @@ static void BattleAICmd_if_not_status2(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status2 & status) == 0) + if (!(gBattleMons[battlerId].status2 & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -837,7 +846,7 @@ static void BattleAICmd_if_status3(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gStatuses3[battlerId] & status) != 0) + if ((gStatuses3[battlerId] & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -855,7 +864,7 @@ static void BattleAICmd_if_not_status3(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gStatuses3[battlerId] & status) == 0) + if (!(gStatuses3[battlerId] & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -874,7 +883,7 @@ static void BattleAICmd_if_side_affecting(void) side = GET_BATTLER_SIDE(battlerId); status = T1_READ_32(gAIScriptPtr + 2); - if ((gSideStatuses[side] & status) != 0) + if ((gSideStatuses[side] & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -893,7 +902,7 @@ static void BattleAICmd_if_not_side_affecting(void) side = GET_BATTLER_SIDE(battlerId); status = T1_READ_32(gAIScriptPtr + 2); - if ((gSideStatuses[side] & status) == 0) + if (!(gSideStatuses[side] & status)) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -1041,7 +1050,7 @@ static void BattleAICmd_if_in_hwords(void) static void BattleAICmd_if_not_in_hwords(void) { - const u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1); + const u16 *ptr = (const u16 *)T1_READ_PTR(gAIScriptPtr + 1); while (*ptr != 0xFFFF) { @@ -1065,6 +1074,7 @@ static void BattleAICmd_if_user_has_attacking_move(void) && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].power != 0) break; } + if (i == 4) gAIScriptPtr += 5; else @@ -1081,6 +1091,7 @@ static void BattleAICmd_if_user_has_no_attacking_moves(void) && gBattleMoves[gBattleMons[sBattler_AI].moves[i]].power != 0) break; } + if (i != 4) gAIScriptPtr += 5; else @@ -1118,34 +1129,30 @@ static void BattleAICmd_get_type(void) gAIScriptPtr += 2; } -static u8 BattleAI_GetWantedBank(u8 battlerId) +static u8 BattleAI_GetWantedBattler(u8 wantedBattler) { - switch (battlerId) + switch (wantedBattler) { - case AI_USER: - return sBattler_AI; - case AI_TARGET: - default: - return gBattlerTarget; - case AI_USER_PARTNER: - return sBattler_AI ^ BIT_FLANK; - case AI_TARGET_PARTNER: - return gBattlerTarget ^ BIT_FLANK; + case AI_USER: + return sBattler_AI; + case AI_TARGET: + default: + return gBattlerTarget; + case AI_USER_PARTNER: + return sBattler_AI ^ BIT_FLANK; + case AI_TARGET_PARTNER: + return gBattlerTarget ^ BIT_FLANK; } } static void BattleAICmd_is_of_type(void) { - u8 battlerId = BattleAI_GetWantedBank(gAIScriptPtr[1]); + u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); - if(gBattleMons[battlerId].type1 == gAIScriptPtr[2] || gBattleMons[battlerId].type2 == gAIScriptPtr[2]) - { + if (IS_BATTLER_OF_TYPE(battlerId, gAIScriptPtr[2])) AI_THINKING_STRUCT->funcResult = TRUE; - } else - { AI_THINKING_STRUCT->funcResult = FALSE; - } gAIScriptPtr += 3; } @@ -1208,19 +1215,19 @@ static void BattleAICmd_get_how_powerful_move_is(void) } if (checkedMove == 4) - AI_THINKING_STRUCT->funcResult = MOVE_MOST_POWERFUL; // is the most powerful + AI_THINKING_STRUCT->funcResult = MOVE_MOST_POWERFUL; // Is the most powerful. else - AI_THINKING_STRUCT->funcResult = MOVE_NOT_MOST_POWERFUL; // not most powerful + AI_THINKING_STRUCT->funcResult = MOVE_NOT_MOST_POWERFUL; // Not the most powerful. } else { - AI_THINKING_STRUCT->funcResult = MOVE_POWER_DISCOURAGED; // highly discouraged in terms of power + AI_THINKING_STRUCT->funcResult = MOVE_POWER_DISCOURAGED; // Highly discouraged in terms of power. } gAIScriptPtr++; } -static void BattleAICmd_get_last_used_bank_move(void) +static void BattleAICmd_get_last_used_battler_move(void) { if (gAIScriptPtr[1] == AI_USER) AI_THINKING_STRUCT->funcResult = gLastMoves[sBattler_AI]; @@ -1230,7 +1237,7 @@ static void BattleAICmd_get_last_used_bank_move(void) gAIScriptPtr += 2; } -static void BattleAICmd_if_equal_(void) // same as if_equal +static void BattleAICmd_if_equal_(void) // Same as if_equal. { if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1238,7 +1245,7 @@ static void BattleAICmd_if_equal_(void) // same as if_equal gAIScriptPtr += 6; } -static void BattleAICmd_if_not_equal_(void) // same as if_not_equal +static void BattleAICmd_if_not_equal_(void) // Same as if_not_equal. { if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -1273,9 +1280,9 @@ static void BattleAICmd_nullsub_2B(void) static void BattleAICmd_count_usable_party_mons(void) { u8 battlerId; - u8 bankOnField1, bankOnField2; + u8 battlerOnField1, battlerOnField2; struct Pokemon *party; - int i; + s32 i; AI_THINKING_STRUCT->funcResult = 0; @@ -1292,19 +1299,19 @@ static void BattleAICmd_count_usable_party_mons(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u32 position; - bankOnField1 = gBattlerPartyIndexes[battlerId]; + battlerOnField1 = gBattlerPartyIndexes[battlerId]; position = GetBattlerPosition(battlerId) ^ BIT_FLANK; - bankOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)]; + battlerOnField2 = gBattlerPartyIndexes[GetBattlerAtPosition(position)]; } - else // in singles there's only one battlerId by side + else // In singles there's only one battlerId by side. { - bankOnField1 = gBattlerPartyIndexes[battlerId]; - bankOnField2 = gBattlerPartyIndexes[battlerId]; + battlerOnField1 = gBattlerPartyIndexes[battlerId]; + battlerOnField2 = gBattlerPartyIndexes[battlerId]; } for (i = 0; i < PARTY_SIZE; i++) { - if (i != bankOnField1 && i != bankOnField2 + if (i != battlerOnField1 && i != battlerOnField2 && GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) @@ -1362,22 +1369,18 @@ static void BattleAICmd_get_ability(void) { // AI has no knowledge of opponent, so it guesses which ability. if (Random() & 1) - { AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability1; - } else - { AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability2; - } } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability1; // it's definitely ability 1. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability1; // It's definitely ability 1. } } else { - AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. + AI_THINKING_STRUCT->funcResult = gBaseStats[gBattleMons[battlerId].species].ability2; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. } } else @@ -1385,22 +1388,23 @@ static void BattleAICmd_get_ability(void) // The AI knows its own ability. AI_THINKING_STRUCT->funcResult = gBattleMons[battlerId].ability; } + gAIScriptPtr += 2; } static void BattleAICmd_check_ability(void) { - u32 battlerId = BattleAI_GetWantedBank(gAIScriptPtr[1]); + u32 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u32 ability = gAIScriptPtr[2]; if (gAIScriptPtr[1] == AI_TARGET || gAIScriptPtr[1] == AI_TARGET_PARTNER) { - if (BATTLE_HISTORY->abilities[battlerId] != 0) + if (BATTLE_HISTORY->abilities[battlerId] != ABILITY_NONE) { ability = BATTLE_HISTORY->abilities[battlerId]; AI_THINKING_STRUCT->funcResult = ability; } - // abilities that prevent fleeing. + // Abilities that prevent fleeing. else if (gBattleMons[battlerId].ability == ABILITY_SHADOW_TAG || gBattleMons[battlerId].ability == ABILITY_MAGNET_PULL || gBattleMons[battlerId].ability == ABILITY_ARENA_TRAP) @@ -1411,14 +1415,16 @@ static void BattleAICmd_check_ability(void) { if (gBaseStats[gBattleMons[battlerId].species].ability2 != ABILITY_NONE) { - u8 abilityDummyVariable = ability; // needed to match + u8 abilityDummyVariable = ability; // Needed to match. if (gBaseStats[gBattleMons[battlerId].species].ability1 != abilityDummyVariable && gBaseStats[gBattleMons[battlerId].species].ability2 != abilityDummyVariable) { ability = gBaseStats[gBattleMons[battlerId].species].ability1; } else - ability = 0; + { + ability = ABILITY_NONE; + } } else { @@ -1427,7 +1433,7 @@ static void BattleAICmd_check_ability(void) } else { - ability = gBaseStats[gBattleMons[battlerId].species].ability2; // AI cant actually reach this part since every mon has at least 1 ability. + ability = gBaseStats[gBattleMons[battlerId].species].ability2; // AI can't actually reach this part since no pokemon has ability 2 and no ability 1. } } else @@ -1435,25 +1441,21 @@ static void BattleAICmd_check_ability(void) // The AI knows its own or partner's ability. ability = gBattleMons[battlerId].ability; } + if (ability == 0) - { - AI_THINKING_STRUCT->funcResult = 2; // unable to answer - } + AI_THINKING_STRUCT->funcResult = 2; // Unable to answer. else if (ability == gAIScriptPtr[2]) - { - AI_THINKING_STRUCT->funcResult = 1; // pokemon has the ability we wanted to check - } + AI_THINKING_STRUCT->funcResult = 1; // Pokemon has the ability we wanted to check. else - { - AI_THINKING_STRUCT->funcResult = 0; // pokemon doesn't have the ability we wanted to check - } + AI_THINKING_STRUCT->funcResult = 0; // Pokemon doesn't have the ability we wanted to check. + gAIScriptPtr += 3; } static void BattleAICmd_get_highest_type_effectiveness(void) { s32 i; - u8* dynamicMoveType; + u8 *dynamicMoveType; gDynamicBasePower = 0; dynamicMoveType = &gBattleStruct->dynamicMoveType; @@ -1465,19 +1467,18 @@ static void BattleAICmd_get_highest_type_effectiveness(void) for (i = 0; i < 4; i++) { - gBattleMoveDamage = AI_EFFECTIVENESS_x1; + gBattleMoveDamage = 40; gCurrentMove = gBattleMons[sBattler_AI].moves[i]; - if (gCurrentMove) + if (gCurrentMove != MOVE_NONE) { TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); - // reduce by 1/3. - if (gBattleMoveDamage == 120) + if (gBattleMoveDamage == 120) // Super effective STAB. gBattleMoveDamage = AI_EFFECTIVENESS_x2; if (gBattleMoveDamage == 240) gBattleMoveDamage = AI_EFFECTIVENESS_x4; - if (gBattleMoveDamage == 30) + if (gBattleMoveDamage == 30) // Not very effective STAB. gBattleMoveDamage = AI_EFFECTIVENESS_x0_5; if (gBattleMoveDamage == 15) gBattleMoveDamage = AI_EFFECTIVENESS_x0_25; @@ -1489,6 +1490,7 @@ static void BattleAICmd_get_highest_type_effectiveness(void) AI_THINKING_STRUCT->funcResult = gBattleMoveDamage; } } + gAIScriptPtr += 1; } @@ -1507,11 +1509,11 @@ static void BattleAICmd_if_type_effectiveness(void) TypeCalc(gCurrentMove, sBattler_AI, gBattlerTarget); - if (gBattleMoveDamage == 120) + if (gBattleMoveDamage == 120) // Super effective STAB. gBattleMoveDamage = AI_EFFECTIVENESS_x2; if (gBattleMoveDamage == 240) gBattleMoveDamage = AI_EFFECTIVENESS_x4; - if (gBattleMoveDamage == 30) + if (gBattleMoveDamage == 30) // Not very effective STAB. gBattleMoveDamage = AI_EFFECTIVENESS_x0_5; if (gBattleMoveDamage == 15) gBattleMoveDamage = AI_EFFECTIVENESS_x0_25; @@ -1519,7 +1521,7 @@ static void BattleAICmd_if_type_effectiveness(void) if (gMoveResultFlags & MOVE_RESULT_DOESNT_AFFECT_FOE) gBattleMoveDamage = AI_EFFECTIVENESS_x0; - // store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. + // Store gBattleMoveDamage in a u8 variable because gAIScriptPtr[1] is a u8. damageVar = gBattleMoveDamage; if (damageVar == gAIScriptPtr[1]) @@ -1539,18 +1541,18 @@ static void BattleAICmd_nullsub_33(void) static void BattleAICmd_if_status_in_party(void) { struct Pokemon *party; - int i; + s32 i; u32 statusToCompareTo; u8 battlerId; - switch(gAIScriptPtr[1]) + switch (gAIScriptPtr[1]) { - case AI_USER: - battlerId = sBattler_AI; - break; - default: - battlerId = gBattlerTarget; - break; + case AI_USER: + battlerId = sBattler_AI; + break; + default: + battlerId = gBattlerTarget; + break; } party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; @@ -1576,18 +1578,18 @@ static void BattleAICmd_if_status_in_party(void) static void BattleAICmd_if_status_not_in_party(void) { struct Pokemon *party; - int i; + s32 i; u32 statusToCompareTo; u8 battlerId; switch(gAIScriptPtr[1]) { - case 1: - battlerId = sBattler_AI; - break; - default: - battlerId = gBattlerTarget; - break; + case 1: + battlerId = sBattler_AI; + break; + default: + battlerId = gBattlerTarget; + break; } party = (GetBattlerSide(battlerId) == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; @@ -1602,7 +1604,8 @@ static void BattleAICmd_if_status_not_in_party(void) if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo) { - gAIScriptPtr += 10; // still bugged in Emerald + gAIScriptPtr += 10; // UB: Still bugged in Emerald. Uncomment the return statement to fix. + // return; } } @@ -1718,7 +1721,7 @@ static void BattleAICmd_if_can_faint(void) gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; - // moves always do at least 1 damage. + // Moves always do at least 1 damage. if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -1747,7 +1750,7 @@ static void BattleAICmd_if_cant_faint(void) gBattleMoveDamage = gBattleMoveDamage * AI_THINKING_STRUCT->simulatedRNG[AI_THINKING_STRUCT->movesetIndex] / 100; - // this macro is missing the damage 0 = 1 assumption. + // This macro is missing the damage 0 = 1 assumption. if (gBattleMons[gBattlerTarget].hp > gBattleMoveDamage) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); @@ -1757,118 +1760,93 @@ static void BattleAICmd_if_cant_faint(void) static void BattleAICmd_if_has_move(void) { - int i; + s32 i; const u16 *movePtr = (u16 *)(gAIScriptPtr + 2); switch (gAIScriptPtr[1]) { - case AI_USER: - for (i = 0; i < 4; i++) - { - if (gBattleMons[sBattler_AI].moves[i] == *movePtr) - break; - } - if (i == 4) - { - gAIScriptPtr += 8; - return; - } - else - { - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); - return; - } - case AI_USER_PARTNER: - if (gBattleMons[sBattler_AI ^ BIT_FLANK].hp == 0) - { - gAIScriptPtr += 8; - return; - } - else - { - for (i = 0; i < 4; i++) - { - if (gBattleMons[sBattler_AI ^ BIT_FLANK].moves[i] == *movePtr) - break; - } - } - if (i == 4) - { - gAIScriptPtr += 8; - return; - } - else - { - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); - return; - } - case AI_TARGET: - case AI_TARGET_PARTNER: + case AI_USER: + for (i = 0; i < 4; i++) + { + if (gBattleMons[sBattler_AI].moves[i] == *movePtr) + break; + } + if (i == 4) + gAIScriptPtr += 8; + else + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + break; + case AI_USER_PARTNER: + if (gBattleMons[sBattler_AI ^ BIT_FLANK].hp == 0) + { + gAIScriptPtr += 8; + break; + } + else + { for (i = 0; i < 4; i++) { - if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == *movePtr) + if (gBattleMons[sBattler_AI ^ BIT_FLANK].moves[i] == *movePtr) break; } - if (i == 4) - { - gAIScriptPtr += 8; - return; - } - else - { - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); - return; - } + } + if (i == 4) + gAIScriptPtr += 8; + else + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + break; + case AI_TARGET: + case AI_TARGET_PARTNER: + for (i = 0; i < 4; i++) + { + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == *movePtr) + break; + } + if (i == 4) + gAIScriptPtr += 8; + else + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + break; } } static void BattleAICmd_if_doesnt_have_move(void) { - int i; + s32 i; const u16 *movePtr = (u16 *)(gAIScriptPtr + 2); switch(gAIScriptPtr[1]) { - case AI_USER: - case AI_USER_PARTNER: // UB: no separate check for user partner - for (i = 0; i < 4; i++) - { - if (gBattleMons[sBattler_AI].moves[i] == *movePtr) - break; - } - if (i != 4) - { - gAIScriptPtr += 8; - return; - } - else - { - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); - return; - } - case AI_TARGET: - case AI_TARGET_PARTNER: - for (i = 0; i < 4; i++) - { - if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == *movePtr) - break; - } - if (i != 4) - { - gAIScriptPtr += 8; - return; - } - else - { - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); - return; - } + case AI_USER: + case AI_USER_PARTNER: // UB: no separate check for user partner. + for (i = 0; i < 4; i++) + { + if (gBattleMons[sBattler_AI].moves[i] == *movePtr) + break; + } + if (i != 4) + gAIScriptPtr += 8; + else + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + break; + case AI_TARGET: + case AI_TARGET_PARTNER: + for (i = 0; i < 4; i++) + { + if (BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i] == *movePtr) + break; + } + if (i != 4) + gAIScriptPtr += 8; + else + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4); + break; } } static void BattleAICmd_if_has_move_with_effect(void) { - int i; + s32 i; switch (gAIScriptPtr[1]) { @@ -1888,7 +1866,7 @@ static void BattleAICmd_if_has_move_with_effect(void) case AI_TARGET_PARTNER: for (i = 0; i < 4; i++) { - // UB: checks sBattler_AI instead of gBattlerTarget + // UB: checks sBattler_AI instead of gBattlerTarget. if (gBattleMons[sBattler_AI].moves[i] != 0 && gBattleMoves[BATTLE_HISTORY->usedMoves[gBattlerTarget].moves[i]].effect == gAIScriptPtr[2]) break; } @@ -1902,7 +1880,7 @@ static void BattleAICmd_if_has_move_with_effect(void) static void BattleAICmd_if_doesnt_have_move_with_effect(void) { - int i; + s32 i; switch (gAIScriptPtr[1]) { @@ -1944,25 +1922,22 @@ static void BattleAICmd_if_any_move_disabled_or_encored(void) if (gAIScriptPtr[2] == 0) { - if (gDisableStructs[battlerId].disabledMove == 0) - { + if (gDisableStructs[battlerId].disabledMove == MOVE_NONE) gAIScriptPtr += 7; - return; - } - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); - return; + else + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); } - else if (gAIScriptPtr[2] != 1) // ignore the macro if its not 0 or 1. + else if (gAIScriptPtr[2] != 1) { gAIScriptPtr += 7; - return; } - else if (gDisableStructs[battlerId].encoredMove != 0) + else { - gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); - return; + if (gDisableStructs[battlerId].encoredMove != MOVE_NONE) + gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3); + else + gAIScriptPtr += 7; } - gAIScriptPtr += 7; } static void BattleAICmd_if_curr_move_disabled_or_encored(void) @@ -1971,23 +1946,19 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void) { case 0: if (gDisableStructs[gActiveBattler].disabledMove == AI_THINKING_STRUCT->moveConsidered) - { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); - return; - } - gAIScriptPtr += 6; - return; + else + gAIScriptPtr += 6; + break;; case 1: if (gDisableStructs[gActiveBattler].encoredMove == AI_THINKING_STRUCT->moveConsidered) - { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); - return; - } - gAIScriptPtr += 6; - return; + else + gAIScriptPtr += 6; + break; default: gAIScriptPtr += 6; - return; + break; } } @@ -1998,7 +1969,7 @@ static void BattleAICmd_flee(void) static void BattleAICmd_if_random_safari_flee(void) { - u8 safariFleeRate = gBattleStruct->field_7B * 5; // safari flee rate, from 0-20 + u8 safariFleeRate = gBattleStruct->field_7B * 5; // Safari flee rate, from 0-20. if ((u8)(Random() % 100) < safariFleeRate) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); @@ -2030,7 +2001,7 @@ static void BattleAICmd_get_hold_effect(void) static void BattleAICmd_if_holds_item(void) { - u8 battlerId = BattleAI_GetWantedBank(gAIScriptPtr[1]); + u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); u16 item; u8 var1, var2; @@ -2107,7 +2078,7 @@ static void BattleAICmd_get_used_held_item(void) else battlerId = gBattlerTarget; - // This is likely a leftover from Ruby's code and its ugly ewram access + // This is likely a leftover from Ruby's code and its ugly ewram access. #ifdef NONMATCHING AI_THINKING_STRUCT->funcResult = gBattleStruct->usedHeldItems[battlerId]; #else @@ -2199,28 +2170,22 @@ static void BattleAICmd_if_level_cond(void) { case 0: // greater than if (gBattleMons[sBattler_AI].level > gBattleMons[gBattlerTarget].level) - { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); - return; - } - gAIScriptPtr += 6; - return; + else + gAIScriptPtr += 6; + break; case 1: // less than if (gBattleMons[sBattler_AI].level < gBattleMons[gBattlerTarget].level) - { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); - return; - } - gAIScriptPtr += 6; - return; + else + gAIScriptPtr += 6; + break; case 2: // equal if (gBattleMons[sBattler_AI].level == gBattleMons[gBattlerTarget].level) - { gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); - return; - } - gAIScriptPtr += 6; - return; + else + gAIScriptPtr += 6; + break; } } @@ -2250,7 +2215,7 @@ static void BattleAICmd_if_target_is_ally(void) static void BattleAICmd_if_flash_fired(void) { - u8 battlerId = BattleAI_GetWantedBank(gAIScriptPtr[1]); + u8 battlerId = BattleAI_GetWantedBattler(gAIScriptPtr[1]); if (gBattleResources->flags->flags[battlerId] & UNKNOWN_FLAG_FLASH_FIRE) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); @@ -2277,5 +2242,7 @@ static bool8 AIStackPop(void) return TRUE; } else + { return FALSE; + } } diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 83ad2b4fd..a105e7edf 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -19,18 +19,20 @@ static bool8 ShouldSwitchIfPerishSong(void) if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG && gDisableStructs[gActiveBattler].perishSongTimer1 == 0) { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } - - return FALSE; + else + { + return FALSE; + } } static bool8 ShouldSwitchIfWonderGuard(void) { u8 opposingPosition; - u8 opposingBank; + u8 opposingBattler; u8 moveFlags; s32 i, j; s32 firstId; @@ -46,22 +48,22 @@ static bool8 ShouldSwitchIfWonderGuard(void) if (gBattleMons[GetBattlerAtPosition(opposingPosition)].ability != ABILITY_WONDER_GUARD) return FALSE; - // check if pokemon has a super effective move - for (opposingBank = GetBattlerAtPosition(opposingPosition), i = 0; i < 4; i++) + // Check if Pokemon has a super effective move. + for (opposingBattler = GetBattlerAtPosition(opposingPosition), i = 0; i < 4; i++) { move = gBattleMons[gActiveBattler].moves[i]; if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) return FALSE; } - // get party information + // Get party information. if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBattler & BIT_FLANK) == 0) + if ((gActiveBattler & BIT_FLANK) == B_FLANK_LEFT) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -76,7 +78,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) else party = gEnemyParty; - // find a pokemon in the party that has a super effective move + // Find a Pokemon in the party that has a super effective move. for (i = firstId; i < lastId; i++) { if (GetMonData(&party[i], MON_DATA_HP) == 0) @@ -88,19 +90,19 @@ static bool8 ShouldSwitchIfWonderGuard(void) if (i == gBattlerPartyIndexes[gActiveBattler]) continue; - GetMonData(&party[i], MON_DATA_SPECIES); // unused return value - GetMonData(&party[i], MON_DATA_ALT_ABILITY); // unused return value + GetMonData(&party[i], MON_DATA_SPECIES); // Unused return value. + GetMonData(&party[i], MON_DATA_ALT_ABILITY); // Unused return value. - for (opposingBank = GetBattlerAtPosition(opposingPosition), j = 0; j < 4; j++) + for (opposingBattler = GetBattlerAtPosition(opposingPosition), j = 0; j < 4; j++) { move = GetMonData(&party[i], MON_DATA_MOVE1 + j); if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % 3 < 2) { - // we found a mon + // We found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; @@ -108,12 +110,12 @@ static bool8 ShouldSwitchIfWonderGuard(void) } } - return FALSE; // at this point there is not a single pokemon in the party that has a super effective move against a pokemon with wonder guard + return FALSE; // There is not a single Pokemon in the party that has a super effective move against a mon with Wonder Guard. } static bool8 FindMonThatAbsorbsOpponentsMove(void) { - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; u8 absorbingTypeAbility; s32 firstId; s32 lastId; // + 1 @@ -131,16 +133,16 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); } else { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) @@ -157,7 +159,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBattler & BIT_FLANK) == 0) + if ((gActiveBattler & BIT_FLANK) == B_FLANK_LEFT) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -183,13 +185,13 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlerPartyIndexes[bankIn1]) + if (i == gBattlerPartyIndexes[battlerIn1]) continue; - if (i == gBattlerPartyIndexes[bankIn2]) + if (i == gBattlerPartyIndexes[battlerIn2]) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn1)) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -200,7 +202,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (absorbingTypeAbility == monAbility && Random() & 1) { - // we found a mon + // we found a mon. *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; @@ -221,13 +223,13 @@ static bool8 ShouldSwitchIfNaturalCure(void) if ((gLastLandedMoves[gActiveBattler] == 0 || gLastLandedMoves[gActiveBattler] == 0xFFFF) && Random() & 1) { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].power == 0 && Random() & 1) { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } @@ -236,9 +238,10 @@ static bool8 ShouldSwitchIfNaturalCure(void) return TRUE; if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 1)) return TRUE; + if (Random() & 1) { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); return TRUE; } @@ -249,15 +252,15 @@ static bool8 ShouldSwitchIfNaturalCure(void) static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) { u8 opposingPosition; - u8 opposingBank; + u8 opposingBattler; s32 i; u8 moveFlags; u16 move; opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); - opposingBank = GetBattlerAtPosition(opposingPosition); + opposingBattler = GetBattlerAtPosition(opposingPosition); - if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) { for (i = 0; i < 4; i++) { @@ -265,7 +268,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) { if (noRng) @@ -278,9 +281,9 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return FALSE; - opposingBank = GetBattlerAtPosition(BATTLE_PARTNER(opposingPosition)); + opposingBattler = GetBattlerAtPosition(BATTLE_PARTNER(opposingPosition)); - if (!(gAbsentBattlerFlags & gBitTable[opposingBank])) + if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) { for (i = 0; i < 4; i++) { @@ -288,7 +291,7 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) if (move == MOVE_NONE) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[opposingBank].species, gBattleMons[opposingBank].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[opposingBattler].species, gBattleMons[opposingBattler].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE) { if (noRng) @@ -318,7 +321,7 @@ static bool8 AreStatsRaised(void) static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) { - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; s32 firstId; s32 lastId; // + 1 struct Pokemon *party; @@ -337,16 +340,16 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); } else { - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) @@ -377,13 +380,13 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlerPartyIndexes[bankIn1]) + if (i == gBattlerPartyIndexes[battlerIn1]) continue; - if (i == gBattlerPartyIndexes[bankIn2]) + if (i == gBattlerPartyIndexes[battlerIn2]) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn1)) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; species = GetMonData(&party[i], MON_DATA_SPECIES); @@ -395,7 +398,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) moveFlags = AI_TypeCalc(gLastLandedMoves[gActiveBattler], species, monAbility); if (moveFlags & flags) { - bankIn1 = gLastHitBy[gActiveBattler]; + battlerIn1 = gLastHitBy[gActiveBattler]; for (j = 0; j < 4; j++) { @@ -403,7 +406,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) if (move == 0) continue; - moveFlags = AI_TypeCalc(move, gBattleMons[bankIn1].species, gBattleMons[bankIn1].ability); + moveFlags = AI_TypeCalc(move, gBattleMons[battlerIn1].species, gBattleMons[battlerIn1].ability); if (moveFlags & MOVE_RESULT_SUPER_EFFECTIVE && Random() % moduloPercent == 0) { *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; @@ -419,23 +422,23 @@ static bool8 FindMonWithFlagsAndSuperEffective(u8 flags, u8 moduloPercent) static bool8 ShouldSwitch(void) { - u8 bankIn1, bankIn2; - u8 *activeBankPtr; // needed to match + u8 battlerIn1, battlerIn2; + u8 *activeBattlerPtr; // Needed to match. s32 firstId; s32 lastId; // + 1 struct Pokemon *party; s32 i; s32 availableToSwitch; - if (gBattleMons[*(activeBankPtr = &gActiveBattler)].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + if (gBattleMons[*(activeBattlerPtr = &gActiveBattler)].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) return FALSE; if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) return FALSE; - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_SHADOW_TAG, 0, 0)) + if (ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) return FALSE; - if (AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gActiveBattler, ABILITY_ARENA_TRAP, 0, 0)) - return FALSE; // misses the flying or levitate check - if (AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MAGNET_PULL, 0, 0)) + if (ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) // Misses the flying type and Levitate check. + return FALSE; + if (ABILITY_ON_FIELD2(ABILITY_MAGNET_PULL)) { if (gBattleMons[gActiveBattler].type1 == TYPE_STEEL) return FALSE; @@ -448,21 +451,21 @@ static bool8 ShouldSwitch(void) availableToSwitch = 0; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = *activeBankPtr; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(*activeBankPtr) ^ BIT_FLANK)]) - bankIn2 = *activeBankPtr; + battlerIn1 = *activeBattlerPtr; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(*activeBattlerPtr) ^ BIT_FLANK)]) + battlerIn2 = *activeBattlerPtr; else - bankIn2 = GetBattlerAtPosition(GetBattlerPosition(*activeBankPtr) ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(*activeBattlerPtr) ^ BIT_FLANK); } else { - bankIn1 = *activeBankPtr; - bankIn2 = *activeBankPtr; + battlerIn1 = *activeBattlerPtr; + battlerIn2 = *activeBattlerPtr; } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBattler & BIT_FLANK) == 0) + if ((gActiveBattler & BIT_FLANK) == B_FLANK_LEFT) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -485,13 +488,13 @@ static bool8 ShouldSwitch(void) continue; if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) continue; - if (i == gBattlerPartyIndexes[bankIn1]) + if (i == gBattlerPartyIndexes[battlerIn1]) continue; - if (i == gBattlerPartyIndexes[bankIn2]) + if (i == gBattlerPartyIndexes[battlerIn2]) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn1)) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; availableToSwitch++; @@ -521,10 +524,10 @@ static bool8 ShouldSwitch(void) void AI_TrySwitchOrUseItem(void) { struct Pokemon *party; - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; s32 firstId; s32 lastId; // + 1 - u8 bankIdentity = GetBattlerPosition(gActiveBattler); + u8 battlerIdentity = GetBattlerPosition(gActiveBattler); if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) party = gPlayerParty; @@ -535,25 +538,25 @@ void AI_TrySwitchOrUseItem(void) { if (ShouldSwitch()) { - if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == 6) + if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) { s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); - if (monToSwitchId == 6) + if (monToSwitchId == PARTY_SIZE) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - bankIn1 = GetBattlerAtPosition(bankIdentity); - bankIn2 = bankIn1; + battlerIn1 = GetBattlerAtPosition(battlerIdentity); + battlerIn2 = battlerIn1; } else { - bankIn1 = GetBattlerAtPosition(bankIdentity); - bankIn2 = GetBattlerAtPosition(bankIdentity ^ BIT_FLANK); + battlerIn1 = GetBattlerAtPosition(battlerIdentity); + battlerIn2 = GetBattlerAtPosition(battlerIdentity ^ BIT_FLANK); } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBattler & BIT_FLANK) == 0) + if ((gActiveBattler & BIT_FLANK) == B_FLANK_LEFT) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -567,13 +570,13 @@ void AI_TrySwitchOrUseItem(void) { if (GetMonData(&party[monToSwitchId], MON_DATA_HP) == 0) continue; - if (monToSwitchId == gBattlerPartyIndexes[bankIn1]) + if (monToSwitchId == gBattlerPartyIndexes[battlerIn1]) continue; - if (monToSwitchId == gBattlerPartyIndexes[bankIn2]) + if (monToSwitchId == gBattlerPartyIndexes[battlerIn2]) continue; - if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + bankIn1)) + if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + battlerIn1)) continue; - if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + bankIn2)) + if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; break; @@ -608,10 +611,10 @@ static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 } else if (TYPE_EFFECT_ATK_TYPE(i) == atkType) { - // check type1 + // Check type1. if (TYPE_EFFECT_DEF_TYPE(i) == defType1) *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; - // check type2 + // Check type2. if (TYPE_EFFECT_DEF_TYPE(i) == defType2 && defType1 != defType2) *var = (*var * TYPE_EFFECT_MULTIPLIER(i)) / 10; } @@ -621,10 +624,10 @@ static void ModulateByTypeEffectiveness(u8 atkType, u8 defType1, u8 defType2, u8 u8 GetMostSuitableMonToSwitchInto(void) { - u8 opposingBank; - u8 bestDmg; // note : should be changed to u32 for obvious reasons + u8 opposingBattler; + u8 bestDmg; // Note : should be changed to u32 for obvious reasons. u8 bestMonId; - u8 bankIn1, bankIn2; + u8 battlerIn1, battlerIn2; s32 firstId; s32 lastId; // + 1 struct Pokemon *party; @@ -632,34 +635,34 @@ u8 GetMostSuitableMonToSwitchInto(void) u8 invalidMons; u16 move; - if (*(gBattleStruct->monToSwitchIntoId + gActiveBattler) != 6) + if (*(gBattleStruct->monToSwitchIntoId + gActiveBattler) != PARTY_SIZE) return *(gBattleStruct->monToSwitchIntoId + gActiveBattler); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) return gBattlerPartyIndexes[gActiveBattler] + 1; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - bankIn1 = gActiveBattler; + battlerIn1 = gActiveBattler; if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK)]) - bankIn2 = gActiveBattler; + battlerIn2 = gActiveBattler; else - bankIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); + battlerIn2 = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_FLANK); - // UB: It considers the opponent only player's side even though it can battle alongside player; - opposingBank = Random() & BIT_FLANK; - if (gAbsentBattlerFlags & gBitTable[opposingBank]) - opposingBank ^= BIT_FLANK; + // UB: It considers the opponent only player's side even though it can battle alongside player. + opposingBattler = Random() & BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[opposingBattler]) + opposingBattler ^= BIT_FLANK; } else { - opposingBank = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_SIDE); - bankIn1 = gActiveBattler; - bankIn2 = gActiveBattler; + opposingBattler = GetBattlerAtPosition(GetBattlerPosition(gActiveBattler) ^ BIT_SIDE); + battlerIn1 = gActiveBattler; + battlerIn2 = gActiveBattler; } if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_x800000)) { - if ((gActiveBattler & BIT_FLANK) == 0) + if ((gActiveBattler & BIT_FLANK) == B_FLANK_LEFT) firstId = 0, lastId = 3; else firstId = 3, lastId = 6; @@ -676,27 +679,27 @@ u8 GetMostSuitableMonToSwitchInto(void) invalidMons = 0; - while (invalidMons != 0x3F) // all mons are invalid + while (invalidMons != 0x3F) // All mons are invalid. { bestDmg = 0; bestMonId = 6; - // find the mon which type is the most suitable offensively + // Find the mon whose type is the most suitable offensively. for (i = firstId; i < lastId; i++) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES); if (species != SPECIES_NONE && GetMonData(&party[i], MON_DATA_HP) != 0 && !(gBitTable[i] & invalidMons) - && gBattlerPartyIndexes[bankIn1] != i - && gBattlerPartyIndexes[bankIn2] != i - && i != *(gBattleStruct->monToSwitchIntoId + bankIn1) - && i != *(gBattleStruct->monToSwitchIntoId + bankIn2)) + && gBattlerPartyIndexes[battlerIn1] != i + && gBattlerPartyIndexes[battlerIn2] != i + && i != *(gBattleStruct->monToSwitchIntoId + battlerIn1) + && i != *(gBattleStruct->monToSwitchIntoId + battlerIn2)) { u8 type1 = gBaseStats[species].type1; u8 type2 = gBaseStats[species].type2; u8 typeDmg = 10; - ModulateByTypeEffectiveness(gBattleMons[opposingBank].type1, type1, type2, &typeDmg); - ModulateByTypeEffectiveness(gBattleMons[opposingBank].type2, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type1, type1, type2, &typeDmg); + ModulateByTypeEffectiveness(gBattleMons[opposingBattler].type2, type1, type2, &typeDmg); if (bestDmg < typeDmg) { bestDmg = typeDmg; @@ -709,24 +712,24 @@ u8 GetMostSuitableMonToSwitchInto(void) } } - // ok, we know the mon has the right typing but does it have at least one super effective move? - if (bestMonId != 6) + // Ok, we know the mon has the right typing but does it have at least one super effective move? + if (bestMonId != PARTY_SIZE) { for (i = 0; i < 4; i++) { move = GetMonData(&party[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBank) & MOVE_RESULT_SUPER_EFFECTIVE) + if (move != MOVE_NONE && TypeCalc(move, gActiveBattler, opposingBattler) & MOVE_RESULT_SUPER_EFFECTIVE) break; } if (i != 4) - return bestMonId; // has both the typing and at least one super effective move + return bestMonId; // Has both the typing and at least one super effective move. - invalidMons |= gBitTable[bestMonId]; // sorry buddy, we want something better + invalidMons |= gBitTable[bestMonId]; // Sorry buddy, we want something better. } else { - invalidMons = 0x3F; // no viable mon to switch + invalidMons = 0x3F; // No viable mon to switch. } } @@ -738,20 +741,20 @@ u8 GetMostSuitableMonToSwitchInto(void) bestDmg = 0; bestMonId = 6; - // if we couldn't find the best mon in terms of typing, find the one that deals most damage + // If we couldn't find the best mon in terms of typing, find the one that deals most damage. for (i = firstId; i < lastId; i++) { if ((u16)(GetMonData(&party[i], MON_DATA_SPECIES)) == SPECIES_NONE) continue; if (GetMonData(&party[i], MON_DATA_HP) == 0) continue; - if (gBattlerPartyIndexes[bankIn1] == i) + if (gBattlerPartyIndexes[battlerIn1] == i) continue; - if (gBattlerPartyIndexes[bankIn2] == i) + if (gBattlerPartyIndexes[battlerIn2] == i) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn1)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn1)) continue; - if (i == *(gBattleStruct->monToSwitchIntoId + bankIn2)) + if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; for (j = 0; j < 4; j++) @@ -760,8 +763,8 @@ u8 GetMostSuitableMonToSwitchInto(void) gBattleMoveDamage = 0; if (move != MOVE_NONE && gBattleMoves[move].power != 1) { - AI_CalcDmg(gActiveBattler, opposingBank); - TypeCalc(move, gActiveBattler, opposingBank); + AI_CalcDmg(gActiveBattler, opposingBattler); + TypeCalc(move, gActiveBattler, opposingBattler); } if (bestDmg < gBattleMoveDamage) { @@ -774,21 +777,21 @@ u8 GetMostSuitableMonToSwitchInto(void) return bestMonId; } -// TODO: use PokemonItemEffect struct instead of u8 once it's documented +// TODO: use PokemonItemEffect struct instead of u8 once it's documented. static u8 GetAI_ItemType(u8 itemId, const u8 *itemEffect) // NOTE: should take u16 as item Id argument { if (itemId == ITEM_FULL_RESTORE) return AI_ITEM_FULL_RESTORE; - if (itemEffect[4] & 4) + else if (itemEffect[4] & 4) return AI_ITEM_HEAL_HP; - if (itemEffect[3] & 0x3F) + else if (itemEffect[3] & 0x3F) return AI_ITEM_CURE_CONDITION; - if (itemEffect[0] & 0x3F || itemEffect[1] != 0 || itemEffect[2] != 0) + else if (itemEffect[0] & 0x3F || itemEffect[1] != 0 || itemEffect[2] != 0) return AI_ITEM_X_STAT; - if (itemEffect[3] & 0x80) + else if (itemEffect[3] & 0x80) return AI_ITEM_GUARD_SPECS; - - return AI_ITEM_NOT_RECOGNIZABLE; + else + return AI_ITEM_NOT_RECOGNIZABLE; } static bool8 ShouldUseItem(void) @@ -806,7 +809,7 @@ static bool8 ShouldUseItem(void) else party = gEnemyParty; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE @@ -821,7 +824,7 @@ static bool8 ShouldUseItem(void) u16 item; const u8 *itemEffects; u8 paramOffset; - u8 bankSide; + u8 battlerSide; if (i != 0 && validMons > (gBattleResources->battleHistory->itemsNo - i) + 1) continue; @@ -908,8 +911,8 @@ static bool8 ShouldUseItem(void) shouldUse = TRUE; break; case AI_ITEM_GUARD_SPECS: - bankSide = GetBattlerSide(gActiveBattler); - if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[bankSide].mistTimer == 0) + battlerSide = GetBattlerSide(gActiveBattler); + if (gDisableStructs[gActiveBattler].isFirstTurn != 0 && gSideTimers[battlerSide].mistTimer == 0) shouldUse = TRUE; break; case AI_ITEM_NOT_RECOGNIZABLE: diff --git a/src/battle_anim.c b/src/battle_anim.c index 8071736e6..b6f726897 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -120,7 +120,7 @@ EWRAM_DATA static u16 sSoundAnimFramesToWait = 0; EWRAM_DATA static u8 sMonAnimTaskIdArray[2] = {0}; EWRAM_DATA u8 gAnimMoveTurn = 0; EWRAM_DATA static u8 sAnimBackgroundFadeState = 0; -EWRAM_DATA static u16 sAnimMoveIndex = 0; // set but unused. +EWRAM_DATA static u16 sAnimMoveIndex = 0; // Set but unused. EWRAM_DATA u8 gBattleAnimAttacker = 0; EWRAM_DATA u8 gBattleAnimTarget = 0; EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0}; @@ -179,6 +179,7 @@ static void (* const sScriptCmdTable[])(void) = ScriptCmd_stopsound }; +// code void ClearBattleAnimationVars(void) { s32 i; @@ -192,11 +193,11 @@ void ClearBattleAnimationVars(void) gAnimMovePower = 0; gAnimFriendship = 0; - // clear index array. + // Clear index array. for (i = 0; i < ANIM_SPRITE_INDEX_COUNT; i++) sAnimSpriteIndexArray[i] |= 0xFFFF; - // clear anim args. + // Clear anim args. for (i = 0; i < ANIM_ARGS_COUNT; i++) gBattleAnimArgs[i] = 0; @@ -459,7 +460,7 @@ static void ScriptCmd_delay(void) gAnimScriptCallback = WaitAnimFrameCount; } -// wait for visual tasks to finish. +// Wait for visual tasks to finish. static void ScriptCmd_waitforvisualfinish(void) { if (gAnimVisualTaskCount == 0) @@ -486,7 +487,7 @@ static void ScriptCmd_end(void) s32 i; bool32 continuousAnim = FALSE; - // keep waiting as long as there is animations to be done. + // Keep waiting as long as there are animations to be done. if (gAnimVisualTaskCount != 0 || gAnimSoundTaskCount != 0 || sMonAnimTaskIdArray[0] != 0xFF || sMonAnimTaskIdArray[1] != 0xFF) { @@ -495,10 +496,10 @@ static void ScriptCmd_end(void) return; } - // finish the sound effects. + // Finish the sound effects. if (IsSEPlaying()) { - if (++sSoundAnimFramesToWait <= 90) // wait 90 frames, then halt the sound effect. + if (++sSoundAnimFramesToWait <= 90) // Wait 90 frames, then halt the sound effect. { gAnimFramesToWait = 1; return; @@ -510,7 +511,7 @@ static void ScriptCmd_end(void) } } - // the SE has halted, so set the SE Frame Counter to 0 and continue. + // The SE has halted, so set the SE Frame Counter to 0 and continue. sSoundAnimFramesToWait = 0; for (i = 0; i < ANIM_SPRITE_INDEX_COUNT; i++) @@ -523,7 +524,7 @@ static void ScriptCmd_end(void) } } - if (!continuousAnim) // may have been used for debug? + if (!continuousAnim) // May have been used for debug? { m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256); if (!IsContest()) @@ -592,12 +593,12 @@ static void ScriptCmd_monbg(void) bool8 toBG_2; u8 taskId; u8 battlerId; - u8 animBank; + u8 animBattler; sBattleAnimScriptPtr++; - animBank = sBattleAnimScriptPtr[0]; - if (animBank & ANIM_TARGET) + animBattler = sBattleAnimScriptPtr[0]; + if (animBattler & ANIM_TARGET) battlerId = gBattleAnimTarget; else battlerId = gBattleAnimAttacker; @@ -655,7 +656,7 @@ bool8 IsBattlerSpriteVisible(u8 battlerId) if (!IsBattlerSpritePresent(battlerId)) return FALSE; if (IsContest()) - return TRUE; // this line wont ever be reached. + return TRUE; // This line won't ever be reached. if (!gBattleSpritesDataPtr->battlerData[battlerId].invisible || !gSprites[gBattlerSpriteIds[battlerId]].invisible) return TRUE; @@ -847,32 +848,32 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId) static void ScriptCmd_clearmonbg(void) { - u8 animBankId; + u8 animBattlerId; u8 battlerId; u8 taskId; sBattleAnimScriptPtr++; - animBankId = sBattleAnimScriptPtr[0]; + animBattlerId = sBattleAnimScriptPtr[0]; - if (animBankId == ANIM_ATTACKER) - animBankId = ANIM_ATK_PARTNER; - else if (animBankId == ANIM_TARGET) - animBankId = ANIM_DEF_PARTNER; + if (animBattlerId == ANIM_ATTACKER) + animBattlerId = ANIM_ATK_PARTNER; + else if (animBattlerId == ANIM_TARGET) + animBattlerId = ANIM_DEF_PARTNER; - if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER) + if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) battlerId = gBattleAnimAttacker; else battlerId = gBattleAnimTarget; if (sMonAnimTaskIdArray[0] != 0xFF) gSprites[gBattlerSpriteIds[battlerId]].invisible = 0; - if (animBankId > 1 && sMonAnimTaskIdArray[1] != 0xFF) + if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != 0xFF) gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = 0; else - animBankId = 0; + animBattlerId = 0; taskId = CreateTask(sub_80A4980, 5); - gTasks[taskId].data[0] = animBankId; + gTasks[taskId].data[0] = animBattlerId; gTasks[taskId].data[2] = battlerId; sBattleAnimScriptPtr++; @@ -910,18 +911,18 @@ static void ScriptCmd_monbg_22(void) { bool8 toBG_2; u8 battlerId; - u8 animBankId; + u8 animBattlerId; sBattleAnimScriptPtr++; - animBankId = sBattleAnimScriptPtr[0]; + animBattlerId = sBattleAnimScriptPtr[0]; - if (animBankId == ANIM_ATTACKER) - animBankId = ANIM_ATK_PARTNER; - else if (animBankId == ANIM_TARGET) - animBankId = ANIM_DEF_PARTNER; + if (animBattlerId == ANIM_ATTACKER) + animBattlerId = ANIM_ATK_PARTNER; + else if (animBattlerId == ANIM_TARGET) + animBattlerId = ANIM_DEF_PARTNER; - if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER) + if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) battlerId = gBattleAnimAttacker; else battlerId = gBattleAnimTarget; @@ -938,7 +939,7 @@ static void ScriptCmd_monbg_22(void) } battlerId ^= BIT_FLANK; - if (animBankId > 1 && IsBattlerSpriteVisible(battlerId)) + if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId)) { u8 position = GetBattlerPosition(battlerId); if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT || IsContest()) @@ -954,32 +955,32 @@ static void ScriptCmd_monbg_22(void) static void ScriptCmd_clearmonbg_23(void) { - u8 animBankId; + u8 animBattlerId; u8 battlerId; u8 taskId; sBattleAnimScriptPtr++; - animBankId = sBattleAnimScriptPtr[0]; + animBattlerId = sBattleAnimScriptPtr[0]; - if (animBankId == ANIM_ATTACKER) - animBankId = ANIM_ATK_PARTNER; - else if (animBankId == ANIM_TARGET) - animBankId = ANIM_DEF_PARTNER; + if (animBattlerId == ANIM_ATTACKER) + animBattlerId = ANIM_ATK_PARTNER; + else if (animBattlerId == ANIM_TARGET) + animBattlerId = ANIM_DEF_PARTNER; - if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER) + if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER) battlerId = gBattleAnimAttacker; else battlerId = gBattleAnimTarget; if (IsBattlerSpriteVisible(battlerId)) gSprites[gBattlerSpriteIds[battlerId]].invisible = 0; - if (animBankId > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK)) + if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK)) gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = 0; else - animBankId = 0; + animBattlerId = 0; taskId = CreateTask(sub_80A4BB0, 5); - gTasks[taskId].data[0] = animBankId; + gTasks[taskId].data[0] = animBattlerId; gTasks[taskId].data[2] = battlerId; sBattleAnimScriptPtr++; @@ -1419,18 +1420,18 @@ void Task_PanFromInitialToTarget(u8 taskId) pan = currentPan + incrementPan; gTasks[taskId].tCurrentPan = pan; - if (incrementPan == 0) // If we're not incrementing, just cancel the task immediately + if (incrementPan == 0) // If we're not incrementing, just cancel the task immediately. { destroyTask = TRUE; } - else if (initialPanning < targetPanning) // Panning increasing + else if (initialPanning < targetPanning) // Panning increasing. { - if (pan >= targetPanning) // Target reached + if (pan >= targetPanning) // Target reached. destroyTask = TRUE; } - else // Panning decreasing + else // Panning decreasing. { - if (pan <= targetPanning) // Target reached + if (pan <= targetPanning) // Target reached. destroyTask = TRUE; } @@ -1684,14 +1685,14 @@ static void ScriptCmd_jumpifcontest(void) static void ScriptCmd_monbgprio_28(void) { - u8 wantedBank; + u8 wantedBattler; u8 battlerId; u8 battlerPosition; - wantedBank = sBattleAnimScriptPtr[1]; + wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; - if (wantedBank != ANIM_ATTACKER) + if (wantedBattler != ANIM_ATTACKER) battlerId = gBattleAnimTarget; else battlerId = gBattleAnimAttacker; @@ -1716,15 +1717,15 @@ static void ScriptCmd_monbgprio_29(void) static void ScriptCmd_monbgprio_2A(void) { - u8 wantedBank; + u8 wantedBattler; u8 battlerPosition; u8 battlerId; - wantedBank = sBattleAnimScriptPtr[1]; + wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (GetBattlerSide(gBattleAnimAttacker) != GetBattlerSide(gBattleAnimTarget)) { - if (wantedBank != ANIM_ATTACKER) + if (wantedBattler != ANIM_ATTACKER) battlerId = gBattleAnimTarget; else battlerId = gBattleAnimAttacker; @@ -1762,16 +1763,16 @@ static void ScriptCmd_visible(void) static void ScriptCmd_doublebattle_2D(void) { - u8 wantedBank; + u8 wantedBattler; u8 r4; u8 spriteId; - wantedBank = sBattleAnimScriptPtr[1]; + wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { - if (wantedBank == ANIM_ATTACKER) + if (wantedBattler == ANIM_ATTACKER) { r4 = sub_80A8364(gBattleAnimAttacker); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -1797,16 +1798,16 @@ static void ScriptCmd_doublebattle_2D(void) static void ScriptCmd_doublebattle_2E(void) { - u8 wantedBank; + u8 wantedBattler; u8 r4; u8 spriteId; - wantedBank = sBattleAnimScriptPtr[1]; + wantedBattler = sBattleAnimScriptPtr[1]; sBattleAnimScriptPtr += 2; if (!IsContest() && IsDoubleBattle() && GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { - if (wantedBank == ANIM_ATTACKER) + if (wantedBattler == ANIM_ATTACKER) { r4 = sub_80A8364(gBattleAnimAttacker); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 2316b9759..5a829171e 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -133,13 +133,13 @@ void sub_8158D8C(u8 taskId) if (gBattleAnimArgs[0] == ANIM_ATTACKER) species = gContestResources->field_18->field_0; else - DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task + DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task. } else { u8 battlerId; - // get wanted battler + // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) battlerId = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) @@ -149,7 +149,7 @@ void sub_8158D8C(u8 taskId) else battlerId = BATTLE_PARTNER(gBattleAnimTarget); - // check if battler is visible + // Check if battler is visible. if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) { DestroyAnimVisualTask(taskId); @@ -179,13 +179,13 @@ void sub_8158E9C(u8 taskId) if (gBattleAnimArgs[0] == ANIM_ATTACKER) species = gContestResources->field_18->field_0; else - DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task + DestroyAnimVisualTask(taskId); // UB: function should return upon destroying task. } else { u8 battlerId; - // get wanted battler + // Get wanted battler. if (gBattleAnimArgs[0] == ANIM_ATTACKER) battlerId = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == ANIM_TARGET) @@ -195,7 +195,7 @@ void sub_8158E9C(u8 taskId) else battlerId = BATTLE_PARTNER(gBattleAnimTarget); - // check if battler is visible + // Check if battler is visible. if ((gBattleAnimArgs[0] == ANIM_TARGET || gBattleAnimArgs[0] == ANIM_DEF_PARTNER) && !IsBattlerSpriteVisible(battlerId)) { DestroyAnimVisualTask(taskId); diff --git a/src/battle_bg.c b/src/battle_bg.c index d4bfd297a..4895e9643 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -31,8 +31,8 @@ struct BattleBackground extern const struct SpriteTemplate gUnknown_0831A9D0; extern const struct SpriteTemplate gUnknown_0831A9E8; extern const struct CompressedSpriteSheet gUnknown_0831AA00; -extern const struct BgTemplate gUnknown_0831AA08[4]; -extern const struct WindowTemplate *gUnknown_0831ABA0[]; +extern const struct BgTemplate gBattleBgTemplates[4]; +extern const struct WindowTemplate *const gBattleWindowTemplates[]; extern const struct BattleBackground gBattleTerrainTable[]; extern u16 gBattle_BG1_X; @@ -42,23 +42,23 @@ extern u16 gBattle_BG2_Y; extern u8 GetCurrentMapBattleScene(void); -void sub_8035658(void) +void BattleInitBgsAndWindows(void) { ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_0831AA08, ARRAY_COUNT(gUnknown_0831AA08)); + InitBgsFromTemplates(0, gBattleBgTemplates, ARRAY_COUNT(gBattleBgTemplates)); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { - gBattleScripting.field_24 = 1; + gBattleScripting.windowsType = 1; SetBgTilemapBuffer(1, gUnknown_02023060); SetBgTilemapBuffer(2, gUnknown_02023060); } else { - gBattleScripting.field_24 = 0; + gBattleScripting.windowsType = 0; } - InitWindows(gUnknown_0831ABA0[gBattleScripting.field_24]); + InitWindows(gBattleWindowTemplates[gBattleScripting.windowsType]); DeactivateAllTextPrinters(); } @@ -66,23 +66,23 @@ void sub_80356D0(void) { DisableInterrupts(INTR_FLAG_HBLANK); EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL); - sub_8035658(); + BattleInitBgsAndWindows(); SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON | DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); } -void ApplyPlayerChosenFrameToBattleMenu(void) +void LoadBattleMenuWindowGfx(void) { - sub_809882C(2, 0x12, 0x10); - sub_809882C(2, 0x22, 0x10); + LoadSav2WindowGfx(2, 0x12, 0x10); + LoadSav2WindowGfx(2, 0x22, 0x10); LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { sub_81978B0(0x70); - copy_textbox_border_tile_patterns_to_vram(0, 0x30, 0x70); + LoadMessageBoxGfx(0, 0x30, 0x70); gPlttBufferUnfaded[0x76] = 0; CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2); } @@ -193,12 +193,12 @@ void LoadBattleTextboxAndBackground(void) CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0); CopyBgTilemapBufferToVram(0); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40); - ApplyPlayerChosenFrameToBattleMenu(); + LoadBattleMenuWindowGfx(); DrawMainBattleBackground(); } -static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY) +static void sub_8035AE4(u8 taskId, u8 battlerId, u8 bgId, u8 destX, u8 destY) { s32 i; u16 var = 0; @@ -208,7 +208,7 @@ static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY) { if (gTasks[taskId].data[5] != 0) { - switch (bank) + switch (battlerId) { case 0: var = 0x3F & gTasks[taskId].data[3]; @@ -226,7 +226,7 @@ static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY) } else { - switch (bank) + switch (battlerId) { case 0: var = 0x3F & gTasks[taskId].data[3]; @@ -253,7 +253,7 @@ static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY) } else { - if (bank == gBattleScripting.multiplayerId) + if (battlerId == gBattleScripting.multiplayerId) var = gTasks[taskId].data[3]; else var = gTasks[taskId].data[4]; @@ -272,7 +272,7 @@ static void sub_8035C4C(void) { if (gBattleOutcome == B_OUTCOME_DREW) { - BattleHandleAddTextPrinter(gText_Draw, 0x15); + BattlePutTextOnWindow(gText_Draw, 0x15); } else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -281,20 +281,20 @@ static void sub_8035C4C(void) switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18) { case 0: - BattleHandleAddTextPrinter(gText_Win, 0x16); - BattleHandleAddTextPrinter(gText_Loss, 0x17); + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); break; case 1: - BattleHandleAddTextPrinter(gText_Win, 0x17); - BattleHandleAddTextPrinter(gText_Loss, 0x16); + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); break; case 2: - BattleHandleAddTextPrinter(gText_Win, 0x16); - BattleHandleAddTextPrinter(gText_Loss, 0x17); + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); break; case 3: - BattleHandleAddTextPrinter(gText_Win, 0x17); - BattleHandleAddTextPrinter(gText_Loss, 0x16); + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); break; } } @@ -303,20 +303,20 @@ static void sub_8035C4C(void) switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18) { case 0: - BattleHandleAddTextPrinter(gText_Win, 0x17); - BattleHandleAddTextPrinter(gText_Loss, 0x16); + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); break; case 1: - BattleHandleAddTextPrinter(gText_Win, 0x16); - BattleHandleAddTextPrinter(gText_Loss, 0x17); + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); break; case 2: - BattleHandleAddTextPrinter(gText_Win, 0x17); - BattleHandleAddTextPrinter(gText_Loss, 0x16); + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); break; case 3: - BattleHandleAddTextPrinter(gText_Win, 0x16); - BattleHandleAddTextPrinter(gText_Loss, 0x17); + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); break; } } @@ -325,26 +325,26 @@ static void sub_8035C4C(void) { if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0) { - BattleHandleAddTextPrinter(gText_Win, 0x17); - BattleHandleAddTextPrinter(gText_Loss, 0x16); + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); } else { - BattleHandleAddTextPrinter(gText_Win, 0x16); - BattleHandleAddTextPrinter(gText_Loss, 0x17); + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); } } else { if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0) { - BattleHandleAddTextPrinter(gText_Win, 0x16); - BattleHandleAddTextPrinter(gText_Loss, 0x17); + BattlePutTextOnWindow(gText_Win, 0x16); + BattlePutTextOnWindow(gText_Loss, 0x17); } else { - BattleHandleAddTextPrinter(gText_Win, 0x17); - BattleHandleAddTextPrinter(gText_Loss, 0x16); + BattlePutTextOnWindow(gText_Win, 0x17); + BattlePutTextOnWindow(gText_Loss, 0x16); } } } @@ -368,19 +368,19 @@ void sub_8035D74(u8 taskId) switch (linkPlayer->lp_field_18) { case 0: - BattleHandleAddTextPrinter(name, 0x11); + BattlePutTextOnWindow(name, 0x11); sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 4); break; case 1: - BattleHandleAddTextPrinter(name, 0x12); + BattlePutTextOnWindow(name, 0x12); sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 4); break; case 2: - BattleHandleAddTextPrinter(name, 0x13); + BattlePutTextOnWindow(name, 0x13); sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 8); break; case 3: - BattleHandleAddTextPrinter(name, 0x14); + BattlePutTextOnWindow(name, 0x14); sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 8); break; } @@ -396,10 +396,10 @@ void sub_8035D74(u8 taskId) opponentId = playerId, playerId = opponentId_copy; name = gLinkPlayers[playerId].name; - BattleHandleAddTextPrinter(name, 0xF); + BattlePutTextOnWindow(name, 0xF); name = gLinkPlayers[opponentId].name; - BattleHandleAddTextPrinter(name, 0x10); + BattlePutTextOnWindow(name, 0x10); sub_8035AE4(taskId, playerId, 1, 2, 7); sub_8035AE4(taskId, opponentId, 2, 2, 7); @@ -457,7 +457,7 @@ void sub_8035D74(u8 taskId) } } -void LoadBattleEntryBackground(void) +void DrawBattleEntryBackground(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { @@ -740,7 +740,7 @@ bool8 LoadChosenBattleElement(u8 caseId) } break; case 6: - ApplyPlayerChosenFrameToBattleMenu(); + LoadBattleMenuWindowGfx(); break; default: ret = TRUE; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index a4aac55e2..905e957ea 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1475,7 +1475,7 @@ static void LinkOpponentHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; BattleTv_SetDataBasedOnString(*stringId); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index d742d5df2..3178bad0e 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1299,7 +1299,7 @@ static void LinkPartnerHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; BattleTv_SetDataBasedOnString(*stringId); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 64cf16b86..ae407af24 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1511,7 +1511,7 @@ static void OpponentHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; sub_81A57E4(gActiveBattler, *stringId); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e0694029a..627b13e22 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -620,7 +620,7 @@ static void HandleInputChooseMove(void) gMultiUsePlayerCursor = gMoveSelectionCursor[gActiveBattler] + 1; MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); - BattleHandleAddTextPrinter(gText_BattleSwitchWhich, 0xB); + BattlePutTextOnWindow(gText_BattleSwitchWhich, 0xB); gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitchting; } } @@ -1458,7 +1458,7 @@ static void MoveSelectionDisplayMoveNames(void) { MoveSelectionDestroyCursorAt(i); StringCopy(gDisplayedStringBattle, gMoveNames[moveInfo->moves[i]]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, i + 3); + BattlePutTextOnWindow(gDisplayedStringBattle, i + 3); if (moveInfo->moves[i] != MOVE_NONE) gNumberOfMovesToChoose++; } @@ -1467,7 +1467,7 @@ static void MoveSelectionDisplayMoveNames(void) static void MoveSelectionDisplayPpString(void) { StringCopy(gDisplayedStringBattle, gText_MoveInterfacePP); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 7); + BattlePutTextOnWindow(gDisplayedStringBattle, 7); } static void MoveSelectionDisplayPpNumber(void) @@ -1485,7 +1485,7 @@ static void MoveSelectionDisplayPpNumber(void) txtPtr++; ConvertIntToDecimalStringN(txtPtr, moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 9); + BattlePutTextOnWindow(gDisplayedStringBattle, 9); } static void MoveSelectionDisplayMoveType(void) @@ -1502,7 +1502,7 @@ static void MoveSelectionDisplayMoveType(void) txtPtr++; StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 10); + BattlePutTextOnWindow(gDisplayedStringBattle, 10); } static void MoveSelectionCreateCursorAt(u8 cursorPosition, u8 arg1) @@ -1573,7 +1573,7 @@ static void PrintLinkStandbyMsg(void) { gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - BattleHandleAddTextPrinter(gText_LinkStandby, 0); + BattlePutTextOnWindow(gText_LinkStandby, 0); } } @@ -2536,7 +2536,7 @@ static void PlayerHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; BattleTv_SetDataBasedOnString(*stringId); sub_81A57E4(gActiveBattler, *stringId); @@ -2566,14 +2566,14 @@ static void PlayerHandleChooseAction(void) gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; BattleTv_ClearExplosionFaintCause(); - BattleHandleAddTextPrinter(gText_BattleMenu, 2); + BattlePutTextOnWindow(gText_BattleMenu, 2); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 1); + BattlePutTextOnWindow(gDisplayedStringBattle, 1); } static void PlayerHandleUnknownYesNoBox(void) @@ -2581,7 +2581,7 @@ static void PlayerHandleUnknownYesNoBox(void) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 12); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 12); gMultiUsePlayerCursor = 1; BattleCreateYesNoCursorAt(1); gBattlerControllerFuncs[gActiveBattler] = PlayerHandleUnknownYesNoInput; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index f18f582f7..25eef4c5c 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1492,7 +1492,7 @@ static void PlayerPartnerHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 4d1ccbaca..b4bdfaa4e 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -1404,7 +1404,7 @@ static void RecordedOpponentHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index b16c3f307..24cb58ea4 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -1409,7 +1409,7 @@ static void RecordedPlayerHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 09776f150..245447d8d 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -427,7 +427,7 @@ static void SafariHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } @@ -454,14 +454,14 @@ static void SafariHandleChooseAction(void) s32 i; gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; - BattleHandleAddTextPrinter(gText_SafariZoneMenu, 2); + BattlePutTextOnWindow(gText_SafariZoneMenu, 2); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo2); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 1); + BattlePutTextOnWindow(gDisplayedStringBattle, 1); } static void SafariHandleUnknownYesNoBox(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index ca7b2fd44..e8efb404f 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1179,7 +1179,7 @@ static void WallyHandlePrintString(void) gBattle_BG0_Y = 0; stringId = (u16*)(&gBattleBufferA[gActiveBattler][2]); BufferStringBattle(*stringId); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } @@ -1206,14 +1206,14 @@ static void WallyHandleChooseAction(void) s32 i; gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; - BattleHandleAddTextPrinter(gText_BattleMenu, 2); + BattlePutTextOnWindow(gText_BattleMenu, 2); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillWallyDo); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 1); + BattlePutTextOnWindow(gDisplayedStringBattle, 1); } static void WallyHandleUnknownYesNoBox(void) diff --git a/src/battle_main.c b/src/battle_main.c index 8649209c0..2d24d0dab 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -82,8 +82,8 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2; extern u8 gUnknown_0203CF00[]; extern const u16 gBattleTextboxPalette[]; // battle textbox palette -extern const struct BgTemplate gUnknown_0831AA08[]; -extern const struct WindowTemplate * const gUnknown_0831ABA0[]; +extern const struct BgTemplate gBattleBgTemplates[]; +extern const struct WindowTemplate * const gBattleWindowTemplates[]; extern const u8 gUnknown_0831ACE0[]; extern const u8 * const gBattleScriptsForMoveEffects[]; extern const u8 * const gBattlescriptsForBallThrow[]; @@ -652,7 +652,7 @@ static void CB2_InitBattleInternal(void) LoadBattleTextboxAndBackground(); ResetSpriteData(); ResetTasks(); - LoadBattleEntryBackground(); + DrawBattleEntryBackground(); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); @@ -2210,10 +2210,10 @@ void sub_8038D64(void) sub_80356D0(); LoadCompressedPalette(gBattleTextboxPalette, 0, 64); - ApplyPlayerChosenFrameToBattleMenu(); + LoadBattleMenuWindowGfx(); ResetSpriteData(); ResetTasks(); - LoadBattleEntryBackground(); + DrawBattleEntryBackground(); SetGpuReg(REG_OFFSET_WINOUT, 0x37); FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; @@ -2327,7 +2327,7 @@ static void sub_8038F34(void) if (sub_800A520() == TRUE) { sub_800ADF8(); - BattleHandleAddTextPrinter(gText_LinkStandby3, 0); + BattlePutTextOnWindow(gText_LinkStandby3, 0); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2363,25 +2363,25 @@ u32 sub_80391E0(u8 arrayId, u8 caseId) switch (caseId) { case 0: - ret = gUnknown_0831AA08[arrayId].bg; + ret = gBattleBgTemplates[arrayId].bg; break; case 1: - ret = gUnknown_0831AA08[arrayId].charBaseIndex; + ret = gBattleBgTemplates[arrayId].charBaseIndex; break; case 2: - ret = gUnknown_0831AA08[arrayId].mapBaseIndex; + ret = gBattleBgTemplates[arrayId].mapBaseIndex; break; case 3: - ret = gUnknown_0831AA08[arrayId].screenSize; + ret = gBattleBgTemplates[arrayId].screenSize; break; case 4: - ret = gUnknown_0831AA08[arrayId].paletteMode; + ret = gBattleBgTemplates[arrayId].paletteMode; break; case 5: - ret = gUnknown_0831AA08[arrayId].priority; + ret = gBattleBgTemplates[arrayId].priority; break; case 6: - ret = gUnknown_0831AA08[arrayId].baseTile; + ret = gBattleBgTemplates[arrayId].baseTile; break; } @@ -2406,7 +2406,7 @@ static void sub_80392A8(void) gBattle_BG3_Y = 0; sub_80356D0(); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); - ApplyPlayerChosenFrameToBattleMenu(); + LoadBattleMenuWindowGfx(); for (i = 0; i < 2; i++) LoadChosenBattleElement(i); @@ -2453,7 +2453,7 @@ static void sub_803939C(void) case 3: if (!gPaletteFade.active) { - BattleHandleAddTextPrinter(gText_RecordBattleToPass, 0); + BattlePutTextOnWindow(gText_RecordBattleToPass, 0); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2461,7 +2461,7 @@ static void sub_803939C(void) if (!IsTextPrinterActive(0)) { HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 0xC); gBattleCommunication[CURSOR_POSITION] = 1; BattleCreateYesNoCursorAt(1); gBattleCommunication[MULTIUSE_STATE]++; @@ -2515,7 +2515,7 @@ static void sub_803939C(void) if (gMain.field_439_x4) { sub_800ADF8(); - BattleHandleAddTextPrinter(gText_LinkStandby3, 0); + BattlePutTextOnWindow(gText_LinkStandby3, 0); } gBattleCommunication[MULTIUSE_STATE]++; } @@ -2546,14 +2546,14 @@ static void sub_803939C(void) { PlaySE(SE_SAVE); BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordedOnPass); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattleCommunication[1] = 0x80; gBattleCommunication[MULTIUSE_STATE]++; } else { BattleStringExpandPlaceholdersToDisplayedString(gText_BattleRecordCouldntBeSaved); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gBattleCommunication[1] = 0x80; gBattleCommunication[MULTIUSE_STATE]++; } @@ -2564,7 +2564,7 @@ static void sub_803939C(void) if (gMain.field_439_x4) { sub_800ADF8(); - BattleHandleAddTextPrinter(gText_LinkStandby3, 0); + BattlePutTextOnWindow(gText_LinkStandby3, 0); } gBattleCommunication[MULTIUSE_STATE]++; } @@ -2610,7 +2610,7 @@ static void TryCorrectShedinjaLanguage(struct Pokemon *mon) u32 sub_80397C4(u32 setId, u32 tableId) { - return gUnknown_0831ABA0[setId][tableId].width * 8; + return gBattleWindowTemplates[setId][tableId].width * 8; } #define sBattler data[0] @@ -3885,7 +3885,7 @@ static void TryDoEventsBeforeFirstTurn(void) TurnValuesCleanUp(FALSE); SpecialStatusesClear(); *(&gBattleStruct->field_91) = gAbsentBattlerFlags; - BattleHandleAddTextPrinter(gText_EmptyString3, 0); + BattlePutTextOnWindow(gText_EmptyString3, 0); gBattleMainFunc = HandleTurnActionSelectionState; ResetSentPokesToOpponentValue(); @@ -3992,7 +3992,7 @@ void BattleTurnPassed(void) *(gBattleStruct->monToSwitchIntoId + i) = 6; *(&gBattleStruct->field_91) = gAbsentBattlerFlags; - BattleHandleAddTextPrinter(gText_EmptyString3, 0); + BattlePutTextOnWindow(gText_EmptyString3, 0); gBattleMainFunc = HandleTurnActionSelectionState; gRandomTurnNumber = Random(); diff --git a/src/battle_message.c b/src/battle_message.c index 1f338db92..896b2197e 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -17,6 +17,20 @@ #include "recorded_battle.h" #include "international_string_util.h" +struct BattleWindowText +{ + u8 fillValue; + u8 fontId; + u8 x; + u8 y; + u8 letterSpacing; + u8 lineSpacing; + u8 speed; + u8 fgColor; + u8 bgColor; + u8 shadowColor; +}; + extern u8 gBattlerAbilities[MAX_BATTLERS_COUNT]; extern u8 gUnknown_0203C7B4; extern struct StringInfoBattle *gStringInfo; @@ -1351,67 +1365,590 @@ static const u16 sUnknownMoveTable[] = static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0}; -static const u8 sUnknown_085CD42C[] = -{ - 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1, - 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, - 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, - 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, - 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, - 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, - 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0, - 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, - 0x1, 0x2, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0, 0xEE, 0x7, 0x0, - 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, - 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, - 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, - 0xE, 0xF, 0x0, 0x0, 0x0, 0x1, 0x20, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, - 0x0, 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, - 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, - 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, - 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, - 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0xFF, - 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, - 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, - 0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0 +static const struct BattleWindowText sTextOnWindowsInfo_Normal[] = +{ + { // 0 + .fillValue = 0xFF, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 1, + .fgColor = 1, + .bgColor = 15, + .shadowColor = 6, + }, + { // 1 + .fillValue = 0xFF, + .fontId = 1, + .x = 1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 15, + .shadowColor = 6, + }, + { // 2 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 3 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 4 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 5 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 6 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 7 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 12, + .bgColor = 14, + .shadowColor = 11, + }, + { // 8 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 9 + .fillValue = 0xEE, + .fontId = 1, + .x = 2, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 12, + .bgColor = 14, + .shadowColor = 11, + }, + { // 10 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 11 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 12 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 13 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 14 + .fillValue = 0x0, + .fontId = 1, + .x = 32, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 0, + .shadowColor = 2, + }, + { // 15 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 16 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 17 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 18 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 19 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 20 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 21 + .fillValue = 0x0, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 0, + .shadowColor = 6, + }, + { // 22 + .fillValue = 0x0, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 0, + .shadowColor = 6, + }, + { // 23 + .fillValue = 0x0, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 0, + .shadowColor = 6, + }, }; -static const u8 sUnknown_085CD54C[] = -{ - 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1, - 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, - 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, - 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, - 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, - 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, - 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0, - 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, - 0x1, 0x2, 0x1, 0x0, 0x0, 0x0, 0xC, 0xE, 0xB, 0x0, 0x0, 0xEE, 0x7, 0x0, - 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x7, 0x0, 0x1, 0x0, - 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, - 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xD, - 0xE, 0xF, 0x0, 0x0, 0x0, 0x1, 0x20, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x2, - 0x0, 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0xE, 0xF, 0x0, - 0x0, 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, - 0xEE, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, - 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, - 0xFF, 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0xFF, - 0x1, 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0xEE, 0x1, 0xFF, 0x1, - 0x0, 0x0, 0x0, 0xD, 0xE, 0xF, 0x0, 0x0, 0x11, 0x1, 0x0, 0x1, 0x0, 0x0, - 0x1, 0x2, 0x1, 0x3, 0x0, 0x0 +static const struct BattleWindowText sTextOnWindowsInfo_Arena[] = +{ + { // 0 + .fillValue = 0xFF, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 1, + .fgColor = 1, + .bgColor = 15, + .shadowColor = 6, + }, + { // 1 + .fillValue = 0xFF, + .fontId = 1, + .x = 1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 15, + .shadowColor = 6, + }, + { // 2 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 3 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 4 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 5 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 6 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 7 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 12, + .bgColor = 14, + .shadowColor = 11, + }, + { // 8 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 9 + .fillValue = 0xEE, + .fontId = 1, + .x = 2, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 12, + .bgColor = 14, + .shadowColor = 11, + }, + { // 10 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 11 + .fillValue = 0xEE, + .fontId = 7, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 12 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 13 + .fillValue = 0xEE, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 14 + .fillValue = 0x0, + .fontId = 1, + .x = 32, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 0, + .shadowColor = 2, + }, + { // 15 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 1, + .bgColor = 14, + .shadowColor = 15, + }, + { // 16 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 17 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 18 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 19 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 20 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 21 + .fillValue = 0xEE, + .fontId = 1, + .x = -1, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 0, + .fgColor = 13, + .bgColor = 14, + .shadowColor = 15, + }, + { // 22 + .fillValue = 0x11, + .fontId = 1, + .x = 0, + .y = 1, + .letterSpacing = 0, + .lineSpacing = 0, + .speed = 1, + .fgColor = 2, + .bgColor = 1, + .shadowColor = 3, + }, }; -static const u8 * const gUnknown_085CD660[] = +static const struct BattleWindowText *const sBattleTextOnWindowsInfo[] = { - sUnknown_085CD42C, sUnknown_085CD54C + sTextOnWindowsInfo_Normal, sTextOnWindowsInfo_Arena }; static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0}; +// code void BufferStringBattle(u16 stringID) { s32 i; - const u8* stringPtr = NULL; + const u8 *stringPtr = NULL; gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBattler][4]); gLastUsedItem = gStringInfo->lastItem; @@ -2395,47 +2932,46 @@ static void sub_814F950(u8* dst) } } -void BattleHandleAddTextPrinter(const u8 *text, u8 arg1) +void BattlePutTextOnWindow(const u8 *text, u8 windowId) { - const u8 *r8 = gUnknown_085CD660[gBattleScripting.field_24]; - bool32 r9; + const struct BattleWindowText *textInfo = sBattleTextOnWindowsInfo[gBattleScripting.windowsType]; + bool32 toVram; struct TextSubPrinter textSubPrinter; u8 speed; - if (arg1 & 0x80) + if (windowId & 0x80) { - arg1 &= ~(0x80); - r9 = FALSE; + windowId &= ~(0x80); + toVram = FALSE; } else { - FillWindowPixelBuffer(arg1, r8[12 * arg1]); - r9 = TRUE; + FillWindowPixelBuffer(windowId, textInfo[windowId].fillValue); + toVram = TRUE; } textSubPrinter.current_text_offset = text; - textSubPrinter.windowId = arg1; - textSubPrinter.fontId = r8[(12 * arg1) + 1]; - textSubPrinter.x = r8[(12 * arg1) + 2]; - textSubPrinter.y = r8[(12 * arg1) + 3]; + textSubPrinter.windowId = windowId; + textSubPrinter.fontId = textInfo[windowId].fontId; + textSubPrinter.x = textInfo[windowId].x; + textSubPrinter.y = textInfo[windowId].y; textSubPrinter.currentX = textSubPrinter.x; textSubPrinter.currentY = textSubPrinter.y; - textSubPrinter.letterSpacing = r8[(12 * arg1) + 4]; - textSubPrinter.lineSpacing = r8[(12 * arg1) + 5]; + textSubPrinter.letterSpacing = textInfo[windowId].letterSpacing; + textSubPrinter.lineSpacing = textInfo[windowId].lineSpacing; textSubPrinter.fontColor_l = 0; - textSubPrinter.fgColor = r8[(12 * arg1) + 7]; - textSubPrinter.bgColor = r8[(12 * arg1) + 8]; - textSubPrinter.shadowColor = r8[(12 * arg1) + 9]; + textSubPrinter.fgColor = textInfo[windowId].fgColor; + textSubPrinter.bgColor = textInfo[windowId].bgColor; + textSubPrinter.shadowColor = textInfo[windowId].shadowColor; if (textSubPrinter.x == 0xFF) { - s32 var2; - u32 var = sub_80397C4(gBattleScripting.field_24, arg1); - var2 = GetStringCenterAlignXOffsetWithLetterSpacing(textSubPrinter.fontId, textSubPrinter.current_text_offset, var, textSubPrinter.letterSpacing); - textSubPrinter.x = textSubPrinter.currentX = var2; + u32 width = sub_80397C4(gBattleScripting.windowsType, windowId); + s32 alignX = GetStringCenterAlignXOffsetWithLetterSpacing(textSubPrinter.fontId, textSubPrinter.current_text_offset, width, textSubPrinter.letterSpacing); + textSubPrinter.x = textSubPrinter.currentX = alignX; } - if (arg1 == 0x16) + if (windowId == 0x16) gTextFlags.flag_1 = 0; else gTextFlags.flag_1 = 1; @@ -2445,7 +2981,7 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1) else gTextFlags.flag_2 = 0; - if (arg1 == 0 || arg1 == 0x16) + if (windowId == 0 || windowId == 0x16) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) speed = 1; @@ -2458,16 +2994,16 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1) } else { - speed = r8[(12 * arg1) + 6]; + speed = textInfo[windowId].speed; gTextFlags.flag_0 = 0; } AddTextPrinter(&textSubPrinter, speed, NULL); - if (r9) + if (toVram) { - PutWindowTilemap(arg1); - CopyWindowToVram(arg1, 3); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 3); } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 811aba128..c26e5ac11 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5687,7 +5687,7 @@ static void atk5A_yesnoboxlearnmove(void) { case 0: HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 0xC); gBattleScripting.learnMoveState++; gBattleCommunication[CURSOR_POSITION] = 0; BattleCreateYesNoCursorAt(0); @@ -5804,7 +5804,7 @@ static void atk5B_yesnoboxstoplearningmove(void) { case 0: HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 0xC); gBattleScripting.learnMoveState++; gBattleCommunication[CURSOR_POSITION] = 0; BattleCreateYesNoCursorAt(0); @@ -6100,7 +6100,7 @@ static void atk67_yesnobox(void) { case 0: HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 0xC); gBattleCommunication[0]++; gBattleCommunication[CURSOR_POSITION] = 0; BattleCreateYesNoCursorAt(0); @@ -6720,7 +6720,7 @@ static void atk76_various(void) break; case 16: BattleStringExpandPlaceholdersToDisplayedString(gRefereeStringsTable[gBattlescriptCurrInstr[1]]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0x16); + BattlePutTextOnWindow(gDisplayedStringBattle, 0x16); break; case 17: if (IsTextPrinterActive(0x16)) @@ -10406,7 +10406,7 @@ static void atkF3_trygivecaughtmonnick(void) { case 0: HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 0xC); gBattleCommunication[MULTIUSE_STATE]++; gBattleCommunication[CURSOR_POSITION] = 0; BattleCreateYesNoCursorAt(0); diff --git a/src/berry_blender.c b/src/berry_blender.c index 2edb14748..55431af72 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -153,8 +153,8 @@ extern const u8 gText_234Players[]; extern void sub_800A418(void); extern u8 sub_800A9D8(void); -extern void sub_809882C(u8, u16, u8); -extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); +extern void LoadSav2WindowGfx(u8, u16, u8); +extern void LoadMessageBoxGfx(u8, u16, u8); extern void sub_81AABF0(void (*callback)(void)); extern void sub_800B4C0(void); extern void ClearLinkCallback(void); @@ -927,8 +927,8 @@ static void sub_807FAC8(void) InitBgsFromTemplates(1, sBerryBlenderBgTemplates, ARRAY_COUNT(sBerryBlenderBgTemplates)); SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); - sub_809882C(0, 1, 0xD0); - copy_textbox_border_tile_patterns_to_vram(0, 0x14, 0xF0); + LoadSav2WindowGfx(0, 1, 0xD0); + LoadMessageBoxGfx(0, 0x14, 0xF0); InitBerryBlenderWindows(); sBerryBlenderData->mainState++; @@ -1331,8 +1331,8 @@ static void sub_8080588(void) SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); - sub_809882C(0, 1, 0xD0); - copy_textbox_border_tile_patterns_to_vram(0, 0x14, 0xF0); + LoadSav2WindowGfx(0, 1, 0xD0); + LoadMessageBoxGfx(0, 0x14, 0xF0); InitBerryBlenderWindows(); sBerryBlenderData->field_44 = 0; diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index ca2037d2f..266ea8250 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -202,6 +202,6 @@ static void InitClearSaveDataScreenWindows(void) InitWindows(sClearSaveTextWindow); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, 0); - sub_80987D4(0, 0, 2, 224); + LoadWindowGfx(0, 0, 2, 224); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 1ed38c67e..00e6236fe 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -655,7 +655,7 @@ static void CB2_EggHatch_1(void) case 9: if (!IsTextPrinterActive(sEggHatchData->windowId)) { - sub_809882C(sEggHatchData->windowId, 0x140, 0xE0); + LoadSav2WindowGfx(sEggHatchData->windowId, 0x140, 0xE0); CreateYesNoMenu(&sYesNoWinTemplate, 0x140, 0xE, 0); sEggHatchData->CB2_state++; } diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 74eac32de..84f00418c 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -635,7 +635,7 @@ static void Task_EvolutionScene(u8 taskID) if (!gPaletteFade.active) { StringExpandPlaceholders(gStringVar4, gText_PkmnIsEvolving); - BattleHandleAddTextPrinter(gStringVar4, 0); + BattlePutTextOnWindow(gStringVar4, 0); gTasks[taskID].tState++; } break; @@ -731,7 +731,7 @@ static void Task_EvolutionScene(u8 taskID) if (IsCryFinished()) { StringExpandPlaceholders(gStringVar4, gText_CongratsPkmnEvolved); - BattleHandleAddTextPrinter(gStringVar4, 0); + BattlePutTextOnWindow(gStringVar4, 0); PlayBGM(MUS_FANFA5); gTasks[taskID].tState++; SetMonData(mon, MON_DATA_SPECIES, (void*)(&gTasks[taskID].tPostEvoSpecies)); @@ -818,7 +818,7 @@ static void Task_EvolutionScene(u8 taskID) else // Fire Red leftover probably StringExpandPlaceholders(gStringVar4, gText_PkmnStoppedEvolving); - BattleHandleAddTextPrinter(gStringVar4, 0); + BattlePutTextOnWindow(gStringVar4, 0); gTasks[taskID].tEvoWasStopped = TRUE; gTasks[taskID].tState = 15; } @@ -829,7 +829,7 @@ static void Task_EvolutionScene(u8 taskID) BufferMoveToLearnIntoBattleTextBuff2(); PlayFanfare(MUS_FANFA1); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNLEARNEDMOVE - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tLearnsFirstMove = 0x40; // re-used as a counter gTasks[taskID].tState++; } @@ -846,7 +846,7 @@ static void Task_EvolutionScene(u8 taskID) { BufferMoveToLearnIntoBattleTextBuff2(); BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE1 - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; } break; @@ -854,7 +854,7 @@ static void Task_EvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE2 - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; } break; @@ -862,7 +862,7 @@ static void Task_EvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_TRYTOLEARNMOVE3 - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tData7 = 5; gTasks[taskID].tData8 = 10; gTasks[taskID].tLearnMoveState++; @@ -871,7 +871,7 @@ static void Task_EvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); - BattleHandleAddTextPrinter(gText_BattleYesNoChoice, 0xC); + BattlePutTextOnWindow(gText_BattleYesNoChoice, 0xC); gTasks[taskID].tLearnMoveState++; sEvoCursorPos = 0; BattleCreateYesNoCursorAt(0); @@ -939,7 +939,7 @@ static void Task_EvolutionScene(u8 taskID) if (IsHMMove2(move)) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState = 12; } else @@ -955,14 +955,14 @@ static void Task_EvolutionScene(u8 taskID) break; case 7: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_123POOF - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; break; case 8: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_PKMNFORGOTMOVE - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tLearnMoveState++; } break; @@ -970,20 +970,20 @@ static void Task_EvolutionScene(u8 taskID) if (!IsTextPrinterActive(0) && !IsSEPlaying()) { BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_ANDELLIPSIS - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tState = 20; } break; case 10: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_STOPLEARNINGMOVE - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tData7 = 11; gTasks[taskID].tData8 = 0; gTasks[taskID].tLearnMoveState = 3; break; case 11: BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_DIDNOTLEARNMOVE - BATTLESTRINGS_ID_ADDER]); - BattleHandleAddTextPrinter(gDisplayedStringBattle, 0); + BattlePutTextOnWindow(gDisplayedStringBattle, 0); gTasks[taskID].tState = 15; break; case 12: @@ -1215,7 +1215,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 3: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - sub_809882C(0, 0xA8, 0xE0); + LoadSav2WindowGfx(0, 0xA8, 0xE0); CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskID].tLearnMoveState++; diff --git a/src/field_region_map.c b/src/field_region_map.c index b7d677c90..1edf1ab51 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -89,7 +89,7 @@ static void MCB2_InitRegionMapRegisters(void) InitBgsFromTemplates(1, gUnknown_085E5068, 2); InitWindows(gUnknown_085E5070); DeactivateAllTextPrinters(); - sub_809882C(0, 0x27, 0xd0); + LoadSav2WindowGfx(0, 0x27, 0xd0); clear_scheduled_bg_copies_to_vram(); SetMainCallback2(MCB2_FieldUpdateRegionMap); SetVBlankCallback(VBCB_FieldUpdateRegionMap); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 83df30d05..b0388e971 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -89,7 +89,7 @@ extern void sub_8197434(u8, u8); extern u16 sub_818D97C(u8 playerGender, u8); extern u16 sub_818D8AC(u16, u8, s16, s16, u8, u16); extern const void* stdpal_get(u8); -extern void sub_80987D4(u8, u8, u16, u8); +extern void LoadWindowGfx(u8, u8, u16, u8); extern u16 sub_818D820(u16); extern u16 sub_818D8F0(u16); extern u16 sub_818D7D8(u16 species, u32 trainerId, u32 personality, u8 arg3, s16 sp0, s16 sp1, u8 sp2, u16 sp3); @@ -725,7 +725,7 @@ static void sub_8173EE4(u8 taskId) ShowBg(3); gTasks[taskId].tPlayerSpriteID = sub_818D8AC(sub_818D97C(gSaveBlock2Ptr->playerGender, 1), 1, 120, 72, 6, 0xFFFF); AddWindow(&sHof_WindowTemplate); - sub_80987D4(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); + LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); LoadPalette(stdpal_get(1), 0xE0, 0x20); gTasks[taskId].tFrameCount = 120; gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo; diff --git a/src/item_menu.c b/src/item_menu.c index 0642c771e..5a0929a7c 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -2103,8 +2103,8 @@ void setup_bag_menu_textboxes(void) InitWindows(gUnknown_08614174); DeactivateAllTextPrinters(); - sub_809882C(0, 1, -32); - copy_textbox_border_tile_patterns_to_vram(0, 10, -48); + LoadSav2WindowGfx(0, 1, -32); + LoadMessageBoxGfx(0, 10, -48); sub_819A2BC(-64, 1); LoadPalette(&gUnknown_0860F074, 0xF0, 0x20); for (i = 0; i < 3; i++) diff --git a/src/list_menu.c b/src/list_menu.c index de7de8269..d4a8976a5 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -337,7 +337,7 @@ s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenu switch (arg2) { case 2: - sub_809882C(gUnknown_0203CE84.field_5, tileNum, palNum); + LoadSav2WindowGfx(gUnknown_0203CE84.field_5, tileNum, palNum); case 1: sub_8098858(gUnknown_0203CE84.field_5, tileNum, palNum / 16); break; diff --git a/src/main_menu.c b/src/main_menu.c index 3490424af..0f703a014 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -1038,7 +1038,7 @@ void task_new_game_prof_birch_speech_3(u8 taskId) { InitWindows(gUnknown_082FF080); LoadMainMenuWindowFrameTiles(0, 0xF3); - copy_textbox_border_tile_patterns_to_vram(0, 0xFC, 0xF0); + LoadMessageBoxGfx(0, 0xFC, 0xF0); unknown_rbox_to_vram(0, 1); PutWindowTilemap(0); CopyWindowToVram(0, 2); @@ -1565,7 +1565,7 @@ void new_game_prof_birch_speech_part2_start(void) SetMainCallback2(CB2_MainMenu); InitWindows(gUnknown_082FF080); LoadMainMenuWindowFrameTiles(0, 0xF3); - copy_textbox_border_tile_patterns_to_vram(0, 0xFC, 0xF0); + LoadMessageBoxGfx(0, 0xFC, 0xF0); PutWindowTilemap(0); CopyWindowToVram(0, 3); } diff --git a/src/menu.c b/src/menu.c index dedfcc3be..79c70e619 100644 --- a/src/menu.c +++ b/src/menu.c @@ -193,8 +193,8 @@ void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonP void sub_81973A4(void) { - copy_textbox_border_tile_patterns_to_vram(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); - sub_809882C(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); + LoadMessageBoxGfx(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + LoadSav2WindowGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); } void NewMenuHelpers_DrawDialogueFrame(u8 windowId, bool8 copyToVram) @@ -412,7 +412,7 @@ void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram) void sub_819786C(u8 windowId, bool8 copyToVram) { - copy_textbox_border_tile_patterns_to_vram(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); + LoadMessageBoxGfx(windowId, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); sub_8197B1C(windowId, copyToVram, DLG_WINDOW_BASE_TILE_NUM, 0xF); } diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 8a7671c5b..c7247b696 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -77,7 +77,7 @@ void CB2_InitMysteryEventMenu(void) FillWindowPixelBuffer(i, 0); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); - sub_809882C(0, 1u, 0xD0u); + LoadSav2WindowGfx(0, 1u, 0xD0u); sub_81978B0(0xE0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); SetGpuReg(REG_OFFSET_BLDCNT, 0); diff --git a/src/pokeblock.c b/src/pokeblock.c index 216c9e2c5..518acd792 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -75,8 +75,8 @@ extern const u16 gUnknown_0860F074[]; extern void CB2_ReturnToField(void); extern bool8 sub_81221EC(void); -extern void sub_809882C(u8, u16, u8); -extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); +extern void LoadSav2WindowGfx(u8, u16, u8); +extern void LoadMessageBoxGfx(u8, u16, u8); extern void sub_80AF168(void); // this file's functions @@ -566,8 +566,8 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplatesForPokeblockMenu); DeactivateAllTextPrinters(); - sub_809882C(0, 1, 0xE0); - copy_textbox_border_tile_patterns_to_vram(0, 0xA, 0xD0); + LoadSav2WindowGfx(0, 1, 0xE0); + LoadMessageBoxGfx(0, 0xA, 0xD0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); for (i = 0; i < ARRAY_COUNT(sWindowTemplatesForPokeblockMenu) - 1; i++) diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index db92d56a8..d3fdbd355 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -59,7 +59,7 @@ extern const u16 gUnknown_0860F074[]; extern bool8 sub_81221EC(void); extern void sub_806A068(u16, u8); -extern void sub_809882C(u8, u16, u8); +extern void LoadSav2WindowGfx(u8, u16, u8); // this file's functions static void HandleInitBackgrounds(void); @@ -706,7 +706,7 @@ static void HandleInitWindows(void) { InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - sub_809882C(0, 1, 0xE0); + LoadSav2WindowGfx(0, 1, 0xE0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); diff --git a/src/region_map.c b/src/region_map.c index f16787fc9..0a6c08234 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1603,7 +1603,7 @@ void MCB2_FlyMap(void) gMain.state++; break; case 3: - sub_809882C(0, 0x65, 0xd0); + LoadSav2WindowGfx(0, 0x65, 0xd0); clear_scheduled_bg_copies_to_vram(); gMain.state++; break; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 45f0f5a9e..4456e450c 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -58,7 +58,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void) { case 0: ScanlineEffect_Clear(); - sub_8035658(); + BattleInitBgsAndWindows(); SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); ShowBg(0); diff --git a/src/scrcmd.c b/src/scrcmd.c index 4e3fceb10..a09e911f0 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1517,7 +1517,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) winTemplate = sub_8198A50(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); gUnknown_03000F30 = AddWindow(&winTemplate); - sub_809882C(gUnknown_03000F30, 0x214, 0xE0); + LoadSav2WindowGfx(gUnknown_03000F30, 0x214, 0xE0); NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); PutWindowTilemap(gUnknown_03000F30); FillWindowPixelBuffer(gUnknown_03000F30, 0x11); diff --git a/src/start_menu.c b/src/start_menu.c index 7080ae6a8..43b4f85f2 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1212,7 +1212,7 @@ static bool32 sub_80A03E4(u8 *par1) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, sUnknown_085105A8, ARRAY_COUNT(sUnknown_085105A8)); InitWindows(sUnknown_085105AC); - box_border_load_tiles_and_pal(0, 8, 224); + LoadSav2WindowGfx_(0, 8, 224); sub_81978B0(240); break; case 3: diff --git a/src/starter_choose.c b/src/starter_choose.c index 480edbcb7..b2160a5a6 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -46,7 +46,7 @@ extern const u8 gStarterChoose_LabelCoords[][2]; extern const u8 gUnknown_085B1E0C[]; extern const u8 gUnknown_085B1E28[][2]; -extern void sub_809882C(u8, u16, u8); +extern void LoadSav2WindowGfx(u8, u16, u8); extern void ScanlineEffect_Stop(void); extern void clear_scheduled_bg_copies_to_vram(void); extern void dp13_810BB8C(void); @@ -126,7 +126,7 @@ void CB2_ChooseStarter(void) InitWindows(gUnknown_085B1DCC); DeactivateAllTextPrinters(); - sub_809882C(0, 0x2A8, 0xD0); + LoadSav2WindowGfx(0, 0x2A8, 0xD0); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); ResetTasks(); diff --git a/src/text_window.c b/src/text_window.c index c3b9f7197..35afc2004 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -91,26 +91,26 @@ const struct TilesPal *GetWindowFrameTilesPal(u8 id) return &sWindowFrames[id]; } -void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset) +void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gMessageBox_Gfx, 0x1C0, destOffset); LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20); } -void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset) +void LoadSav2WindowGfx_(u8 windowId, u16 destOffset, u8 palOffset) { - sub_809882C(windowId, destOffset, palOffset); + LoadSav2WindowGfx(windowId, destOffset, palOffset); } -void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) +void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), sWindowFrames[frameId].tiles, 0x120, destOffset); LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20); } -void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset) +void LoadSav2WindowGfx(u8 windowId, u16 destOffset, u8 palOffset) { - sub_80987D4(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); + LoadWindowGfx(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); } void sub_8098858(u8 windowId, u16 tileNum, u8 palNum) diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index c8898d08f..1fb4c411f 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -164,7 +164,7 @@ void sub_8166380(void) InitBgsFromTemplates(0, gUnknown_085DFCCC, ARRAY_COUNT(gUnknown_085DFCCC)); InitWindows(gUnknown_085DFCDC); DeactivateAllTextPrinters(); - sub_809882C(0, 0x97, 0xE0); + LoadSav2WindowGfx(0, 0x97, 0xE0); gUnknown_0203BC90->field_50++; break; case 4: diff --git a/src/wallclock.c b/src/wallclock.c index f15bbbc27..80383c26d 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -576,7 +576,7 @@ static void LoadWallClockGraphics(void) InitBgsFromTemplates(0, gUnknown_085B21FC, 3); InitWindows(gUnknown_085B21DC); DeactivateAllTextPrinters(); - sub_809882C(0, 0x250, 0xd0); + LoadSav2WindowGfx(0, 0x250, 0xd0); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); ResetTasks(); -- cgit v1.2.3 From 94752d420769dfc205b3f717c660f33a6eb2b6fb Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 19 Jun 2018 00:43:15 +0200 Subject: document battle bars --- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 2 +- src/battle_controller_player.c | 4 +- src/battle_controller_player_partner.c | 4 +- src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- src/battle_controller_wally.c | 2 +- src/battle_controllers.c | 2 +- src/battle_gfx_sfx_util.c | 132 +++--- src/battle_interface.c | 740 +++++++++++++++--------------- src/pokeball.c | 6 +- 12 files changed, 458 insertions(+), 442 deletions(-) (limited to 'src') diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 905e957ea..b2c05664b 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -395,7 +395,7 @@ static void sub_8064B04(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 3178bad0e..f7abe589a 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -279,7 +279,7 @@ static void sub_814B290(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index ae407af24..21b45dabf 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -391,7 +391,7 @@ static void sub_805F994(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); if (hpValue != -1) { diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 627b13e22..599ebfee4 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1120,7 +1120,7 @@ void c3_0802FDF4(u8 taskId) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); @@ -1224,7 +1224,7 @@ static void sub_8059400(u8 taskId) u8 battlerId = gTasks[taskId].tExpTask_bank; s16 r4; - r4 = sub_8074AA0(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); + r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); if (r4 == -1) { diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 25eef4c5c..df075522e 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -294,7 +294,7 @@ static void sub_81BB1D4(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); @@ -399,7 +399,7 @@ static void sub_81BB4E4(u8 taskId) u8 battlerId = gTasks[taskId].tExpTask_bank; s16 r4; - r4 = sub_8074AA0(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); + r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); if (r4 == -1) { diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index b4bdfaa4e..69f93d7e2 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -377,7 +377,7 @@ static void sub_8186C48(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 24cb58ea4..54ca4578b 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -363,7 +363,7 @@ static void sub_818A064(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index e8efb404f..955799ee3 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -349,7 +349,7 @@ static void sub_8168818(void) static void CompleteOnHealthbarDone(void) { - s16 hpValue = sub_8074AA0(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 2b918d018..8a7ff7b5d 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -587,7 +587,7 @@ static void SetBattlePartyIds(void) { for (i = 0; i < gBattlersCount; i++) { - for (j = 0; j < 6; j++) + for (j = 0; j < PARTY_SIZE; j++) { if (i < 2) { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index d2c242553..47af1b9dd 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -67,7 +67,7 @@ static void sub_805D7EC(struct Sprite *sprite); static bool8 ShouldAnimBeDoneRegardlessOfSubsitute(u8 animId); static void Task_ClearBitWhenBattleTableAnimDone(u8 taskId); static void Task_ClearBitWhenSpecialAnimDone(u8 taskId); -static void ClearSpritesBankHealthboxAnimData(void); +static void ClearSpritesBattlerHealthboxAnimData(void); // const rom data static const struct CompressedSpriteSheet gUnknown_0832C0D0 = @@ -411,35 +411,35 @@ void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status) #define tBattlerId data[0] -bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument) +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId, u16 argument) { u8 taskId; if (tableId == B_ANIM_CASTFORM_CHANGE && (argument & 0x80)) { - gBattleMonForms[activeBank] = (argument & ~(0x80)); + gBattleMonForms[activeBattler] = (argument & ~(0x80)); return TRUE; } - if (gBattleSpritesDataPtr->battlerData[activeBank].behindSubstitute + if (gBattleSpritesDataPtr->battlerData[activeBattler].behindSubstitute && !ShouldAnimBeDoneRegardlessOfSubsitute(tableId)) { return TRUE; } - if (gBattleSpritesDataPtr->battlerData[activeBank].behindSubstitute + if (gBattleSpritesDataPtr->battlerData[activeBattler].behindSubstitute && tableId == B_ANIM_SUBSTITUTE_FADE - && gSprites[gBattlerSpriteIds[activeBank]].invisible) + && gSprites[gBattlerSpriteIds[activeBattler]].invisible) { - LoadBattleMonGfxAndAnimate(activeBank, TRUE, gBattlerSpriteIds[activeBank]); - ClearBehindSubstituteBit(activeBank); + LoadBattleMonGfxAndAnimate(activeBattler, TRUE, gBattlerSpriteIds[activeBattler]); + ClearBehindSubstituteBit(activeBattler); return TRUE; } - gBattleAnimAttacker = atkBank; - gBattleAnimTarget = defBank; + gBattleAnimAttacker = atkBattler; + gBattleAnimTarget = defBattler; gBattleSpritesDataPtr->animationData->animArg = argument; LaunchBattleAnimation(gBattleAnims_VariousTable, tableId, FALSE); taskId = CreateTask(Task_ClearBitWhenBattleTableAnimDone, 10); - gTasks[taskId].tBattlerId = activeBank; + gTasks[taskId].tBattlerId = activeBattler; gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].animFromTableActive = 1; return FALSE; @@ -475,15 +475,15 @@ static bool8 ShouldAnimBeDoneRegardlessOfSubsitute(u8 animId) #define tBattlerId data[0] -void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId) +void InitAndLaunchSpecialAnimation(u8 activeBattler, u8 atkBattler, u8 defBattler, u8 tableId) { u8 taskId; - gBattleAnimAttacker = atkBank; - gBattleAnimTarget = defBank; + gBattleAnimAttacker = atkBattler; + gBattleAnimTarget = defBattler; LaunchBattleAnimation(gBattleAnims_Special, tableId, FALSE); taskId = CreateTask(Task_ClearBitWhenSpecialAnimDone, 10); - gTasks[taskId].tBattlerId = activeBank; + gTasks[taskId].tBattlerId = activeBattler; gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBattlerId].specialAnimActive = 1; } @@ -681,7 +681,7 @@ void FreeTrainerFrontPicPalette(u16 frontPicId) void sub_805DFFC(void) { - u8 numberOfBanks = 0; + u8 numberOfBattlers = 0; u8 i; LoadSpritePalette(&gUnknown_0832C128[0]); @@ -690,7 +690,7 @@ void sub_805DFFC(void) { LoadCompressedObjectPic(&gUnknown_0832C0D0); LoadCompressedObjectPic(&gUnknown_0832C0D8); - numberOfBanks = 2; + numberOfBattlers = 2; } else { @@ -698,9 +698,9 @@ void sub_805DFFC(void) LoadCompressedObjectPic(&gUnknown_0832C0E0[1]); LoadCompressedObjectPic(&gUnknown_0832C0F0[0]); LoadCompressedObjectPic(&gUnknown_0832C0F0[1]); - numberOfBanks = 4; + numberOfBattlers = 4; } - for (i = 0; i < numberOfBanks; i++) + for (i = 0; i < numberOfBattlers; i++) LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[i]]); } @@ -771,7 +771,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) switch (*state1) { case 0: - ClearSpritesBankHealthboxAnimData(); + ClearSpritesBattlerHealthboxAnimData(); (*state1)++; break; case 1: @@ -849,7 +849,7 @@ void ClearSpritesHealthboxAnimData(void) memset(gBattleSpritesDataPtr->animationData, 0, sizeof(struct BattleAnimationInfo)); } -static void ClearSpritesBankHealthboxAnimData(void) +static void ClearSpritesBattlerHealthboxAnimData(void) { ClearSpritesHealthboxAnimData(); memset(gBattleSpritesDataPtr->battlerData, 0, sizeof(struct BattleSpriteInfo) * MAX_BATTLERS_COUNT); @@ -868,7 +868,7 @@ void CopyBattleSpriteInvisibility(u8 battlerId) gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible; } -void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform) +void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform) { u16 paletteOffset; u32 personalityValue; @@ -878,16 +878,16 @@ void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform) if (notTransform) { - StartSpriteAnim(&gSprites[gBattlerSpriteIds[bankAtk]], gBattleSpritesDataPtr->animationData->animArg); - paletteOffset = 0x100 + bankAtk * 16; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleSpritesDataPtr->animationData->animArg); + paletteOffset = 0x100 + battlerAtk * 16; LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, 32); - gBattleMonForms[bankAtk] = gBattleSpritesDataPtr->animationData->animArg; - if (gBattleSpritesDataPtr->battlerData[bankAtk].transformSpecies != SPECIES_NONE) + gBattleMonForms[battlerAtk] = gBattleSpritesDataPtr->animationData->animArg; + if (gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32); } - gSprites[gBattlerSpriteIds[bankAtk]].pos1.y = GetBattlerSpriteDefault_Y(bankAtk); + gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk); } else { @@ -909,48 +909,48 @@ void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform) } else { - position = GetBattlerPosition(bankAtk); + position = GetBattlerPosition(battlerAtk); - if (GetBattlerSide(bankDef) == B_SIDE_OPPONENT) - targetSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bankDef]], MON_DATA_SPECIES); + if (GetBattlerSide(battlerDef) == B_SIDE_OPPONENT) + targetSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerDef]], MON_DATA_SPECIES); else - targetSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bankDef]], MON_DATA_SPECIES); + targetSpecies = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerDef]], MON_DATA_SPECIES); - if (GetBattlerSide(bankAtk) == B_SIDE_PLAYER) + if (GetBattlerSide(battlerAtk) == B_SIDE_PLAYER) { - personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_PERSONALITY); - otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_OT_ID); + personalityValue = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_OT_ID); HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[targetSpecies], gMonSpritesGfxPtr->sprites[position], targetSpecies, - gTransformedPersonalities[bankAtk]); + gTransformedPersonalities[battlerAtk]); } else { - personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_PERSONALITY); - otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bankAtk]], MON_DATA_OT_ID); + personalityValue = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerAtk]], MON_DATA_OT_ID); HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[targetSpecies], gMonSpritesGfxPtr->sprites[position], targetSpecies, - gTransformedPersonalities[bankAtk]); + gTransformedPersonalities[battlerAtk]); } } src = gMonSpritesGfxPtr->sprites[position]; - dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[bankAtk]].oam.tileNum * 32); + dst = (void *)(VRAM + 0x10000 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32); DmaCopy32(3, src, dst, 0x800); - paletteOffset = 0x100 + bankAtk * 16; + paletteOffset = 0x100 + battlerAtk * 16; lzPaletteData = GetFrontSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, 32); if (targetSpecies == SPECIES_CASTFORM) { - gSprites[gBattlerSpriteIds[bankAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies]; + gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonAnimationsSpriteAnimsPtrTable[targetSpecies]; LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette[0]); - LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[bankDef] * 16, paletteOffset, 32); + LoadPalette(gBattleStruct->castformPalette[0] + gBattleMonForms[battlerDef] * 16, paletteOffset, 32); } BlendPalette(paletteOffset, 16, 6, RGB_WHITE); @@ -958,12 +958,12 @@ void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform) if (!IsContest()) { - gBattleSpritesDataPtr->battlerData[bankAtk].transformSpecies = targetSpecies; - gBattleMonForms[bankAtk] = gBattleMonForms[bankDef]; + gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies; + gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef]; } - gSprites[gBattlerSpriteIds[bankAtk]].pos1.y = GetBattlerSpriteDefault_Y(bankAtk); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[bankAtk]], gBattleMonForms[bankAtk]); + gSprites[gBattlerSpriteIds[battlerAtk]].pos1.y = GetBattlerSpriteDefault_Y(battlerAtk); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]); } } @@ -1068,11 +1068,11 @@ void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) void BattleStopLowHpSound(void) { - u8 playerBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + u8 playerBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - gBattleSpritesDataPtr->battlerData[playerBank].lowHpSong = 0; + gBattleSpritesDataPtr->battlerData[playerBattler].lowHpSong = 0; if (IsDoubleBattle()) - gBattleSpritesDataPtr->battlerData[playerBank ^ BIT_FLANK].lowHpSong = 0; + gBattleSpritesDataPtr->battlerData[playerBattler ^ BIT_FLANK].lowHpSong = 0; m4aSongNumStop(SE_HINSI); } @@ -1085,19 +1085,19 @@ u8 GetMonHPBarLevel(struct Pokemon *mon) return GetHPBarLevel(hp, maxHP); } -void sub_805EAE8(void) +void HandleBattleLowHpMusicChange(void) { if (gMain.inBattle) { - u8 playerBank1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - u8 playerBank2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - u8 bank1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBank1]); - u8 bank2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBank2]); - - if (GetMonData(&gPlayerParty[bank1PartyId], MON_DATA_HP) != 0) - HandleLowHpMusicChange(&gPlayerParty[bank1PartyId], playerBank1); - if (IsDoubleBattle() && GetMonData(&gPlayerParty[bank2PartyId], MON_DATA_HP) != 0) - HandleLowHpMusicChange(&gPlayerParty[bank2PartyId], playerBank2); + u8 playerBattler1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + u8 playerBattler2 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + u8 battler1PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler1]); + u8 battler2PartyId = pokemon_order_func(gBattlerPartyIndexes[playerBattler2]); + + if (GetMonData(&gPlayerParty[battler1PartyId], MON_DATA_HP) != 0) + HandleLowHpMusicChange(&gPlayerParty[battler1PartyId], playerBattler1); + if (IsDoubleBattle() && GetMonData(&gPlayerParty[battler2PartyId], MON_DATA_HP) != 0) + HandleLowHpMusicChange(&gPlayerParty[battler2PartyId], playerBattler2); } } @@ -1147,14 +1147,14 @@ void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) { bool8 invisible = FALSE; u8 battlerId = shadowSprite->tBattlerId; - struct Sprite *bankSprite = &gSprites[gBattlerSpriteIds[battlerId]]; + struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battlerId]]; - if (!bankSprite->inUse || !IsBattlerSpritePresent(battlerId)) + if (!battlerSprite->inUse || !IsBattlerSpritePresent(battlerId)) { shadowSprite->callback = SpriteCB_SetInvisible; return; } - if (gAnimScriptActive || bankSprite->invisible) + if (gAnimScriptActive || battlerSprite->invisible) invisible = TRUE; else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0) @@ -1163,8 +1163,8 @@ void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute) invisible = TRUE; - shadowSprite->pos1.x = bankSprite->pos1.x; - shadowSprite->pos2.x = bankSprite->pos2.x; + shadowSprite->pos1.x = battlerSprite->pos1.x; + shadowSprite->pos2.x = battlerSprite->pos2.x; shadowSprite->invisible = invisible; } @@ -1177,7 +1177,7 @@ void SpriteCB_SetInvisible(struct Sprite *sprite) void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species) { - // The player's shadow is never seen + // The player's shadow is never seen. if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) return; @@ -1270,7 +1270,7 @@ void FreeMonSpritesGfx(void) FREE_AND_SET_NULL(gMonSpritesGfxPtr); } -bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon) +bool32 ShouldPlayNormalMonCry(struct Pokemon *mon) { s16 hp, maxHP; s32 barLevel; diff --git a/src/battle_interface.c b/src/battle_interface.c index 9ef45020d..94b5a2be9 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -26,7 +26,7 @@ struct TestingBar { s32 maxValue; - s32 currValue; + s32 oldValue; s32 receivedValue; u32 unkC_0:5; u32 unk10; @@ -37,7 +37,7 @@ enum HEALTHBOX_GFX_0, HEALTHBOX_GFX_1, HEALTHBOX_GFX_2, - HEALTHBOX_GFX_3, + HEALTHBOX_GFX_HP_BAR_GREEN, HEALTHBOX_GFX_4, HEALTHBOX_GFX_5, HEALTHBOX_GFX_6, @@ -55,19 +55,19 @@ enum HEALTHBOX_GFX_18, HEALTHBOX_GFX_19, HEALTHBOX_GFX_20, - HEALTHBOX_GFX_STATUS_PSN_BANK0, + HEALTHBOX_GFX_STATUS_PSN_BATTLER0, HEALTHBOX_GFX_22, HEALTHBOX_GFX_23, - HEALTHBOX_GFX_STATUS_PRZ_BANK0, + HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, HEALTHBOX_GFX_25, HEALTHBOX_GFX_26, - HEALTHBOX_GFX_STATUS_SLP_BANK0, + HEALTHBOX_GFX_STATUS_SLP_BATTLER0, HEALTHBOX_GFX_28, HEALTHBOX_GFX_29, - HEALTHBOX_GFX_STATUS_FRZ_BANK0, + HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, HEALTHBOX_GFX_31, HEALTHBOX_GFX_32, - HEALTHBOX_GFX_STATUS_BRN_BANK0, + HEALTHBOX_GFX_STATUS_BRN_BATTLER0, HEALTHBOX_GFX_34, HEALTHBOX_GFX_35, HEALTHBOX_GFX_36, @@ -81,7 +81,7 @@ enum HEALTHBOX_GFX_44, HEALTHBOX_GFX_45, HEALTHBOX_GFX_46, - HEALTHBOX_GFX_47, + HEALTHBOX_GFX_HP_BAR_YELLOW, HEALTHBOX_GFX_48, HEALTHBOX_GFX_49, HEALTHBOX_GFX_50, @@ -90,7 +90,7 @@ enum HEALTHBOX_GFX_53, HEALTHBOX_GFX_54, HEALTHBOX_GFX_55, - HEALTHBOX_GFX_56, + HEALTHBOX_GFX_HP_BAR_RED, HEALTHBOX_GFX_57, HEALTHBOX_GFX_58, HEALTHBOX_GFX_59, @@ -105,56 +105,56 @@ enum HEALTHBOX_GFX_68, HEALTHBOX_GFX_69, HEALTHBOX_GFX_70, - HEALTHBOX_GFX_STATUS_PSN_BANK1, + HEALTHBOX_GFX_STATUS_PSN_BATTLER1, HEALTHBOX_GFX_72, HEALTHBOX_GFX_73, - HEALTHBOX_GFX_STATUS_PRZ_BANK1, + HEALTHBOX_GFX_STATUS_PRZ_BATTLER1, HEALTHBOX_GFX_75, HEALTHBOX_GFX_76, - HEALTHBOX_GFX_STATUS_SLP_BANK1, + HEALTHBOX_GFX_STATUS_SLP_BATTLER1, HEALTHBOX_GFX_78, HEALTHBOX_GFX_79, - HEALTHBOX_GFX_STATUS_FRZ_BANK1, + HEALTHBOX_GFX_STATUS_FRZ_BATTLER1, HEALTHBOX_GFX_81, HEALTHBOX_GFX_82, - HEALTHBOX_GFX_STATUS_BRN_BANK1, + HEALTHBOX_GFX_STATUS_BRN_BATTLER1, HEALTHBOX_GFX_84, HEALTHBOX_GFX_85, - HEALTHBOX_GFX_STATUS_PSN_BANK2, + HEALTHBOX_GFX_STATUS_PSN_BATTLER2, HEALTHBOX_GFX_87, HEALTHBOX_GFX_88, - HEALTHBOX_GFX_STATUS_PRZ_BANK2, + HEALTHBOX_GFX_STATUS_PRZ_BATTLER2, HEALTHBOX_GFX_90, HEALTHBOX_GFX_91, - HEALTHBOX_GFX_STATUS_SLP_BANK2, + HEALTHBOX_GFX_STATUS_SLP_BATTLER2, HEALTHBOX_GFX_93, HEALTHBOX_GFX_94, - HEALTHBOX_GFX_STATUS_FRZ_BANK2, + HEALTHBOX_GFX_STATUS_FRZ_BATTLER2, HEALTHBOX_GFX_96, HEALTHBOX_GFX_97, - HEALTHBOX_GFX_STATUS_BRN_BANK2, + HEALTHBOX_GFX_STATUS_BRN_BATTLER2, HEALTHBOX_GFX_99, HEALTHBOX_GFX_100, - HEALTHBOX_GFX_STATUS_PSN_BANK3, + HEALTHBOX_GFX_STATUS_PSN_BATTLER3, HEALTHBOX_GFX_102, HEALTHBOX_GFX_103, - HEALTHBOX_GFX_STATUS_PRZ_BANK3, + HEALTHBOX_GFX_STATUS_PRZ_BATTLER3, HEALTHBOX_GFX_105, HEALTHBOX_GFX_106, - HEALTHBOX_GFX_STATUS_SLP_BANK3, + HEALTHBOX_GFX_STATUS_SLP_BATTLER3, HEALTHBOX_GFX_108, HEALTHBOX_GFX_109, - HEALTHBOX_GFX_STATUS_FRZ_BANK3, + HEALTHBOX_GFX_STATUS_FRZ_BATTLER3, HEALTHBOX_GFX_111, HEALTHBOX_GFX_112, - HEALTHBOX_GFX_STATUS_BRN_BANK3, + HEALTHBOX_GFX_STATUS_BRN_BATTLER3, HEALTHBOX_GFX_114, HEALTHBOX_GFX_115, HEALTHBOX_GFX_116, HEALTHBOX_GFX_117, }; -extern const u8 * const gNatureNamePointers[]; +extern const u8 *const gNatureNamePointers[]; // strings extern const u8 gText_Slash[]; @@ -179,28 +179,28 @@ static void RemoveWindowOnHealthbox(u32 windowId); static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId); -static void sub_8075198(void *dest, u8 *windowTileData, s32 arg2); -static void sub_80751E4(void *dest, u8 *windowTileData, u32 arg2); -static void sub_8075170(void *dest, u8 *windowTileData, u32 arg2); -static void sub_807513C(void *dest, u32 arg1, u32 arg2); +static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 arg2); +static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2); +static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2); +static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2); static void sub_8073E08(u8 taskId); static void sub_8073F98(u8 taskId); static void sub_8073E64(u8 taskId); -static void sub_8072924(struct Sprite *sprite); -static void sub_80728B4(struct Sprite *sprite); +static void SpriteCB_HealthBoxOther(struct Sprite *sprite); +static void SpriteCB_HealthBar(struct Sprite *sprite); static void sub_8074158(struct Sprite *sprite); static void sub_8074090(struct Sprite *sprite); static void SpriteCB_StatusSummaryBar(struct Sprite *sprite); static void SpriteCB_StatusSummaryBallsOnBattleStart(struct Sprite *sprite); static void SpriteCB_StatusSummaryBallsOnSwitchout(struct Sprite *sprite); -static u8 GetStatusIconForBankId(u8 statusElementId, u8 battlerId); -static s32 sub_8074DB8(s32 maxValue, s32 currValue, s32 receivedValue, s32 *arg3, u8 arg4, u16 arg5); +static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId); +static s32 CalcNewBarValue(s32 maxValue, s32 currValue, s32 receivedValue, s32 *arg3, u8 arg4, u16 arg5); static u8 GetScaledExpFraction(s32 currValue, s32 receivedValue, s32 maxValue, u8 scale); -static void sub_8074B9C(u8 battlerId, u8 whichBar); -static u8 sub_8074E8C(s32 maxValue, s32 currValue, s32 receivedValue, s32 *arg3, u8 *arg4, u8 arg5); +static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar); +static u8 CalcBarFilledPixels(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *currValue, u8 *arg4, u8 scale); static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2); // const rom data @@ -276,7 +276,7 @@ static const struct SpriteTemplate sHealthboxSafariSpriteTemplate = .callback = SpriteCallbackDummy }; -static const struct OamData sUnknown_0832C1B8 = +static const struct OamData sOamData_Healthbar = { .y = 0, .affineMode = 0, @@ -293,43 +293,43 @@ static const struct OamData sUnknown_0832C1B8 = .affineParam = 0, }; -static const struct SpriteTemplate sUnknown_0832C1C0[4] = +static const struct SpriteTemplate sHealthbarSpriteTemplates[MAX_BATTLERS_COUNT] = { { - .tileTag = 0xd704, - .paletteTag = 0xd704, - .oam = &sUnknown_0832C1B8, + .tileTag = TAG_HEALTHBAR_PLAYER1_TILE, + .paletteTag = TAG_HEALTHBAR_PAL, + .oam = &sOamData_Healthbar, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80728B4 + .callback = SpriteCB_HealthBar }, { - .tileTag = 0xd705, - .paletteTag = 0xd704, - .oam = &sUnknown_0832C1B8, + .tileTag = TAG_HEALTHBAR_OPPONENT1_TILE, + .paletteTag = TAG_HEALTHBAR_PAL, + .oam = &sOamData_Healthbar, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80728B4 + .callback = SpriteCB_HealthBar }, { - .tileTag = 0xd706, - .paletteTag = 0xd704, - .oam = &sUnknown_0832C1B8, + .tileTag = TAG_HEALTHBAR_PLAYER2_TILE, + .paletteTag = TAG_HEALTHBAR_PAL, + .oam = &sOamData_Healthbar, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80728B4 + .callback = SpriteCB_HealthBar }, { - .tileTag = 0xd707, - .paletteTag = 0xd704, - .oam = &sUnknown_0832C1B8, + .tileTag = TAG_HEALTHBAR_OPPONENT2_TILE, + .paletteTag = TAG_HEALTHBAR_PAL, + .oam = &sOamData_Healthbar, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_80728B4 + .callback = SpriteCB_HealthBar } }; @@ -883,112 +883,126 @@ void sub_80724A8(s16 arg0, s16 arg1, u16 *arg2) sub_8072308(arg0, arg2 + 5, 1); } -// because the healthbox is too large to fit into one sprite, it is divided into two sprites -// healthboxSpriteId_1 or healthboxSpriteId refers to the 'main' healthbox -// healthboxSpriteId_2 refers to the other part -// there's also one other sprite that appears to be a black square? dont fully understand its role +// Because the healthbox is too large to fit into one sprite, it is divided into two sprites. +// healthboxLeft or healthboxMain is the left part that is used as the 'main' sprite. +// healthboxRight or healthboxOther is the right part of the healthbox. +// There's also the third sprite under name of healthbarSprite that refers to the healthbar visible on the healtbox. -u8 CreateBattlerHealthboxSprites(u8 battler) +// data fields for healthboxMain +// oam.affineParam holds healthboxRight spriteId +#define hMain_HealthBarSpriteId data[5] +#define hMain_Battler data[6] +#define hMain_Data7 data[7] + +// data fields for healthboxRight +#define hOther_HealthBoxSpriteId data[5] + +// data fields for healthbar +#define hBar_HealthBoxSpriteId data[5] +#define hBar_Data6 data[6] + +u8 CreateBattlerHealthboxSprites(u8 battlerId) { s16 data6 = 0; - u8 healthboxSpriteId_1, healthboxSpriteId_2; - u8 unkSpriteId; - struct Sprite *unkSpritePtr; + u8 healthboxLeftSpriteId, healthboxRightSpriteId; + u8 healthbarSpriteId; + struct Sprite *healthBarSpritePtr; if (!IsDoubleBattle()) { - if (GetBattlerSide(battler) == B_SIDE_PLAYER) + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) { - healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[0], 240, 160, 1); - gSprites[healthboxSpriteId_1].oam.shape = 0; + gSprites[healthboxLeftSpriteId].oam.shape = 0; - gSprites[healthboxSpriteId_2].oam.shape = 0; - gSprites[healthboxSpriteId_2].oam.tileNum += 64; + gSprites[healthboxRightSpriteId].oam.shape = 0; + gSprites[healthboxRightSpriteId].oam.tileNum += 64; } else { - healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[0], 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[0], 240, 160, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[0], 240, 160, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[0], 240, 160, 1); - gSprites[healthboxSpriteId_2].oam.tileNum += 32; + gSprites[healthboxRightSpriteId].oam.tileNum += 32; data6 = 2; } - gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; - gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; - gSprites[healthboxSpriteId_2].callback = sub_8072924; + gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; + + gSprites[healthboxRightSpriteId].hOther_HealthBoxSpriteId = healthboxLeftSpriteId; + gSprites[healthboxRightSpriteId].callback = SpriteCB_HealthBoxOther; } else { - if (GetBattlerSide(battler) == B_SIDE_PLAYER) + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) { - healthboxSpriteId_1 = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], 240, 160, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxPlayerSpriteTemplates[GetBattlerPosition(battlerId) / 2], 240, 160, 1); - gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; + gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; - gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; - gSprites[healthboxSpriteId_2].oam.tileNum += 32; - gSprites[healthboxSpriteId_2].callback = sub_8072924; + gSprites[healthboxRightSpriteId].hOther_HealthBoxSpriteId = healthboxLeftSpriteId; + gSprites[healthboxRightSpriteId].oam.tileNum += 32; + gSprites[healthboxRightSpriteId].callback = SpriteCB_HealthBoxOther; data6 = 1; } else { - healthboxSpriteId_1 = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battler) / 2], 240, 160, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], 240, 160, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxOpponentSpriteTemplates[GetBattlerPosition(battlerId) / 2], 240, 160, 1); - gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; + gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; - gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; - gSprites[healthboxSpriteId_2].oam.tileNum += 32; - gSprites[healthboxSpriteId_2].callback = sub_8072924; + gSprites[healthboxRightSpriteId].hOther_HealthBoxSpriteId = healthboxLeftSpriteId; + gSprites[healthboxRightSpriteId].oam.tileNum += 32; + gSprites[healthboxRightSpriteId].callback = SpriteCB_HealthBoxOther; data6 = 2; } } - unkSpriteId = CreateSpriteAtEnd(&sUnknown_0832C1C0[gBattlerPositions[battler]], 140, 60, 0); - unkSpritePtr = &gSprites[unkSpriteId]; - SetSubspriteTables(unkSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battler)]); - unkSpritePtr->subspriteMode = 2; - unkSpritePtr->oam.priority = 1; + healthbarSpriteId = CreateSpriteAtEnd(&sHealthbarSpriteTemplates[gBattlerPositions[battlerId]], 140, 60, 0); + healthBarSpritePtr = &gSprites[healthbarSpriteId]; + SetSubspriteTables(healthBarSpritePtr, &sUnknown_0832C28C[GetBattlerSide(battlerId)]); + healthBarSpritePtr->subspriteMode = 2; + healthBarSpritePtr->oam.priority = 1; - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + unkSpritePtr->oam.tileNum * 32), 64); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void*)(OBJ_VRAM0 + healthBarSpritePtr->oam.tileNum * 32), 64); - gSprites[healthboxSpriteId_1].data[5] = unkSpriteId; - gSprites[healthboxSpriteId_1].data[6] = battler; - gSprites[healthboxSpriteId_1].invisible = 1; + gSprites[healthboxLeftSpriteId].hMain_HealthBarSpriteId = healthbarSpriteId; + gSprites[healthboxLeftSpriteId].hMain_Battler = battlerId; + gSprites[healthboxLeftSpriteId].invisible = 1; - gSprites[healthboxSpriteId_2].invisible = 1; + gSprites[healthboxRightSpriteId].invisible = 1; - unkSpritePtr->data[5] = healthboxSpriteId_1; - unkSpritePtr->data[6] = data6; - unkSpritePtr->invisible = 1; + healthBarSpritePtr->hBar_HealthBoxSpriteId = healthboxLeftSpriteId; + healthBarSpritePtr->hBar_Data6 = data6; + healthBarSpritePtr->invisible = 1; - return healthboxSpriteId_1; + return healthboxLeftSpriteId; } u8 CreateSafariPlayerHealthboxSprites(void) { - u8 healthboxSpriteId_1, healthboxSpriteId_2; + u8 healthboxLeftSpriteId, healthboxRightSpriteId; - healthboxSpriteId_1 = CreateSprite(&sHealthboxSafariSpriteTemplate, 240, 160, 1); - healthboxSpriteId_2 = CreateSpriteAtEnd(&sHealthboxSafariSpriteTemplate, 240, 160, 1); + healthboxLeftSpriteId = CreateSprite(&sHealthboxSafariSpriteTemplate, 240, 160, 1); + healthboxRightSpriteId = CreateSpriteAtEnd(&sHealthboxSafariSpriteTemplate, 240, 160, 1); - gSprites[healthboxSpriteId_1].oam.shape = 0; - gSprites[healthboxSpriteId_2].oam.shape = 0; + gSprites[healthboxLeftSpriteId].oam.shape = 0; + gSprites[healthboxRightSpriteId].oam.shape = 0; - gSprites[healthboxSpriteId_2].oam.tileNum += 64; + gSprites[healthboxRightSpriteId].oam.tileNum += 64; - gSprites[healthboxSpriteId_1].oam.affineParam = healthboxSpriteId_2; - gSprites[healthboxSpriteId_2].data[5] = healthboxSpriteId_1; + gSprites[healthboxLeftSpriteId].oam.affineParam = healthboxRightSpriteId; + gSprites[healthboxRightSpriteId].hOther_HealthBoxSpriteId = healthboxLeftSpriteId; - gSprites[healthboxSpriteId_2].callback = sub_8072924; + gSprites[healthboxRightSpriteId].callback = SpriteCB_HealthBoxOther; - return healthboxSpriteId_1; + return healthboxLeftSpriteId; } static const u8 *GetHealthboxElementGfxPtr(u8 elementId) @@ -996,62 +1010,63 @@ static const u8 *GetHealthboxElementGfxPtr(u8 elementId) return gHealthboxElementsGfxTable[elementId]; } -static void sub_80728B4(struct Sprite *sprite) +// Syncs the position of healthbar accordingly with the healthbox. +static void SpriteCB_HealthBar(struct Sprite *sprite) { - u8 var = sprite->data[5]; + u8 healthboxSpriteId = sprite->hBar_HealthBoxSpriteId; - switch (sprite->data[6]) + switch (sprite->hBar_Data6) { case 0: - sprite->pos1.x = gSprites[var].pos1.x + 16; - sprite->pos1.y = gSprites[var].pos1.y; + sprite->pos1.x = gSprites[healthboxSpriteId].pos1.x + 16; + sprite->pos1.y = gSprites[healthboxSpriteId].pos1.y; break; case 1: - sprite->pos1.x = gSprites[var].pos1.x + 16; - sprite->pos1.y = gSprites[var].pos1.y; + sprite->pos1.x = gSprites[healthboxSpriteId].pos1.x + 16; + sprite->pos1.y = gSprites[healthboxSpriteId].pos1.y; break; case 2: default: - sprite->pos1.x = gSprites[var].pos1.x + 8; - sprite->pos1.y = gSprites[var].pos1.y; + sprite->pos1.x = gSprites[healthboxSpriteId].pos1.x + 8; + sprite->pos1.y = gSprites[healthboxSpriteId].pos1.y; break; } - sprite->pos2.x = gSprites[var].pos2.x; - sprite->pos2.y = gSprites[var].pos2.y; + sprite->pos2.x = gSprites[healthboxSpriteId].pos2.x; + sprite->pos2.y = gSprites[healthboxSpriteId].pos2.y; } -static void sub_8072924(struct Sprite *sprite) +static void SpriteCB_HealthBoxOther(struct Sprite *sprite) { - u8 otherSpriteId = sprite->data[5]; + u8 healthboxMainSpriteId = sprite->hOther_HealthBoxSpriteId; - sprite->pos1.x = gSprites[otherSpriteId].pos1.x + 64; - sprite->pos1.y = gSprites[otherSpriteId].pos1.y; + sprite->pos1.x = gSprites[healthboxMainSpriteId].pos1.x + 64; + sprite->pos1.y = gSprites[healthboxMainSpriteId].pos1.y; - sprite->pos2.x = gSprites[otherSpriteId].pos2.x; - sprite->pos2.y = gSprites[otherSpriteId].pos2.y; + sprite->pos2.x = gSprites[healthboxMainSpriteId].pos2.x; + sprite->pos2.y = gSprites[healthboxMainSpriteId].pos2.y; } -void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue) +void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 oldVal, s32 receivedValue) { gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId = healthboxSpriteId; gBattleSpritesDataPtr->battleBars[battlerId].maxValue = maxVal; - gBattleSpritesDataPtr->battleBars[battlerId].currentValue = currVal; + gBattleSpritesDataPtr->battleBars[battlerId].oldValue = oldVal; gBattleSpritesDataPtr->battleBars[battlerId].receivedValue = receivedValue; - gBattleSpritesDataPtr->battleBars[battlerId].field_10 = -32768; + gBattleSpritesDataPtr->battleBars[battlerId].currValue = -32768; } void SetHealthboxSpriteInvisible(u8 healthboxSpriteId) { gSprites[healthboxSpriteId].invisible = 1; - gSprites[gSprites[healthboxSpriteId].data[5]].invisible = 1; + gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = 1; gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 1; } void SetHealthboxSpriteVisible(u8 healthboxSpriteId) { gSprites[healthboxSpriteId].invisible = 0; - gSprites[gSprites[healthboxSpriteId].data[5]].invisible = 0; + gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = 0; gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = 0; } @@ -1064,11 +1079,11 @@ static void UpdateSpritePos(u8 spriteId, s16 x, s16 y) void DestoryHealthboxSprite(u8 healthboxSpriteId) { DestroySprite(&gSprites[gSprites[healthboxSpriteId].oam.affineParam]); - DestroySprite(&gSprites[gSprites[healthboxSpriteId].data[5]]); + DestroySprite(&gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId]); DestroySprite(&gSprites[healthboxSpriteId]); } -void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly) +void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBattlerOnly) { } @@ -1079,13 +1094,13 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority) for (i = 0; i < gBattlersCount; i++) { - u8 healthboxSpriteId_1 = gHealthboxSpriteIds[i]; - u8 healthboxSpriteId_2 = gSprites[gHealthboxSpriteIds[i]].oam.affineParam; - u8 healthboxSpriteId_3 = gSprites[gHealthboxSpriteIds[i]].data[5]; + u8 healthboxLeftSpriteId = gHealthboxSpriteIds[i]; + u8 healthboxRightSpriteId = gSprites[gHealthboxSpriteIds[i]].oam.affineParam; + u8 healthbarSpriteId = gSprites[gHealthboxSpriteIds[i]].hMain_HealthBarSpriteId; - gSprites[healthboxSpriteId_1].oam.priority = priority; - gSprites[healthboxSpriteId_2].oam.priority = priority; - gSprites[healthboxSpriteId_3].oam.priority = priority; + gSprites[healthboxLeftSpriteId].oam.priority = priority; + gSprites[healthboxRightSpriteId].oam.priority = priority; + gSprites[healthbarSpriteId].oam.priority = priority; } } @@ -1146,7 +1161,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, xPos, 3, 2, &windowId); spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; - if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER) { objVram = (void*)(OBJ_VRAM0); if (!IsDoubleBattle()) @@ -1159,7 +1174,7 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl) objVram = (void*)(OBJ_VRAM0); objVram += spriteTileNum + 0x400; } - sub_8075198(objVram, windowTileData, 3); + TextIntoHealthboxObject(objVram, windowTileData, 3); RemoveWindowOnHealthbox(windowId); } @@ -1170,7 +1185,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) u8 text[32]; void *objVram; - if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER && !IsDoubleBattle()) + if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER && !IsDoubleBattle()) { spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; if (maxOrCurrent != HP_CURRENT) // singles, max @@ -1179,7 +1194,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 0, 5, 2, &windowId); objVram = (void*)(OBJ_VRAM0); objVram += spriteTileNum + 0xB40; - sub_8075170(objVram, windowTileData, 2); + HpTextIntoHealthboxObject(objVram, windowTileData, 2); RemoveWindowOnHealthbox(windowId); } else // singles, current @@ -1190,20 +1205,19 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 4, 5, 2, &windowId); objVram = (void*)(OBJ_VRAM0); objVram += spriteTileNum + 0x3E0; - sub_8075170(objVram, windowTileData, 1); + HpTextIntoHealthboxObject(objVram, windowTileData, 1); objVram = (void*)(OBJ_VRAM0); objVram += spriteTileNum + 0xB00; - sub_8075170(objVram, windowTileData + 0x20, 2); + HpTextIntoHealthboxObject(objVram, windowTileData + 0x20, 2); RemoveWindowOnHealthbox(windowId); } - } else { u8 battler; memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4)); - battler = gSprites[healthboxSpriteId].data[6]; + battler = gSprites[healthboxSpriteId].hMain_Battler; if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT) { UpdateHpTextInHealthboxInDoubles(healthboxSpriteId, value, maxOrCurrent); @@ -1248,7 +1262,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 u8 text[32]; void *objVram; - if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER) { if (gBattleSpritesDataPtr->battlerData[gSprites[healthboxSpriteId].data[6]].hpNumbersNoBars) // don't print text if only bars are visible { @@ -1259,7 +1273,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 { ConvertIntToDecimalStringN(text, value, STR_CONV_MODE_RIGHT_ALIGN, 3); windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 0, 5, 0, &windowId); - sub_8075170((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2); + HpTextIntoHealthboxObject((void*)(OBJ_VRAM0) + spriteTileNum + 0xC0, windowTileData, 2); RemoveWindowOnHealthbox(windowId); CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116), (void*)(OBJ_VRAM0 + 0x680) + (gSprites[healthboxSpriteId].oam.tileNum * 32), @@ -1271,8 +1285,8 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 text[3] = CHAR_SLASH; text[4] = EOS; windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, 4, 5, 0, &windowId); - sub_807513C(objVram, 0, 3); - sub_8075170((void*)(OBJ_VRAM0 + 0x60) + spriteTileNum, windowTileData, 3); + FillHealthboxObject(objVram, 0, 3); // Erases HP bar leftover. + HpTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x60) + spriteTileNum, windowTileData, 3); RemoveWindowOnHealthbox(windowId); } } @@ -1282,7 +1296,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 u8 battlerId; memcpy(text, sUnknown_0832C3D8, sizeof(sUnknown_0832C3D8)); - battlerId = gSprites[healthboxSpriteId].data[6]; + battlerId = gSprites[healthboxSpriteId].hMain_Battler; if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) // don't print text if only bars are visible { @@ -1325,7 +1339,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } else { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // impossible to reach part, because the battlerId is from the opponent's side + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) // Impossible to reach part, because the battlerId is from the opponent's side. { CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_116), (void*)(OBJ_VRAM0) + ((gSprites[healthboxSpriteId].oam.tileNum + 52) * 32), @@ -1336,15 +1350,16 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } } -static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon) +// Prints mon's nature and flee rate. Probably used to test pokeblock feeders. +static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon) { u8 text[20]; s32 j, var2; u8 *barFontGfx; - u8 i, var, nature, healthboxSpriteId_2; + u8 i, var, nature, healthBarSpriteId; memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4)); - barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBattlerPosition(gSprites[healthboxSpriteId].data[6]) * 384)]; + barFontGfx = &gMonSpritesGfxPtr->barFontGfx[0x520 + (GetBattlerPosition(gSprites[healthboxSpriteId].hMain_Battler) * 384)]; var = 5; nature = GetNature(mon); StringCopy(text + 6, gNatureNamePointers[nature]); @@ -1375,26 +1390,26 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon) barFontGfx += 0x20; } - healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5]; + healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; ConvertIntToDecimalStringN(text + 6, gBattleStruct->field_7C, STR_CONV_MODE_RIGHT_ALIGN, 2); ConvertIntToDecimalStringN(text + 9, gBattleStruct->field_7B, STR_CONV_MODE_RIGHT_ALIGN, 2); text[5] = CHAR_SPACE; text[8] = CHAR_SLASH; RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text); - j = healthboxSpriteId_2; // needed to match for some reason + j = healthBarSpriteId; // Needed to match for some reason. for (j = 0; j < 5; j++) { if (j <= 1) { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20], - (void*)(OBJ_VRAM0) + (gSprites[healthboxSpriteId_2].oam.tileNum + 2 + j) * 32, + (void*)(OBJ_VRAM0) + (gSprites[healthBarSpriteId].oam.tileNum + 2 + j) * 32, 32); } else { CpuCopy32(&gMonSpritesGfxPtr->barFontGfx[0x40 * j + 0x20], - (void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthboxSpriteId_2].oam.tileNum) * 32, + (void*)(OBJ_VRAM0 + 0xC0) + (j + gSprites[healthBarSpriteId].oam.tileNum) * 32, 32); } } @@ -1403,7 +1418,7 @@ static void sub_80730D4(u8 healthboxSpriteId, struct Pokemon *mon) void SwapHpBarsWithHpText(void) { s32 i; - u8 spriteId; + u8 healthBarSpriteId; for (i = 0; i < gBattlersCount; i++) { @@ -1424,9 +1439,9 @@ void SwapHpBarsWithHpText(void) if (noBars == TRUE) // bars to text { - spriteId = gSprites[gHealthboxSpriteIds[i]].data[5]; + healthBarSpriteId = gSprites[gHealthboxSpriteIds[i]].hMain_HealthBarSpriteId; - CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); + CpuFill32(0, (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 0x100); UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT); UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX); } @@ -1443,13 +1458,14 @@ void SwapHpBarsWithHpText(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - sub_80730D4(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]]); + // Most likely a debug function. + PrintSafariMonInfo(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]]); } else { - spriteId = gSprites[gHealthboxSpriteIds[i]].data[5]; + healthBarSpriteId = gSprites[gHealthboxSpriteIds[i]].hMain_HealthBarSpriteId; - CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100); + CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 0x100); UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_HP), HP_CURRENT); UpdateHpTextInHealthboxInDoubles(gHealthboxSpriteIds[i], GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_MAX_HP), HP_MAX); } @@ -1462,7 +1478,7 @@ void SwapHpBarsWithHpText(void) UpdateHealthboxAttribute(gHealthboxSpriteIds[i], &gEnemyParty[gBattlerPartyIndexes[i]], HEALTHBOX_NICK); } } - gSprites[gHealthboxSpriteIds[i]].data[7] ^= 1; + gSprites[gHealthboxSpriteIds[i]].hMain_Data7 ^= 1; } } } @@ -1473,7 +1489,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, s16 bar_X, bar_Y, bar_pos2_X, bar_data0; s32 i, j, var; u8 barSpriteId; - u8 ballIconSpritesIds[6]; + u8 ballIconSpritesIds[PARTY_SIZE]; u8 taskId; if (!arg2 || GetBattlerPosition(battlerId) != B_POSITION_OPPONENT_RIGHT) @@ -1561,7 +1577,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg { @@ -1580,7 +1596,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, } else { - for (i = 0, var = 5, j = 0; j < 6; j++) + for (i = 0, var = 5, j = 0; j < PARTY_SIZE; j++) { if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg { @@ -1609,7 +1625,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, { if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS)) { - for (var = 5, i = 0; i < 6; i++) + for (var = 5, i = 0; i < PARTY_SIZE; i++) { if (partyInfo[i].hp == 0xFFFF) // empty slot or an egg { @@ -1629,7 +1645,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, } else { - for (var = 0, i = 0, j = 0; j < 6; j++) + for (var = 0, i = 0, j = 0; j < PARTY_SIZE; j++) { if (partyInfo[j].hp == 0xFFFF) // empty slot or an egg { @@ -1659,7 +1675,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, gTasks[taskId].data[0] = battlerId; gTasks[taskId].data[1] = barSpriteId; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) gTasks[taskId].data[3 + i] = ballIconSpritesIds[i]; gTasks[taskId].data[10] = isBattleStart; @@ -1677,12 +1693,12 @@ void sub_8073C30(u8 taskId) { u8 sp[6]; u8 r7; - u8 r10; + u8 summaryBarSpriteId; u8 battlerId; s32 i; r7 = gTasks[taskId].data[10]; - r10 = gTasks[taskId].data[1]; + summaryBarSpriteId = gTasks[taskId].data[1]; battlerId = gTasks[taskId].data[0]; for (i = 0; i < 6; i++) @@ -1696,7 +1712,7 @@ void sub_8073C30(u8 taskId) for (i = 0; i < 6; i++) gSprites[sp[i]].oam.objMode = 1; - gSprites[r10].oam.objMode = 1; + gSprites[summaryBarSpriteId].oam.objMode = 1; if (r7 != 0) { @@ -1717,10 +1733,10 @@ void sub_8073C30(u8 taskId) gSprites[sp[i]].callback = sub_8074158; } } - gSprites[r10].data[0] /= 2; - gSprites[r10].data[1] = 0; - gSprites[r10].callback = sub_8074090; - SetSubspriteTables(&gSprites[r10], sUnknown_0832C2CC); + gSprites[summaryBarSpriteId].data[0] /= 2; + gSprites[summaryBarSpriteId].data[1] = 0; + gSprites[summaryBarSpriteId].callback = sub_8074090; + SetSubspriteTables(&gSprites[summaryBarSpriteId], sUnknown_0832C2CC); gTasks[taskId].func = sub_8073E08; } else @@ -1754,7 +1770,7 @@ static void sub_8073E64(u8 taskId) gTasks[taskId].data[15]--; if (gTasks[taskId].data[15] == -1) { - u8 var = gTasks[taskId].data[1]; + u8 summaryBarSpriteId = gTasks[taskId].data[1]; for (i = 0; i < 6; i++) sp[i] = gTasks[taskId].data[3 + i]; @@ -1762,13 +1778,13 @@ static void sub_8073E64(u8 taskId) gBattleSpritesDataPtr->animationData->field_9_x1C--; if (!gBattleSpritesDataPtr->animationData->field_9_x1C) { - DestroySpriteAndFreeResources(&gSprites[var]); + DestroySpriteAndFreeResources(&gSprites[summaryBarSpriteId]); DestroySpriteAndFreeResources(&gSprites[sp[0]]); } else { - FreeSpriteOamMatrix(&gSprites[var]); - DestroySprite(&gSprites[var]); + FreeSpriteOamMatrix(&gSprites[summaryBarSpriteId]); + DestroySprite(&gSprites[summaryBarSpriteId]); FreeSpriteOamMatrix(&gSprites[sp[0]]); DestroySprite(&gSprites[sp[0]]); } @@ -1798,12 +1814,12 @@ static void sub_8073F98(u8 taskId) } else if (gTasks[taskId].data[15] == -1) { - u8 var = gTasks[taskId].data[1]; + u8 summaryBarSpriteId = gTasks[taskId].data[1]; for (i = 0; i < 6; i++) sp[i] = gTasks[taskId].data[3 + i]; - DestroySpriteAndFreeResources(&gSprites[var]); + DestroySpriteAndFreeResources(&gSprites[summaryBarSpriteId]); DestroySpriteAndFreeResources(&gSprites[sp[0]]); for (i = 1; i < 6; i++) @@ -1956,17 +1972,17 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) { - sub_8075198((void*)(0x6010040 + spriteTileNum), windowTileData, 6); + TextIntoHealthboxObject((void*)(VRAM + 0x10040 + spriteTileNum), windowTileData, 6); ptr = (void*)(OBJ_VRAM0); if (!IsDoubleBattle()) ptr += spriteTileNum + 0x800; else ptr += spriteTileNum + 0x400; - sub_8075198(ptr, windowTileData + 0xC0, 1); + TextIntoHealthboxObject(ptr, windowTileData + 0xC0, 1); } else { - sub_8075198((void*)(0x6010020 + spriteTileNum), windowTileData, 7); + TextIntoHealthboxObject((void*)(VRAM + 0x10020 + spriteTileNum), windowTileData, 7); } RemoveWindowOnHealthbox(windowId); @@ -1974,38 +1990,38 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) static void TryAddPokeballIconToHealthbox(u8 healthboxSpriteId, bool8 noStatus) { - u8 battlerId, healthboxSpriteId_2; + u8 battlerId, healthBarSpriteId; if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) return; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) return; - battlerId = gSprites[healthboxSpriteId].data[6]; + battlerId = gSprites[healthboxSpriteId].hMain_Battler; if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) return; if (!GetSetPokedexFlag(SpeciesToNationalPokedexNum(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES)), FLAG_GET_CAUGHT)) return; - healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5]; + healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; if (noStatus) - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 8) * 32), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_70), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * 32), 32); else - CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 8) * 32), 32); + CpuFill32(0, (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 8) * 32), 32); } static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) { s32 i; - u8 battlerId, healthboxSpriteId_2; + u8 battlerId, healthBarSpriteId; u32 status, pltAdder; const u8 *statusGfxPtr; s16 tileNumAdder; u8 statusPalId; - battlerId = gSprites[healthboxSpriteId].data[6]; - healthboxSpriteId_2 = gSprites[healthboxSpriteId].data[5]; + battlerId = gSprites[healthboxSpriteId].hMain_Battler; + healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) { status = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS); @@ -2022,27 +2038,27 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) if (status & STATUS1_SLEEP) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_SLP_BANK0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_SLP_BATTLER0, battlerId)); statusPalId = PAL_STATUS_SLP; } else if (status & STATUS1_PSN_ANY) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_PSN_BANK0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PSN_BATTLER0, battlerId)); statusPalId = PAL_STATUS_PSN; } else if (status & STATUS1_BURN) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_BRN_BANK0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_BRN_BATTLER0, battlerId)); statusPalId = PAL_STATUS_BRN; } else if (status & STATUS1_FREEZE) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_FRZ_BANK0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_FRZ_BATTLER0, battlerId)); statusPalId = PAL_STATUS_FRZ; } else if (status & STATUS1_PARALYSIS) { - statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBankId(HEALTHBOX_GFX_STATUS_PRZ_BANK0, battlerId)); + statusGfxPtr = GetHealthboxElementGfxPtr(GetStatusIconForBattlerId(HEALTHBOX_GFX_STATUS_PRZ_BATTLER0, battlerId)); statusPalId = PAL_STATUS_PAR; } else @@ -2053,7 +2069,7 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) CpuCopy32(statusGfxPtr, (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId].oam.tileNum + tileNumAdder + i) * 32), 32); if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthboxSpriteId_2].oam.tileNum * 32), 64); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_1), (void *)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 64); TryAddPokeballIconToHealthbox(healthboxSpriteId, TRUE); return; @@ -2069,68 +2085,68 @@ static void UpdateStatusIconInHealthbox(u8 healthboxSpriteId) { if (!gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars) { - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthboxSpriteId_2].oam.tileNum * 32), 32); - CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 1) * 32), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_0), (void*)(OBJ_VRAM0 + gSprites[healthBarSpriteId].oam.tileNum * 32), 32); + CpuCopy32(GetHealthboxElementGfxPtr(HEALTHBOX_GFX_65), (void*)(OBJ_VRAM0 + (gSprites[healthBarSpriteId].oam.tileNum + 1) * 32), 32); } } TryAddPokeballIconToHealthbox(healthboxSpriteId, FALSE); } -static u8 GetStatusIconForBankId(u8 statusElementId, u8 battlerId) +static u8 GetStatusIconForBattlerId(u8 statusElementId, u8 battlerId) { u8 ret = statusElementId; switch (statusElementId) { - case HEALTHBOX_GFX_STATUS_PSN_BANK0: + case HEALTHBOX_GFX_STATUS_PSN_BATTLER0: if (battlerId == 0) - ret = HEALTHBOX_GFX_STATUS_PSN_BANK0; + ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER0; else if (battlerId == 1) - ret = HEALTHBOX_GFX_STATUS_PSN_BANK1; + ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER1; else if (battlerId == 2) - ret = HEALTHBOX_GFX_STATUS_PSN_BANK2; + ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER2; else - ret = HEALTHBOX_GFX_STATUS_PSN_BANK3; + ret = HEALTHBOX_GFX_STATUS_PSN_BATTLER3; break; - case HEALTHBOX_GFX_STATUS_PRZ_BANK0: + case HEALTHBOX_GFX_STATUS_PRZ_BATTLER0: if (battlerId == 0) - ret = HEALTHBOX_GFX_STATUS_PRZ_BANK0; + ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER0; else if (battlerId == 1) - ret = HEALTHBOX_GFX_STATUS_PRZ_BANK1; + ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER1; else if (battlerId == 2) - ret = HEALTHBOX_GFX_STATUS_PRZ_BANK2; + ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER2; else - ret = HEALTHBOX_GFX_STATUS_PRZ_BANK3; + ret = HEALTHBOX_GFX_STATUS_PRZ_BATTLER3; break; - case HEALTHBOX_GFX_STATUS_SLP_BANK0: + case HEALTHBOX_GFX_STATUS_SLP_BATTLER0: if (battlerId == 0) - ret = HEALTHBOX_GFX_STATUS_SLP_BANK0; + ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER0; else if (battlerId == 1) - ret = HEALTHBOX_GFX_STATUS_SLP_BANK1; + ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER1; else if (battlerId == 2) - ret = HEALTHBOX_GFX_STATUS_SLP_BANK2; + ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER2; else - ret = HEALTHBOX_GFX_STATUS_SLP_BANK3; + ret = HEALTHBOX_GFX_STATUS_SLP_BATTLER3; break; - case HEALTHBOX_GFX_STATUS_FRZ_BANK0: + case HEALTHBOX_GFX_STATUS_FRZ_BATTLER0: if (battlerId == 0) - ret = HEALTHBOX_GFX_STATUS_FRZ_BANK0; + ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER0; else if (battlerId == 1) - ret = HEALTHBOX_GFX_STATUS_FRZ_BANK1; + ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER1; else if (battlerId == 2) - ret = HEALTHBOX_GFX_STATUS_FRZ_BANK2; + ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER2; else - ret = HEALTHBOX_GFX_STATUS_FRZ_BANK3; + ret = HEALTHBOX_GFX_STATUS_FRZ_BATTLER3; break; - case HEALTHBOX_GFX_STATUS_BRN_BANK0: + case HEALTHBOX_GFX_STATUS_BRN_BATTLER0: if (battlerId == 0) - ret = HEALTHBOX_GFX_STATUS_BRN_BANK0; + ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER0; else if (battlerId == 1) - ret = HEALTHBOX_GFX_STATUS_BRN_BANK1; + ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER1; else if (battlerId == 2) - ret = HEALTHBOX_GFX_STATUS_BRN_BANK2; + ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER2; else - ret = HEALTHBOX_GFX_STATUS_BRN_BANK3; + ret = HEALTHBOX_GFX_STATUS_BRN_BATTLER3; break; } return ret; @@ -2143,8 +2159,8 @@ static void UpdateSafariBallsTextOnHealthbox(u8 healthboxSpriteId) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(gText_SafariBalls, 0, 3, 2, &windowId); spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; - sub_8075198((void*)(OBJ_VRAM0 + 0x40) + spriteTileNum, windowTileData, 6); - sub_8075198((void*)(OBJ_VRAM0 + 0x800) + spriteTileNum, windowTileData + 0xC0, 2); + TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x40) + spriteTileNum, windowTileData, 6); + TextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x800) + spriteTileNum, windowTileData + 0xC0, 2); RemoveWindowOnHealthbox(windowId); } @@ -2160,20 +2176,20 @@ static void UpdateLeftNoOfBallsTextOnHealthbox(u8 healthboxSpriteId) windowTileData = AddTextPrinterAndCreateWindowOnHealthbox(text, GetStringRightAlignXOffset(0, text, 0x2F), 3, 2, &windowId); spriteTileNum = gSprites[healthboxSpriteId].oam.tileNum * 32; - sub_80751E4((void*)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2); - sub_80751E4((void*)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4); + SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0x2C0) + spriteTileNum, windowTileData, 2); + SafariTextIntoHealthboxObject((void*)(OBJ_VRAM0 + 0xA00) + spriteTileNum, windowTileData + 0x40, 4); RemoveWindowOnHealthbox(windowId); } void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId) { s32 maxHp, currHp; - u8 battlerId = gSprites[healthboxSpriteId].data[6]; + u8 battlerId = gSprites[healthboxSpriteId].hMain_Battler; if (elementId == HEALTHBOX_ALL && !IsDoubleBattle()) - GetBattlerSide(battlerId); // pointless function call + GetBattlerSide(battlerId); // Pointless function call. - if (GetBattlerSide(gSprites[healthboxSpriteId].data[6]) == B_SIDE_PLAYER) + if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER) { u8 isDoubles; @@ -2189,7 +2205,7 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem maxHp = GetMonData(mon, MON_DATA_MAX_HP); currHp = GetMonData(mon, MON_DATA_HP); SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - sub_8074AA0(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); } isDoubles = IsDoubleBattle(); if (!isDoubles && (elementId == HEALTHBOX_EXP_BAR || elementId == HEALTHBOX_ALL)) @@ -2207,7 +2223,7 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem currExpBarValue = exp - currLevelExp; maxExpBarValue = gExperienceTables[gBaseStats[species].growthRate][level + 1] - currLevelExp; SetBattleBarStruct(battlerId, healthboxSpriteId, maxExpBarValue, currExpBarValue, isDoubles); - sub_8074AA0(battlerId, healthboxSpriteId, EXP_BAR, 0); + MoveBattleBar(battlerId, healthboxSpriteId, EXP_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2228,7 +2244,7 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem maxHp = GetMonData(mon, MON_DATA_MAX_HP); currHp = GetMonData(mon, MON_DATA_HP); SetBattleBarStruct(battlerId, healthboxSpriteId, maxHp, currHp, 0); - sub_8074AA0(battlerId, healthboxSpriteId, HEALTH_BAR, 0); + MoveBattleBar(battlerId, healthboxSpriteId, HEALTH_BAR, 0); } if (elementId == HEALTHBOX_NICK || elementId == HEALTHBOX_ALL) UpdateNickInHealthbox(healthboxSpriteId, mon); @@ -2237,82 +2253,86 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem } } -s32 sub_8074AA0(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 arg3) +#define EXPBAR_PIXELS 64 +#define HEALTHBAR_PIXELS 48 + +s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) { - s32 var; + s32 currentBarValue; if (whichBar == HEALTH_BAR) // health bar { - var = sub_8074DB8(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].currentValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, + gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].field_10, - 6, 1); + &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + HEALTHBAR_PIXELS / 8, 1); } else // exp bar { - u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battlerId].currentValue, + u16 expFraction = GetScaledExpFraction(gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, gBattleSpritesDataPtr->battleBars[battlerId].maxValue, 8); if (expFraction == 0) expFraction = 1; expFraction = abs(gBattleSpritesDataPtr->battleBars[battlerId].receivedValue / expFraction); - var = sub_8074DB8(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].currentValue, + currentBarValue = CalcNewBarValue(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, + gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].field_10, - 8, expFraction); + &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + EXPBAR_PIXELS / 8, expFraction); } if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)) - sub_8074B9C(battlerId, whichBar); + MoveBattleBarGraphically(battlerId, whichBar); - if (var == -1) - gBattleSpritesDataPtr->battleBars[battlerId].field_10 = 0; + if (currentBarValue == -1) + gBattleSpritesDataPtr->battleBars[battlerId].currValue = 0; - return var; + return currentBarValue; } -static void sub_8074B9C(u8 battlerId, u8 whichBar) +static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) { u8 array[8]; - u8 subRet, level; + u8 filledPixelsCount, level; u8 barElementId; u8 i; switch (whichBar) { case HEALTH_BAR: - subRet = sub_8074E8C(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].currentValue, + filledPixelsCount = CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, + gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].field_10, - array, 6); - barElementId = 3; - if (subRet <= 0x18) - { - barElementId = 0x38; - if (subRet > 9) - barElementId = 0x2F; - } + &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + array, HEALTHBAR_PIXELS / 8); + + if (filledPixelsCount > (HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp + barElementId = HEALTHBOX_GFX_HP_BAR_GREEN; + else if (filledPixelsCount > (HEALTHBAR_PIXELS * 20 / 100)) // more than 20% hp + barElementId = HEALTHBOX_GFX_HP_BAR_YELLOW; + else + barElementId = HEALTHBOX_GFX_HP_BAR_RED; // 20 % or less + for (i = 0; i < 6; i++) { - u8 healthboxSpriteId_2 = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].data[5]; + u8 healthbarSpriteId = gSprites[gBattleSpritesDataPtr->battleBars[battlerId].healthboxSpriteId].hMain_HealthBarSpriteId; if (i < 2) CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, - (void*)(OBJ_VRAM0 + (gSprites[healthboxSpriteId_2].oam.tileNum + 2 + i) * 32), 32); + (void*)(OBJ_VRAM0 + (gSprites[healthbarSpriteId].oam.tileNum + 2 + i) * 32), 32); else CpuCopy32(GetHealthboxElementGfxPtr(barElementId) + array[i] * 32, - (void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthboxSpriteId_2].oam.tileNum) * 32), 32); + (void*)(OBJ_VRAM0 + 64 + (i + gSprites[healthbarSpriteId].oam.tileNum) * 32), 32); } break; case EXP_BAR: - sub_8074E8C(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, - gBattleSpritesDataPtr->battleBars[battlerId].currentValue, + CalcBarFilledPixels(gBattleSpritesDataPtr->battleBars[battlerId].maxValue, + gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, - &gBattleSpritesDataPtr->battleBars[battlerId].field_10, - array, 8); + &gBattleSpritesDataPtr->battleBars[battlerId].currValue, + array, EXPBAR_PIXELS / 8); level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL); if (level == MAX_MON_LEVEL) { @@ -2332,149 +2352,145 @@ static void sub_8074B9C(u8 battlerId, u8 whichBar) } } -static s32 sub_8074DB8(s32 maxValue, s32 currValue, s32 receivedValue, s32 *arg3, u8 arg4, u16 arg5) +static s32 CalcNewBarValue(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *currValue, u8 scale, u16 toAdd) { - s32 r6; - s32 ret; - arg4 <<= 3; + s32 ret, newValue; + scale *= 8; - if (*arg3 == -32768) + if (*currValue == -32768) // first function call { - if (maxValue < arg4) - *arg3 = currValue << 8; + if (maxValue < scale) + *currValue = oldValue << 8; else - *arg3 = currValue; + *currValue = oldValue; } - currValue -= receivedValue; - if (currValue < 0) - currValue = 0; - else if (currValue > maxValue) - currValue = maxValue; + newValue = oldValue - receivedValue; + if (newValue < 0) + newValue = 0; + else if (newValue > maxValue) + newValue = maxValue; - if (maxValue < arg4) + if (maxValue < scale) { - s32 var = *arg3 >> 8; + s32 var = *currValue >> 8; - r6 = *arg3; - if (currValue == var && (r6 & 0xFF) == 0) + if (newValue == var && (*currValue & 0xFF) == 0) return -1; } else { - r6 = *arg3; - if (currValue == r6) + if (newValue == *currValue) // we're done, the bar's value has been updated return -1; } - if (maxValue < arg4) + if (maxValue < scale) // handle cases of max var having less pixels than the whole bar { - s32 var = (maxValue << 8) / arg4; + s32 var = (maxValue << 8) / scale; - if (receivedValue < 0) + if (receivedValue < 0) // fill bar right { - *arg3 = r6 + var; - ret = *arg3 >> 8; - if (ret >= currValue) + *currValue += var; + ret = *currValue >> 8; + if (ret >= newValue) { - *arg3 = currValue << 8; - ret = currValue; + *currValue = newValue << 8; + ret = newValue; } } - else + else // move bar left { - *arg3 = r6 - var; - ret = *arg3 >> 8; - if ((*arg3 & 0xFF) > 0) + *currValue -= var; + ret = *currValue >> 8; + if ((*currValue & 0xFF) > 0) ret++; - if (ret <= currValue) + if (ret <= newValue) { - *arg3 = currValue << 8; - ret = currValue; + *currValue = newValue << 8; + ret = newValue; } } } else { - if (receivedValue < 0) + if (receivedValue < 0) // fill bar right { - *arg3 += arg5; - if (*arg3 > currValue) - *arg3 = currValue; - ret = *arg3; + *currValue += toAdd; + if (*currValue > newValue) + *currValue = newValue; + ret = *currValue; } - else + else // move bar left { - *arg3 -= arg5; - if (*arg3 < currValue) - *arg3 = currValue; - ret = *arg3; + *currValue -= toAdd; + if (*currValue < newValue) + *currValue = newValue; + ret = *currValue; } } return ret; } -static u8 sub_8074E8C(s32 maxValue, s32 currValue, s32 receivedValue, s32 *arg3, u8 *arg4, u8 arg5) +static u8 CalcBarFilledPixels(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *currValue, u8 *arg4, u8 scale) { - s32 r5 = currValue - receivedValue; - u8 ret; + u8 pixels, filledPixels, totalPixels; u8 i; - u8 r2; - if (r5 < 0) - r5 = 0; - else if (r5 > maxValue) - r5 = maxValue; + s32 newValue = oldValue - receivedValue; + if (newValue < 0) + newValue = 0; + else if (newValue > maxValue) + newValue = maxValue; - ret = arg5 << 3; + totalPixels = scale * 8; - for (i = 0; i < arg5; i++) + for (i = 0; i < scale; i++) arg4[i] = 0; - if (maxValue < ret) - r2 = (*arg3 * ret / maxValue) >> 8; + if (maxValue < totalPixels) + pixels = (*currValue * totalPixels / maxValue) >> 8; else - r2 = *arg3 * ret / maxValue; + pixels = *currValue * totalPixels / maxValue; - ret = r2; + filledPixels = pixels; - if (ret == 0 && r5 > 0) + if (filledPixels == 0 && newValue > 0) { arg4[0] = 1; - ret = 1; + filledPixels = 1; } else { - for (i = 0; i < arg5; i++) + for (i = 0; i < scale; i++) { - if (r2 >= 8) + if (pixels >= 8) { arg4[i] = 8; } else { - arg4[i] = r2; + arg4[i] = pixels; break; } - r2 -= 8; + pixels -= 8; } } - return ret; + return filledPixels; } static s16 sub_8074F28(struct TestingBar *barInfo, s32 *arg1, u16 *arg2, s32 arg3) { s16 ret, var; - ret = sub_8074DB8(barInfo->maxValue, - barInfo->currValue, + ret = CalcNewBarValue(barInfo->maxValue, + barInfo->oldValue, barInfo->receivedValue, arg1, 6, 1); sub_8074F88(barInfo, arg1, arg2); - if (barInfo->maxValue < 0x30) + if (barInfo->maxValue < HEALTHBAR_PIXELS) var = *arg1 >> 8; else var = *arg1; @@ -2490,7 +2506,7 @@ static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2) u16 sp10[6]; u8 i; - sub_8074E8C(barInfo->maxValue, barInfo->currValue, + CalcBarFilledPixels(barInfo->maxValue, barInfo->oldValue, barInfo->receivedValue, arg1, sp8, 6); for (i = 0; i < 6; i++) @@ -2499,22 +2515,22 @@ static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2) CpuCopy16(sp10, arg2, sizeof(sp10)); } -static u8 GetScaledExpFraction(s32 currValue, s32 receivedValue, s32 maxValue, u8 scale) +static u8 GetScaledExpFraction(s32 oldValue, s32 receivedValue, s32 maxValue, u8 scale) { - s32 r5, result; - s8 r4, r0; + s32 newVal, result; + s8 oldToMax, newToMax; scale *= 8; - r5 = currValue - receivedValue; + newVal = oldValue - receivedValue; - if (r5 < 0) - r5 = 0; - else if (r5 > maxValue) - r5 = maxValue; + if (newVal < 0) + newVal = 0; + else if (newVal > maxValue) + newVal = maxValue; - r4 = currValue * scale / maxValue; - r0 = r5 * scale / maxValue; - result = r4 - r0; + oldToMax = oldValue * scale / maxValue; + newToMax = newVal * scale / maxValue; + result = oldToMax - newToMax; return abs(result); } @@ -2577,17 +2593,17 @@ static void RemoveWindowOnHealthbox(u32 windowId) RemoveWindow(windowId); } -static void sub_807513C(void *dest, u32 arg1, u32 arg2) +static void FillHealthboxObject(void *dest, u32 arg1, u32 arg2) { CpuFill32(0x11111111 * arg1, dest, arg2 * 32); } -static void sub_8075170(void *dest, u8 *windowTileData, u32 arg2) +static void HpTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2) { CpuCopy32(windowTileData + 256, dest, arg2 * 32); } -static void sub_8075198(void *dest, u8 *windowTileData, s32 arg2) +static void TextIntoHealthboxObject(void *dest, u8 *windowTileData, s32 arg2) { CpuCopy32(windowTileData + 256, dest + 256, arg2 * 32); @@ -2596,13 +2612,13 @@ static void sub_8075198(void *dest, u8 *windowTileData, s32 arg2) do { CpuCopy32(windowTileData + 20, dest + 20, 12); - dest += 32, windowTileData+= 32; + dest += 32, windowTileData += 32; arg2--; } while (arg2 != 0); } } -static void sub_80751E4(void *dest, u8 *windowTileData, u32 arg2) +static void SafariTextIntoHealthboxObject(void *dest, u8 *windowTileData, u32 arg2) { CpuCopy32(windowTileData, dest, arg2 * 32); CpuCopy32(windowTileData + 256, dest + 256, arg2 * 32); diff --git a/src/pokeball.c b/src/pokeball.c index 8173c4a90..3dbbb2967 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -665,7 +665,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) gTasks[taskId].tCryTaskState = wantedCry + 1; break; case 1: - if (ShouldPlayNormalPokeCry(mon) == TRUE) + if (ShouldPlayNormalMonCry(mon) == TRUE) PlayCry3(species, pan, 0); else PlayCry3(species, pan, 11); @@ -680,7 +680,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) case 20: if (gTasks[taskId].tCryTaskFrames == 0) { - if (ShouldPlayNormalPokeCry(mon) == TRUE) + if (ShouldPlayNormalMonCry(mon) == TRUE) PlayCry4(species, pan, 1); else PlayCry4(species, pan, 12); @@ -719,7 +719,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId) gTasks[taskId].tCryTaskFrames--; break; } - if (ShouldPlayNormalPokeCry(mon) == TRUE) + if (ShouldPlayNormalMonCry(mon) == TRUE) PlayCry4(species, pan, 0); else PlayCry4(species, pan, 11); -- cgit v1.2.3 From ab36efdaf4a7f64df9bbfae153eb88cd9c5b29b0 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 20 Jun 2018 23:07:51 +0200 Subject: document bounce effect --- src/battle_controller_link_opponent.c | 8 +- src/battle_controller_link_partner.c | 6 +- src/battle_controller_opponent.c | 8 +- src/battle_controller_player.c | 34 +++--- src/battle_controller_player_partner.c | 6 +- src/battle_controller_recorded_opponent.c | 8 +- src/battle_controller_recorded_player.c | 6 +- src/battle_controller_safari.c | 6 +- src/battle_controller_wally.c | 6 +- src/battle_controllers.c | 10 +- src/battle_interface.c | 197 ++++++++++++++++-------------- src/battle_main.c | 194 +++++++++++++++-------------- src/hall_of_fame.c | 2 +- 13 files changed, 256 insertions(+), 235 deletions(-) (limited to 'src') diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index b2c05664b..0a53c2893 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -90,7 +90,7 @@ static void LinkOpponentHandleIntroSlide(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); static void LinkOpponentHandleCmd49(void); -static void LinkOpponentHandleCmd50(void); +static void LinkOpponentHandleEndBounceEffect(void); static void LinkOpponentHandleSpriteInvisibility(void); static void LinkOpponentHandleBattleAnimation(void); static void LinkOpponentHandleLinkStandbyMsg(void); @@ -162,7 +162,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkOpponentHandleIntroTrainerBallThrow, LinkOpponentHandleDrawPartyStatusSummary, LinkOpponentHandleCmd49, - LinkOpponentHandleCmd50, + LinkOpponentHandleEndBounceEffect, LinkOpponentHandleSpriteInvisibility, LinkOpponentHandleBattleAnimation, LinkOpponentHandleLinkStandbyMsg, @@ -1366,7 +1366,7 @@ static void LinkOpponentHandleFaintAnimation(void) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT); - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039934; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon; gBattlerControllerFuncs[gActiveBattler] = sub_8064C14; } } @@ -1803,7 +1803,7 @@ static void LinkOpponentHandleCmd49(void) LinkOpponentBufferExecCompleted(); } -static void LinkOpponentHandleCmd50(void) +static void LinkOpponentHandleEndBounceEffect(void) { LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index f7abe589a..f5987c0ce 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -88,7 +88,7 @@ static void LinkPartnerHandleIntroSlide(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); static void LinkPartnerHandleCmd49(void); -static void LinkPartnerHandleCmd50(void); +static void LinkPartnerHandleEndBounceEffect(void); static void LinkPartnerHandleSpriteInvisibility(void); static void LinkPartnerHandleBattleAnimation(void); static void LinkPartnerHandleLinkStandbyMsg(void); @@ -159,7 +159,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkPartnerHandleIntroTrainerBallThrow, LinkPartnerHandleDrawPartyStatusSummary, LinkPartnerHandleCmd49, - LinkPartnerHandleCmd50, + LinkPartnerHandleEndBounceEffect, LinkPartnerHandleSpriteInvisibility, LinkPartnerHandleBattleAnimation, LinkPartnerHandleLinkStandbyMsg, @@ -1638,7 +1638,7 @@ static void LinkPartnerHandleCmd49(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleCmd50(void) +static void LinkPartnerHandleEndBounceEffect(void) { LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 21b45dabf..83dac5436 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -95,7 +95,7 @@ static void OpponentHandleIntroSlide(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); static void OpponentHandleCmd49(void); -static void OpponentHandleCmd50(void); +static void OpponentHandleEndBounceEffect(void); static void OpponentHandleSpriteInvisibility(void); static void OpponentHandleBattleAnimation(void); static void OpponentHandleLinkStandbyMsg(void); @@ -167,7 +167,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = OpponentHandleIntroTrainerBallThrow, OpponentHandleDrawPartyStatusSummary, OpponentHandleCmd49, - OpponentHandleCmd50, + OpponentHandleEndBounceEffect, OpponentHandleSpriteInvisibility, OpponentHandleBattleAnimation, OpponentHandleLinkStandbyMsg, @@ -1403,7 +1403,7 @@ static void OpponentHandleFaintAnimation(void) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT); - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039934; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon; gBattlerControllerFuncs[gActiveBattler] = sub_805FAC4; } } @@ -1957,7 +1957,7 @@ static void OpponentHandleCmd49(void) OpponentBufferExecCompleted(); } -static void OpponentHandleCmd50(void) +static void OpponentHandleEndBounceEffect(void) { OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 599ebfee4..63dc989be 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -101,7 +101,7 @@ static void PlayerHandleIntroSlide(void); static void PlayerHandleIntroTrainerBallThrow(void); static void PlayerHandleDrawPartyStatusSummary(void); static void PlayerHandleCmd49(void); -static void PlayerHandleCmd50(void); +static void PlayerHandleEndBounceEffect(void); static void PlayerHandleSpriteInvisibility(void); static void PlayerHandleBattleAnimation(void); static void PlayerHandleLinkStandbyMsg(void); @@ -188,7 +188,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerHandleIntroTrainerBallThrow, PlayerHandleDrawPartyStatusSummary, PlayerHandleCmd49, - PlayerHandleCmd50, + PlayerHandleEndBounceEffect, PlayerHandleSpriteInvisibility, PlayerHandleBattleAnimation, PlayerHandleLinkStandbyMsg, @@ -250,8 +250,8 @@ static void HandleInputChooseAction(void) { u16 itemId = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); - dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); - dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); + DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); + DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); if (gMain.newAndRepeatedKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2) gPlayerDpadHoldFrames++; @@ -347,8 +347,8 @@ static void HandleInputChooseAction(void) static void sub_80577F0(void) // unused { - dp11b_obj_free(gActiveBattler, 1); - dp11b_obj_free(gActiveBattler, 0); + EndBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX); + EndBounceEffect(gActiveBattler, BOUNCE_MON); gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseTarget; } @@ -358,7 +358,7 @@ static void HandleInputChooseTarget(void) u8 identities[4]; memcpy(identities, sTargetIdentities, ARRAY_COUNT(sTargetIdentities)); - dp11b_obj_instanciate(gMultiUsePlayerCursor, 1, 0xF, 1); + DoBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX, 15, 1); // what a weird loop i = 0; @@ -367,7 +367,7 @@ static void HandleInputChooseTarget(void) do { if (i != gMultiUsePlayerCursor) - dp11b_obj_free(i, 1); + EndBounceEffect(i, BOUNCE_HEALTHBOX); i++; } while (i < gBattlersCount); } @@ -382,7 +382,7 @@ static void HandleInputChooseTarget(void) PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; BtlController_EmitTwoReturnValues(1, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); - dp11b_obj_free(gMultiUsePlayerCursor, 1); + EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); PlayerBufferExecCompleted(); } else if (gMain.newKeys & B_BUTTON || gPlayerDpadHoldFrames > 59) @@ -390,9 +390,9 @@ static void HandleInputChooseTarget(void) PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = sub_8039B2C; gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; - dp11b_obj_instanciate(gActiveBattler, 1, 7, 1); - dp11b_obj_instanciate(gActiveBattler, 0, 7, 1); - dp11b_obj_free(gMultiUsePlayerCursor, 1); + DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); + DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); + EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); } else if (gMain.newKeys & (DPAD_LEFT | DPAD_UP)) { @@ -3030,10 +3030,10 @@ static void PlayerHandleCmd49(void) PlayerBufferExecCompleted(); } -static void PlayerHandleCmd50(void) +static void PlayerHandleEndBounceEffect(void) { - dp11b_obj_free(gActiveBattler, 1); - dp11b_obj_free(gActiveBattler, 0); + EndBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX); + EndBounceEffect(gActiveBattler, BOUNCE_MON); PlayerBufferExecCompleted(); } @@ -3072,8 +3072,8 @@ static void PlayerHandleLinkStandbyMsg(void) PrintLinkStandbyMsg(); // fall through case 1: - dp11b_obj_free(gActiveBattler, 1); - dp11b_obj_free(gActiveBattler, 0); + EndBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX); + EndBounceEffect(gActiveBattler, BOUNCE_MON); break; case 2: PrintLinkStandbyMsg(); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index df075522e..17ed1c24f 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -88,7 +88,7 @@ static void PlayerPartnerHandleIntroSlide(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); static void PlayerPartnerHandleCmd49(void); -static void PlayerPartnerHandleCmd50(void); +static void PlayerPartnerHandleEndBounceEffect(void); static void PlayerPartnerHandleSpriteInvisibility(void); static void PlayerPartnerHandleBattleAnimation(void); static void PlayerPartnerHandleLinkStandbyMsg(void); @@ -165,7 +165,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerPartnerHandleIntroTrainerBallThrow, PlayerPartnerHandleDrawPartyStatusSummary, PlayerPartnerHandleCmd49, - PlayerPartnerHandleCmd50, + PlayerPartnerHandleEndBounceEffect, PlayerPartnerHandleSpriteInvisibility, PlayerPartnerHandleBattleAnimation, PlayerPartnerHandleLinkStandbyMsg, @@ -1884,7 +1884,7 @@ static void PlayerPartnerHandleCmd49(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleCmd50(void) +static void PlayerPartnerHandleEndBounceEffect(void) { PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 69f93d7e2..9d213fc6b 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -91,7 +91,7 @@ static void RecordedOpponentHandleIntroSlide(void); static void RecordedOpponentHandleIntroTrainerBallThrow(void); static void RecordedOpponentHandleDrawPartyStatusSummary(void); static void RecordedOpponentHandleCmd49(void); -static void RecordedOpponentHandleCmd50(void); +static void RecordedOpponentHandleEndBounceEffect(void); static void RecordedOpponentHandleSpriteInvisibility(void); static void RecordedOpponentHandleBattleAnimation(void); static void RecordedOpponentHandleLinkStandbyMsg(void); @@ -163,7 +163,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void RecordedOpponentHandleIntroTrainerBallThrow, RecordedOpponentHandleDrawPartyStatusSummary, RecordedOpponentHandleCmd49, - RecordedOpponentHandleCmd50, + RecordedOpponentHandleEndBounceEffect, RecordedOpponentHandleSpriteInvisibility, RecordedOpponentHandleBattleAnimation, RecordedOpponentHandleLinkStandbyMsg, @@ -1296,7 +1296,7 @@ static void RecordedOpponentHandleFaintAnimation(void) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; PlaySE12WithPanning(SE_POKE_DEAD, PAN_SIDE_OPPONENT); - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_8039934; + gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon; gBattlerControllerFuncs[gActiveBattler] = sub_8186D58; } } @@ -1745,7 +1745,7 @@ static void RecordedOpponentHandleCmd49(void) RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleCmd50(void) +static void RecordedOpponentHandleEndBounceEffect(void) { RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 54ca4578b..d1836c092 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -90,7 +90,7 @@ static void RecordedPlayerHandleIntroSlide(void); static void RecordedPlayerHandleIntroTrainerBallThrow(void); static void RecordedPlayerHandleDrawPartyStatusSummary(void); static void RecordedPlayerHandleCmd49(void); -static void RecordedPlayerHandleCmd50(void); +static void RecordedPlayerHandleEndBounceEffect(void); static void RecordedPlayerHandleSpriteInvisibility(void); static void RecordedPlayerHandleBattleAnimation(void); static void RecordedPlayerHandleLinkStandbyMsg(void); @@ -161,7 +161,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) RecordedPlayerHandleIntroTrainerBallThrow, RecordedPlayerHandleDrawPartyStatusSummary, RecordedPlayerHandleCmd49, - RecordedPlayerHandleCmd50, + RecordedPlayerHandleEndBounceEffect, RecordedPlayerHandleSpriteInvisibility, RecordedPlayerHandleBattleAnimation, RecordedPlayerHandleLinkStandbyMsg, @@ -1767,7 +1767,7 @@ static void RecordedPlayerHandleCmd49(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleCmd50(void) +static void RecordedPlayerHandleEndBounceEffect(void) { RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 245447d8d..3cdd952ef 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -81,7 +81,7 @@ static void SafariHandleIntroSlide(void); static void SafariHandleIntroTrainerBallThrow(void); static void SafariHandleDrawPartyStatusSummary(void); static void SafariHandleCmd49(void); -static void SafariHandleCmd50(void); +static void SafariHandleEndBounceEffect(void); static void SafariHandleSpriteInvisibility(void); static void SafariHandleBattleAnimation(void); static void SafariHandleLinkStandbyMsg(void); @@ -145,7 +145,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = SafariHandleIntroTrainerBallThrow, SafariHandleDrawPartyStatusSummary, SafariHandleCmd49, - SafariHandleCmd50, + SafariHandleEndBounceEffect, SafariHandleSpriteInvisibility, SafariHandleBattleAnimation, SafariHandleLinkStandbyMsg, @@ -650,7 +650,7 @@ static void SafariHandleCmd49(void) SafariBufferExecCompleted(); } -static void SafariHandleCmd50(void) +static void SafariHandleEndBounceEffect(void) { SafariBufferExecCompleted(); } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 955799ee3..05c7b9e1f 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -91,7 +91,7 @@ static void WallyHandleIntroSlide(void); static void WallyHandleIntroTrainerBallThrow(void); static void WallyHandleDrawPartyStatusSummary(void); static void WallyHandleCmd49(void); -static void WallyHandleCmd50(void); +static void WallyHandleEndBounceEffect(void); static void WallyHandleSpriteInvisibility(void); static void WallyHandleBattleAnimation(void); static void WallyHandleLinkStandbyMsg(void); @@ -160,7 +160,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = WallyHandleIntroTrainerBallThrow, WallyHandleDrawPartyStatusSummary, WallyHandleCmd49, - WallyHandleCmd50, + WallyHandleEndBounceEffect, WallyHandleSpriteInvisibility, WallyHandleBattleAnimation, WallyHandleLinkStandbyMsg, @@ -1522,7 +1522,7 @@ static void WallyHandleCmd49(void) WallyBufferExecCompleted(); } -static void WallyHandleCmd50(void) +static void WallyHandleEndBounceEffect(void) { WallyBufferExecCompleted(); } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 8a7ff7b5d..1c60e22ef 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1463,12 +1463,12 @@ void BtlController_EmitCmd49(u8 bufferId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitCmd50(u8 bufferId) +void BtlController_EmitEndBounceEffect(u8 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_50; - sBattleBuffersTransferData[1] = CONTROLLER_50; - sBattleBuffersTransferData[2] = CONTROLLER_50; - sBattleBuffersTransferData[3] = CONTROLLER_50; + sBattleBuffersTransferData[0] = CONTROLLER_ENDBOUNCE; + sBattleBuffersTransferData[1] = CONTROLLER_ENDBOUNCE; + sBattleBuffersTransferData[2] = CONTROLLER_ENDBOUNCE; + sBattleBuffersTransferData[3] = CONTROLLER_ENDBOUNCE; PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } diff --git a/src/battle_interface.c b/src/battle_interface.c index 94b5a2be9..f5e031cb9 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1483,12 +1483,18 @@ void SwapHpBarsWithHpText(void) } } +#define tBattler data[0] +#define tSummaryBarSpriteId data[1] +#define tBallIconSpriteId(n) data[3 + n] +#define tIsBattleStart data[10] +#define tData15 data[15] + u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart) { bool8 isOpponent; s16 bar_X, bar_Y, bar_pos2_X, bar_data0; s32 i, j, var; - u8 barSpriteId; + u8 summaryBarSpriteId; u8 ballIconSpritesIds[PARTY_SIZE]; u8 taskId; @@ -1527,19 +1533,19 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, LoadSpritePalette(&sStatusSummaryBarSpritePal); LoadSpritePalette(&sStatusSummaryBallsSpritePal); - barSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10); - SetSubspriteTables(&gSprites[barSpriteId], sStatusSummaryBar_SubspriteTable); - gSprites[barSpriteId].pos2.x = bar_pos2_X; - gSprites[barSpriteId].data[0] = bar_data0; + summaryBarSpriteId = CreateSprite(&sStatusSummaryBarSpriteTemplates[isOpponent], bar_X, bar_Y, 10); + SetSubspriteTables(&gSprites[summaryBarSpriteId], sStatusSummaryBar_SubspriteTable); + gSprites[summaryBarSpriteId].pos2.x = bar_pos2_X; + gSprites[summaryBarSpriteId].data[0] = bar_data0; if (isOpponent) { - gSprites[barSpriteId].pos1.x -= 96; - gSprites[barSpriteId].oam.matrixNum = 8; + gSprites[summaryBarSpriteId].pos1.x -= 96; + gSprites[summaryBarSpriteId].oam.matrixNum = 8; } else { - gSprites[barSpriteId].pos1.x += 96; + gSprites[summaryBarSpriteId].pos1.x += 96; } for (i = 0; i < PARTY_SIZE; i++) @@ -1555,7 +1561,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, gSprites[ballIconSpritesIds[i]].pos2.y = 0; } - gSprites[ballIconSpritesIds[i]].data[0] = barSpriteId; + gSprites[ballIconSpritesIds[i]].data[0] = summaryBarSpriteId; if (!isOpponent) { @@ -1672,13 +1678,13 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, } taskId = CreateTask(TaskDummy, 5); - gTasks[taskId].data[0] = battlerId; - gTasks[taskId].data[1] = barSpriteId; + gTasks[taskId].tBattler = battlerId; + gTasks[taskId].tSummaryBarSpriteId = summaryBarSpriteId; for (i = 0; i < PARTY_SIZE; i++) - gTasks[taskId].data[3 + i] = ballIconSpritesIds[i]; + gTasks[taskId].tBallIconSpriteId(i) = ballIconSpritesIds[i]; - gTasks[taskId].data[10] = isBattleStart; + gTasks[taskId].tIsBattleStart = isBattleStart; if (isBattleStart) { @@ -1691,46 +1697,46 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, void sub_8073C30(u8 taskId) { - u8 sp[6]; - u8 r7; + u8 ballIconSpriteIds[PARTY_SIZE]; + bool8 isBattleStart; u8 summaryBarSpriteId; u8 battlerId; s32 i; - r7 = gTasks[taskId].data[10]; - summaryBarSpriteId = gTasks[taskId].data[1]; - battlerId = gTasks[taskId].data[0]; + isBattleStart = gTasks[taskId].tIsBattleStart; + summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; + battlerId = gTasks[taskId].tBattler; for (i = 0; i < 6; i++) - sp[i] = gTasks[taskId].data[3 + i]; + ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); SetGpuReg(REG_OFFSET_BLDCNT, 0x3F40); SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); - gTasks[taskId].data[15] = 16; + gTasks[taskId].tData15 = 16; - for (i = 0; i < 6; i++) - gSprites[sp[i]].oam.objMode = 1; + for (i = 0; i < PARTY_SIZE; i++) + gSprites[ballIconSpriteIds[i]].oam.objMode = 1; gSprites[summaryBarSpriteId].oam.objMode = 1; - if (r7 != 0) + if (isBattleStart) { - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) { - gSprites[sp[5 - i]].data[1] = 7 * i; - gSprites[sp[5 - i]].data[3] = 0; - gSprites[sp[5 - i]].data[4] = 0; - gSprites[sp[5 - i]].callback = sub_8074158; + gSprites[ballIconSpriteIds[5 - i]].data[1] = 7 * i; + gSprites[ballIconSpriteIds[5 - i]].data[3] = 0; + gSprites[ballIconSpriteIds[5 - i]].data[4] = 0; + gSprites[ballIconSpriteIds[5 - i]].callback = sub_8074158; } else { - gSprites[sp[i]].data[1] = 7 * i; - gSprites[sp[i]].data[3] = 0; - gSprites[sp[i]].data[4] = 0; - gSprites[sp[i]].callback = sub_8074158; + gSprites[ballIconSpriteIds[i]].data[1] = 7 * i; + gSprites[ballIconSpriteIds[i]].data[3] = 0; + gSprites[ballIconSpriteIds[i]].data[4] = 0; + gSprites[ballIconSpriteIds[i]].callback = sub_8074158; } } gSprites[summaryBarSpriteId].data[0] /= 2; @@ -1747,12 +1753,9 @@ void sub_8073C30(u8 taskId) static void sub_8073E08(u8 taskId) { - u16 temp = gTasks[taskId].data[11]++; - - if (!(temp & 1)) + if ((gTasks[taskId].data[11]++ % 2) == 0) { - gTasks[taskId].data[15]--; - if (gTasks[taskId].data[15] < 0) + if (--gTasks[taskId].data[15] < 0) return; SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[15]) | ((16 - gTasks[taskId].data[15]) << 8)); @@ -1763,36 +1766,35 @@ static void sub_8073E08(u8 taskId) static void sub_8073E64(u8 taskId) { - u8 sp[6]; + u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; - u8 battlerId = gTasks[taskId].data[0]; - gTasks[taskId].data[15]--; - if (gTasks[taskId].data[15] == -1) + u8 battlerId = gTasks[taskId].tBattler; + if (--gTasks[taskId].tData15 == -1) { - u8 summaryBarSpriteId = gTasks[taskId].data[1]; + u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; - for (i = 0; i < 6; i++) - sp[i] = gTasks[taskId].data[3 + i]; + for (i = 0; i < PARTY_SIZE; i++) + ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); gBattleSpritesDataPtr->animationData->field_9_x1C--; - if (!gBattleSpritesDataPtr->animationData->field_9_x1C) + if (gBattleSpritesDataPtr->animationData->field_9_x1C == 0) { DestroySpriteAndFreeResources(&gSprites[summaryBarSpriteId]); - DestroySpriteAndFreeResources(&gSprites[sp[0]]); + DestroySpriteAndFreeResources(&gSprites[ballIconSpriteIds[0]]); } else { FreeSpriteOamMatrix(&gSprites[summaryBarSpriteId]); DestroySprite(&gSprites[summaryBarSpriteId]); - FreeSpriteOamMatrix(&gSprites[sp[0]]); - DestroySprite(&gSprites[sp[0]]); + FreeSpriteOamMatrix(&gSprites[ballIconSpriteIds[0]]); + DestroySprite(&gSprites[ballIconSpriteIds[0]]); } - for (i = 1; i < 6; i++) - DestroySprite(&gSprites[sp[i]]); + for (i = 1; i < PARTY_SIZE; i++) + DestroySprite(&gSprites[ballIconSpriteIds[i]]); } - else if (gTasks[taskId].data[15] == -3) + else if (gTasks[taskId].tData15 == -3) { gBattleSpritesDataPtr->healthBoxesData[battlerId].flag_x1 = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -1803,29 +1805,28 @@ static void sub_8073E64(u8 taskId) static void sub_8073F98(u8 taskId) { - u8 sp[6]; + u8 ballIconSpriteIds[PARTY_SIZE]; s32 i; + u8 battlerId = gTasks[taskId].tBattler; - u8 battlerId = gTasks[taskId].data[0]; - gTasks[taskId].data[15]--; - if (gTasks[taskId].data[15] >= 0) + if (--gTasks[taskId].tData15 >= 0) { - SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[15]) | ((16 - gTasks[taskId].data[15]) << 8)); + SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].tData15) | ((16 - gTasks[taskId].tData15) << 8)); } - else if (gTasks[taskId].data[15] == -1) + else if (gTasks[taskId].tData15 == -1) { - u8 summaryBarSpriteId = gTasks[taskId].data[1]; + u8 summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; - for (i = 0; i < 6; i++) - sp[i] = gTasks[taskId].data[3 + i]; + for (i = 0; i < PARTY_SIZE; i++) + ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); DestroySpriteAndFreeResources(&gSprites[summaryBarSpriteId]); - DestroySpriteAndFreeResources(&gSprites[sp[0]]); + DestroySpriteAndFreeResources(&gSprites[ballIconSpriteIds[0]]); - for (i = 1; i < 6; i++) - DestroySprite(&gSprites[sp[i]]); + for (i = 1; i < PARTY_SIZE; i++) + DestroySprite(&gSprites[ballIconSpriteIds[i]]); } - else if (gTasks[taskId].data[15] == -3) + else if (gTasks[taskId].tData15 == -3) { gBattleSpritesDataPtr->healthBoxesData[battlerId].flag_x1 = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -1834,6 +1835,12 @@ static void sub_8073F98(u8 taskId) } } +#undef tBattler +#undef tSummaryBarSpriteId +#undef tBallIconSpriteId +#undef tIsBattleStart +#undef tData15 + static void SpriteCB_StatusSummaryBar(struct Sprite *sprite) { if (sprite->pos2.x != 0) @@ -2253,8 +2260,8 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem } } -#define EXPBAR_PIXELS 64 -#define HEALTHBAR_PIXELS 48 +#define B_EXPBAR_PIXELS 64 +#define B_HEALTHBAR_PIXELS 48 s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) { @@ -2266,7 +2273,7 @@ s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, &gBattleSpritesDataPtr->battleBars[battlerId].currValue, - HEALTHBAR_PIXELS / 8, 1); + B_HEALTHBAR_PIXELS / 8, 1); } else // exp bar { @@ -2281,7 +2288,7 @@ s32 MoveBattleBar(u8 battlerId, u8 healthboxSpriteId, u8 whichBar, u8 unused) gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, &gBattleSpritesDataPtr->battleBars[battlerId].currValue, - EXPBAR_PIXELS / 8, expFraction); + B_EXPBAR_PIXELS / 8, expFraction); } if (whichBar == EXP_BAR || (whichBar == HEALTH_BAR && !gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars)) @@ -2307,11 +2314,11 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, &gBattleSpritesDataPtr->battleBars[battlerId].currValue, - array, HEALTHBAR_PIXELS / 8); + array, B_HEALTHBAR_PIXELS / 8); - if (filledPixelsCount > (HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp + if (filledPixelsCount > (B_HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp barElementId = HEALTHBOX_GFX_HP_BAR_GREEN; - else if (filledPixelsCount > (HEALTHBAR_PIXELS * 20 / 100)) // more than 20% hp + else if (filledPixelsCount > (B_HEALTHBAR_PIXELS * 20 / 100)) // more than 20% hp barElementId = HEALTHBOX_GFX_HP_BAR_YELLOW; else barElementId = HEALTHBOX_GFX_HP_BAR_RED; // 20 % or less @@ -2332,7 +2339,7 @@ static void MoveBattleBarGraphically(u8 battlerId, u8 whichBar) gBattleSpritesDataPtr->battleBars[battlerId].oldValue, gBattleSpritesDataPtr->battleBars[battlerId].receivedValue, &gBattleSpritesDataPtr->battleBars[battlerId].currValue, - array, EXPBAR_PIXELS / 8); + array, B_EXPBAR_PIXELS / 8); level = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_LEVEL); if (level == MAX_MON_LEVEL) { @@ -2360,7 +2367,7 @@ static s32 CalcNewBarValue(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *c if (*currValue == -32768) // first function call { if (maxValue < scale) - *currValue = oldValue << 8; + *currValue = Q_24_8(oldValue); else *currValue = oldValue; } @@ -2373,9 +2380,7 @@ static s32 CalcNewBarValue(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *c if (maxValue < scale) { - s32 var = *currValue >> 8; - - if (newValue == var && (*currValue & 0xFF) == 0) + if (newValue == Q_24_8_TO_INT(*currValue) && (*currValue & 0xFF) == 0) return -1; } else @@ -2386,27 +2391,28 @@ static s32 CalcNewBarValue(s32 maxValue, s32 oldValue, s32 receivedValue, s32 *c if (maxValue < scale) // handle cases of max var having less pixels than the whole bar { - s32 var = (maxValue << 8) / scale; + s32 toAdd = Q_24_8(maxValue) / scale; if (receivedValue < 0) // fill bar right { - *currValue += var; - ret = *currValue >> 8; + *currValue += toAdd; + ret = Q_24_8_TO_INT(*currValue); if (ret >= newValue) { - *currValue = newValue << 8; + *currValue = Q_24_8(newValue); ret = newValue; } } else // move bar left { - *currValue -= var; - ret = *currValue >> 8; + *currValue -= toAdd; + ret = Q_24_8_TO_INT(*currValue); + // try round up if ((*currValue & 0xFF) > 0) ret++; if (ret <= newValue) { - *currValue = newValue << 8; + *currValue = Q_24_8(newValue); ret = newValue; } } @@ -2480,34 +2486,35 @@ static u8 CalcBarFilledPixels(s32 maxValue, s32 oldValue, s32 receivedValue, s32 return filledPixels; } -static s16 sub_8074F28(struct TestingBar *barInfo, s32 *arg1, u16 *arg2, s32 arg3) +// These two functions seem as if they were made for testing the health bar. +static s16 sub_8074F28(struct TestingBar *barInfo, s32 *currValue, u16 *arg2, s32 arg3) { s16 ret, var; ret = CalcNewBarValue(barInfo->maxValue, barInfo->oldValue, barInfo->receivedValue, - arg1, 6, 1); - sub_8074F88(barInfo, arg1, arg2); + currValue, B_HEALTHBAR_PIXELS / 8, 1); + sub_8074F88(barInfo, currValue, arg2); - if (barInfo->maxValue < HEALTHBAR_PIXELS) - var = *arg1 >> 8; + if (barInfo->maxValue < B_HEALTHBAR_PIXELS) + var = *currValue >> 8; else - var = *arg1; + var = *currValue; DummiedOutFunction(barInfo->maxValue, var, arg3); return ret; } -static void sub_8074F88(struct TestingBar *barInfo, s32 *arg1, u16 *arg2) +static void sub_8074F88(struct TestingBar *barInfo, s32 *currValue, u16 *arg2) { u8 sp8[6]; u16 sp10[6]; u8 i; CalcBarFilledPixels(barInfo->maxValue, barInfo->oldValue, - barInfo->receivedValue, arg1, sp8, 6); + barInfo->receivedValue, currValue, sp8, B_HEALTHBAR_PIXELS / 8); for (i = 0; i < 6; i++) sp10[i] = (barInfo->unkC_0 << 12) | (barInfo->unk10 + sp8[i]); @@ -2547,7 +2554,7 @@ u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale) u8 GetHPBarLevel(s16 hp, s16 maxhp) { - s32 result; + u8 result; if (hp == maxhp) { @@ -2555,10 +2562,10 @@ u8 GetHPBarLevel(s16 hp, s16 maxhp) } else { - u8 fraction = GetScaledHPFraction(hp, maxhp, 48); - if (fraction > 24) + u8 fraction = GetScaledHPFraction(hp, maxhp, B_HEALTHBAR_PIXELS); + if (fraction > (B_HEALTHBAR_PIXELS * 50 / 100)) // more than 50 % hp result = HP_BAR_GREEN; - else if (fraction > 9) + else if (fraction > (B_HEALTHBAR_PIXELS * 20 / 100)) // more than 20% hp result = HP_BAR_YELLOW; else if (fraction > 0) result = HP_BAR_RED; diff --git a/src/battle_main.c b/src/battle_main.c index 2d24d0dab..9afbc7f40 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -41,6 +41,7 @@ #include "pokedex.h" #include "constants/abilities.h" #include "constants/moves.h" +#include "constants/rgb.h" #include "evolution_scene.h" #include "roamer.h" #include "tv.h" @@ -137,13 +138,13 @@ static void sub_803980C(struct Sprite *sprite); static void sub_8039838(struct Sprite *sprite); static void sub_8039894(struct Sprite *sprite); static void sub_80398D0(struct Sprite *sprite); -static void sub_8039A48(struct Sprite *sprite); +static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite); static void sub_8039AF4(struct Sprite *sprite); static void SpriteCallbackDummy_3(struct Sprite *sprite); static void oac_poke_ally_(struct Sprite *sprite); static void SpecialStatusesClear(void); static void TurnValuesCleanUp(bool8 var0); -static void SpriteCB_HealthBoxBounce(struct Sprite *sprite); +static void SpriteCB_BounceEffect(struct Sprite *sprite); static void BattleStartClearSetData(void); static void BattleIntroGetMonsData(void); static void BattleIntroPrepareBackgroundSlide(void); @@ -183,7 +184,7 @@ static void HandleAction_SafariZoneBallThrow(void); static void HandleAction_ThrowPokeblock(void); static void HandleAction_GoNear(void); static void HandleAction_SafriZoneRun(void); -static void HandleAction_Action9(void); +static void HandleAction_WallyBallThrow(void); static void HandleAction_Action11(void); static void HandleAction_NothingIsFainted(void); static void HandleAction_ActionFinished(void); @@ -515,7 +516,7 @@ static void (* const sTurnActionsFuncsTable[])(void) = HandleAction_ThrowPokeblock, // B_ACTION_SAFARI_POKEBLOCK HandleAction_GoNear, // B_ACTION_SAFARI_GO_NEAR HandleAction_SafriZoneRun, // B_ACTION_SAFARI_RUN - HandleAction_Action9, // B_ACTION_UNKNOWN9 + HandleAction_WallyBallThrow, // B_ACTION_WALLY_THROW HandleAction_RunBattleScript, // B_ACTION_EXEC_SCRIPT HandleAction_Action11, // not sure about this one HandleAction_ActionFinished, // B_ACTION_FINISHED @@ -532,7 +533,7 @@ static void (* const sEndTurnFuncsTable[])(void) = HandleEndTurn_FinishBattle, // B_OUTCOME_PLAYER_TELEPORTED HandleEndTurn_MonFled, // B_OUTCOME_MON_FLED HandleEndTurn_FinishBattle, // B_OUTCOME_CAUGHT - HandleEndTurn_FinishBattle, // battle outcome 8 + HandleEndTurn_FinishBattle, // B_OUTCOME_NO_SAFARI_BALLS HandleEndTurn_FinishBattle, // B_OUTCOME_FORFEITED HandleEndTurn_FinishBattle, // B_OUTCOME_MON_TELEPORTED }; @@ -678,7 +679,7 @@ static void CB2_InitBattleInternal(void) gMain.inBattle = TRUE; gSaveBlock2Ptr->field_CA9_b = 0; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) AdjustFriendship(&gPlayerParty[i], 3); gBattleCommunication[MULTIUSE_STATE] = 0; @@ -739,7 +740,7 @@ static void SetPlayerBerryDataInBattleStruct(void) } else { - const struct Berry* berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); + const struct Berry *berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); for (i = 0; i < BERRY_NAME_COUNT - 1; i++) battleBerry->name[i] = berryData->name[i]; @@ -783,7 +784,7 @@ static void SetAllPlayersBerryData(void) } else { - const struct Berry* berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); + const struct Berry *berryData = GetBerryInfo(ItemIdToBerryType(ITEM_ENIGMA_BERRY)); for (i = 0; i < BERRY_NAME_COUNT - 1; i++) { @@ -809,7 +810,7 @@ static void SetAllPlayersBerryData(void) { s32 numPlayers; struct BattleEnigmaBerry *src; - u8 r4; + u8 battlerId; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -821,17 +822,17 @@ static void SetAllPlayersBerryData(void) for (i = 0; i < numPlayers; i++) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - r4 = gLinkPlayers[i].lp_field_18; + battlerId = gLinkPlayers[i].lp_field_18; for (j = 0; j < BERRY_NAME_COUNT - 1; j++) - gEnigmaBerries[r4].name[j] = src->name[j]; - gEnigmaBerries[r4].name[j] = EOS; + gEnigmaBerries[battlerId].name[j] = src->name[j]; + gEnigmaBerries[battlerId].name[j] = EOS; for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) - gEnigmaBerries[r4].itemEffect[j] = src->itemEffect[j]; + gEnigmaBerries[battlerId].itemEffect[j] = src->itemEffect[j]; - gEnigmaBerries[r4].holdEffect = src->holdEffect; - gEnigmaBerries[r4].holdEffectParam = src->holdEffectParam; + gEnigmaBerries[battlerId].holdEffect = src->holdEffect; + gEnigmaBerries[battlerId].holdEffectParam = src->holdEffectParam; } } else @@ -1382,7 +1383,7 @@ static void CB2_PreInitMultiBattle(void) u8 playerMultiplierId; s32 numPlayers = 4; u8 r4 = 0xF; - u32* savedBattleTypeFlags; + u32 *savedBattleTypeFlags; void (**savedCallback)(void); if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) @@ -1476,7 +1477,7 @@ static void CB2_PreInitMultiBattle(void) static void CB2_PreInitIngamePlayerPartnerBattle(void) { - u32* savedBattleTypeFlags; + u32 *savedBattleTypeFlags; void (**savedCallback)(void); savedCallback = &gBattleStruct->savedCallback; @@ -1819,7 +1820,7 @@ void BattleMainCB2(void) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; ResetPaletteFadeControl(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); SetMainCallback2(CB2_QuitRecordedBattle); } } @@ -2026,7 +2027,7 @@ void sub_8038A04(void) // unused void VBlankCB_Battle(void) { - // change gRngSeed every vblank unless the battle could be recorded + // Change gRngSeed every vblank unless the battle could be recorded. if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_RECORDED))) Random(); @@ -2192,7 +2193,7 @@ void sub_8038D64(void) } for (i = 80; i < 160; i++) { - asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter + asm(""::"r"(i)); // Needed to stop the compiler from optimizing out the loop counter. gScanlineEffectRegBuffers[0][i] = 0xFF10; gScanlineEffectRegBuffers[1][i] = 0xFF10; } @@ -2255,7 +2256,7 @@ static void sub_8038F34(void) case 1: if (--gBattleCommunication[1] == 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2312,7 +2313,7 @@ static void sub_8038F34(void) for (i = 0; i < 2; i++) LoadChosenBattleElement(i); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK); gBattleCommunication[MULTIUSE_STATE]++; break; case 4: @@ -2417,7 +2418,7 @@ static void sub_80392A8(void) gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); SetMainCallback2(sub_803937C); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(-1, 0, 0x10, 0, RGB_BLACK); gBattleCommunication[MULTIUSE_STATE] = 0; } @@ -2577,7 +2578,7 @@ static void sub_803939C(void) { if (sub_800A520() == TRUE) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[1] = 0x20; gBattleCommunication[MULTIUSE_STATE] = 8; } @@ -2585,7 +2586,7 @@ static void sub_803939C(void) } else { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[1] = 0x20; gBattleCommunication[MULTIUSE_STATE] = 8; } @@ -2620,7 +2621,7 @@ void oac_poke_opponent(struct Sprite *sprite) { sprite->callback = sub_803980C; StartSpriteAnimIfDifferent(sprite, 0); - BeginNormalPaletteFade(0x20000, 0, 10, 10, 0x2108); + BeginNormalPaletteFade(0x20000, 0, 10, 10, RGB(8, 8, 8)); } static void sub_803980C(struct Sprite *sprite) @@ -2643,7 +2644,7 @@ static void sub_8039838(struct Sprite *sprite) SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]); sprite->callback = sub_8039894; StartSpriteAnimIfDifferent(sprite, 0); - BeginNormalPaletteFade(0x20000, 0, 10, 0, 0x2108); + BeginNormalPaletteFade(0x20000, 0, 10, 0, RGB(8, 8, 8)); } } @@ -2687,7 +2688,7 @@ static void sub_80398D0(struct Sprite *sprite) extern const struct MonCoords gMonFrontPicCoords[]; extern const struct MonCoords gCastformFrontSpriteCoords[]; -void sub_8039934(struct Sprite *sprite) +void SpriteCB_FaintOpponentMon(struct Sprite *sprite) { u8 battler = sprite->sBattler; u16 species; @@ -2698,7 +2699,7 @@ void sub_8039934(struct Sprite *sprite) else species = sprite->sSpeciesId; - GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); // Unused return value + GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); // Unused return value. if (species == SPECIES_UNOWN) { @@ -2707,9 +2708,9 @@ void sub_8039934(struct Sprite *sprite) u16 unownSpecies; if (unownForm == 0) - unownSpecies = SPECIES_UNOWN; // Use the A Unown form + unownSpecies = SPECIES_UNOWN; // Use the A Unown form. else - unownSpecies = NUM_SPECIES + unownForm; // Use one of the other Unown letters + unownSpecies = NUM_SPECIES + unownForm; // Use one of the other Unown letters. yOffset = gMonFrontPicCoords[unownSpecies].y_offset; } @@ -2728,25 +2729,23 @@ void sub_8039934(struct Sprite *sprite) sprite->data[3] = 8 - yOffset / 8; sprite->data[4] = 1; - sprite->callback = sub_8039A48; + sprite->callback = SpriteCB_AnimFaintOpponent; } -static void sub_8039A48(struct Sprite *sprite) +static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite) { s32 i; - sprite->data[4]--; - if (sprite->data[4] == 0) + if (--sprite->data[4] == 0) { sprite->data[4] = 2; - sprite->pos2.y += 8; - sprite->data[3]--; - if (sprite->data[3] < 0) + sprite->pos2.y += 8; // Move the sprite down. + if (--sprite->data[3] < 0) { FreeSpriteOamMatrix(sprite); DestroySprite(sprite); } - else + else // Erase bottom part of the sprite to create a smooth illusion of mon falling down. { u8 *dst = (u8 *)gMonSpritesGfxPtr->sprites[GetBattlerPosition(sprite->sBattler)] + (gBattleMonForms[sprite->sBattler] << 11) + (sprite->data[3] << 8); @@ -2831,85 +2830,100 @@ void sub_8039C00(struct Sprite *sprite) } } -void dp11b_obj_instanciate(u8 battler, u8 b, s8 c, s8 d) +#define sSinIndex data[0] +#define sDelta data[1] +#define sAmplitude data[2] +#define sBouncerSpriteId data[3] +#define sWhich data[4] + +void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude) { - u8 bounceHealthBoxSpriteId; - u8 spriteId2; + u8 invisibleSpriteId; + u8 bouncerSpriteId; - if (b) + switch (which) { - if (gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2) + case BOUNCE_HEALTHBOX: + default: + if (gBattleSpritesDataPtr->healthBoxesData[battler].healthboxIsBouncing) return; - } - else - { - if (gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4) + break; + case BOUNCE_MON: + if (gBattleSpritesDataPtr->healthBoxesData[battler].battlerIsBouncing) return; + break; } - bounceHealthBoxSpriteId = CreateInvisibleSpriteWithCallback(SpriteCB_HealthBoxBounce); - if (b == TRUE) + invisibleSpriteId = CreateInvisibleSpriteWithCallback(SpriteCB_BounceEffect); + if (which == BOUNCE_HEALTHBOX) { - spriteId2 = gHealthboxSpriteIds[battler]; - gBattleSpritesDataPtr->healthBoxesData[battler].field_2 = bounceHealthBoxSpriteId; - gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2 = 1; - gSprites[bounceHealthBoxSpriteId].data[0] = 0x80; + bouncerSpriteId = gHealthboxSpriteIds[battler]; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxBounceSpriteId = invisibleSpriteId; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxIsBouncing = 1; + gSprites[invisibleSpriteId].sSinIndex = 128; // 0 } else { - spriteId2 = gBattlerSpriteIds[battler]; - gBattleSpritesDataPtr->healthBoxesData[battler].field_3 = bounceHealthBoxSpriteId; - gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4 = 1; - gSprites[bounceHealthBoxSpriteId].data[0] = 0xC0; - } - gSprites[bounceHealthBoxSpriteId].data[1] = c; - gSprites[bounceHealthBoxSpriteId].data[2] = d; - gSprites[bounceHealthBoxSpriteId].data[3] = spriteId2; - gSprites[bounceHealthBoxSpriteId].data[4] = b; - gSprites[spriteId2].pos2.x = 0; - gSprites[spriteId2].pos2.y = 0; + bouncerSpriteId = gBattlerSpriteIds[battler]; + gBattleSpritesDataPtr->healthBoxesData[battler].battlerBounceSpriteId = invisibleSpriteId; + gBattleSpritesDataPtr->healthBoxesData[battler].battlerIsBouncing = 1; + gSprites[invisibleSpriteId].sSinIndex = 192; // -1 + } + gSprites[invisibleSpriteId].sDelta = delta; + gSprites[invisibleSpriteId].sAmplitude = amplitude; + gSprites[invisibleSpriteId].sBouncerSpriteId = bouncerSpriteId; + gSprites[invisibleSpriteId].sWhich = which; + gSprites[bouncerSpriteId].pos2.x = 0; + gSprites[bouncerSpriteId].pos2.y = 0; } -void dp11b_obj_free(u8 battler, bool8 b) +void EndBounceEffect(u8 battler, u8 which) { - u8 r4; + u8 bouncerSpriteId; - if (b == TRUE) + if (which == BOUNCE_HEALTHBOX) { - if (!gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].healthboxIsBouncing) return; - r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_2].data[3]; - DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_2]); - gBattleSpritesDataPtr->healthBoxesData[battler].flag_x2 = 0; + bouncerSpriteId = gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].healthboxBounceSpriteId].sBouncerSpriteId; + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].healthboxBounceSpriteId]); + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxIsBouncing = 0; } else { - if (!gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].battlerIsBouncing) return; - r4 = gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_3].data[3]; - DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].field_3]); - gBattleSpritesDataPtr->healthBoxesData[battler].flag_x4 = 0; + bouncerSpriteId = gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].battlerBounceSpriteId].sBouncerSpriteId; + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].battlerBounceSpriteId]); + gBattleSpritesDataPtr->healthBoxesData[battler].battlerIsBouncing = 0; } - gSprites[r4].pos2.x = 0; - gSprites[r4].pos2.y = 0; + + gSprites[bouncerSpriteId].pos2.x = 0; + gSprites[bouncerSpriteId].pos2.y = 0; } -static void SpriteCB_HealthBoxBounce(struct Sprite *sprite) +static void SpriteCB_BounceEffect(struct Sprite *sprite) { - u8 spriteId = sprite->data[3]; - s32 var; + u8 bouncerSpriteId = sprite->sBouncerSpriteId; + s32 index; - if (sprite->data[4] == 1) - var = sprite->data[0]; + if (sprite->sWhich == BOUNCE_HEALTHBOX) + index = sprite->sSinIndex; else - var = sprite->data[0]; + index = sprite->sSinIndex; - gSprites[spriteId].pos2.y = Sin(var, sprite->data[2]) + sprite->data[2]; - sprite->data[0] = (sprite->data[0] + sprite->data[1]) & 0xFF; + gSprites[bouncerSpriteId].pos2.y = Sin(index, sprite->sAmplitude) + sprite->sAmplitude; + sprite->sSinIndex = (sprite->sSinIndex + sprite->sDelta) & 0xFF; } +#undef sSinIndex +#undef sDelta +#undef sAmplitude +#undef sBouncerSpriteId +#undef sWhich + void sub_8039E44(struct Sprite *sprite) { if (sprite->affineAnimEnded) @@ -4272,7 +4286,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitCmd50(0); + BtlController_EmitEndBounceEffect(0); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4300,7 +4314,7 @@ static void HandleTurnActionSelectionState(void) { RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); } - BtlController_EmitCmd50(0); + BtlController_EmitEndBounceEffect(0); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4439,7 +4453,7 @@ static void HandleTurnActionSelectionState(void) gHitMarker |= HITMARKER_RUN; gBattleCommunication[gActiveBattler]++; break; - case B_ACTION_UNKNOWN9: + case B_ACTION_WALLY_THROW: gBattleCommunication[gActiveBattler]++; break; } @@ -5776,7 +5790,7 @@ static void HandleAction_SafriZoneRun(void) gBattleOutcome = B_OUTCOME_RAN; } -static void HandleAction_Action9(void) +static void HandleAction_WallyBallThrow(void) { gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index b0388e971..78b615407 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -38,7 +38,7 @@ struct HallofFameMon struct HallofFameTeam { - struct HallofFameMon mon[6]; + struct HallofFameMon mon[PARTY_SIZE]; }; struct HofGfx -- cgit v1.2.3 From ed8b006e67cdf5427177108b32c009a217b12b37 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 20 Jun 2018 17:41:51 -0500 Subject: Rename map-layout-related things --- src/decoration.c | 6 +-- src/field_camera.c | 52 +++++++++++------------ src/field_tasks.c | 4 +- src/fieldmap.c | 116 +++++++++++++++++++++++++-------------------------- src/item_use.c | 12 +++--- src/map_name_popup.c | 2 +- src/overworld.c | 72 ++++++++++++++++---------------- src/pokemon.c | 2 +- src/region_map.c | 20 ++++----- src/secret_base.c | 10 ++--- src/tileset_anims.c | 8 ++-- src/tv.c | 8 ++-- src/wild_encounter.c | 14 +++---- 13 files changed, 163 insertions(+), 163 deletions(-) (limited to 'src') diff --git a/src/decoration.c b/src/decoration.c index ad2cdfa30..0510b9f31 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1736,7 +1736,7 @@ bool8 sub_8128D10(u8 taskId) data[1] ++; return FALSE; } - if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapData->height) + if (sDecorationLastDirectionMoved == DIR_NORTH && data[1] - 7 >= gMapHeader.mapLayout->height) { data[1] --; return FALSE; @@ -1746,7 +1746,7 @@ bool8 sub_8128D10(u8 taskId) data[0] ++; return FALSE; } - if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapData->width) + if (sDecorationLastDirectionMoved == DIR_EAST && data[0] + data[5] - 8 >= gMapHeader.mapLayout->width) { data[0] --; return FALSE; @@ -2186,7 +2186,7 @@ void sub_81297F8(void) { for (x = 0; x < sDecorRearrangementDataBuffer[i].width; x ++) { - MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapData->map[posX + x + gMapHeader.mapData->width * (posY - y)] | 0x3000); + MapGridSetMetatileEntryAt(posX + 7 + x, posY + 7 - y, gMapHeader.mapLayout->map[posX + x + gMapHeader.mapLayout->width * (posY - y)] | 0x3000); } } sub_81296EC(sDecorRearrangementDataBuffer[i].idx); diff --git a/src/field_camera.c b/src/field_camera.c index d7063bd89..8629bec2b 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -25,13 +25,13 @@ struct FieldCameraUnknownStruct }; // static functions -static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); -static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); -static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); -static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapData *mapData); +static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); +static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); +static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); +static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout); static s32 MapPosToBgTilemapOffset(struct FieldCameraUnknownStruct *a, s32 x, s32 y); -static void DrawWholeMapViewInternal(int x, int y, const struct MapData *mapData); -static void DrawMetatileAt(const struct MapData *mapData, u16, int, int); +static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout); +static void DrawMetatileAt(const struct MapLayout *mapLayout, u16, int, int); static void DrawMetatile(s32 a, u16 *b, u16 c); static void CameraPanningCB_PanAhead(void); @@ -97,11 +97,11 @@ void sub_8089C08(s16 *a, s16 *b) void DrawWholeMapView(void) { - DrawWholeMapViewInternal(gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y, gMapHeader.mapData); + DrawWholeMapViewInternal(gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y, gMapHeader.mapLayout); gUnknown_03000E20.unk4 = TRUE; } -static void DrawWholeMapViewInternal(int x, int y, const struct MapData *mapData) +static void DrawWholeMapViewInternal(int x, int y, const struct MapLayout *mapLayout) { u8 i; u8 j; @@ -119,27 +119,27 @@ static void DrawWholeMapViewInternal(int x, int y, const struct MapData *mapData temp = gUnknown_03000E20.unk2 + j; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r6 + temp, x + j / 2, y + i / 2); + DrawMetatileAt(mapLayout, r6 + temp, x + j / 2, y + i / 2); } } } static void RedrawMapSlicesForCameraUpdate(struct FieldCameraUnknownStruct *a, int x, int y) { - const struct MapData *mapData = gMapHeader.mapData; + const struct MapLayout *mapLayout = gMapHeader.mapLayout; if (x > 0) - RedrawMapSliceWest(a, mapData); + RedrawMapSliceWest(a, mapLayout); if (x < 0) - RedrawMapSliceEast(a, mapData); + RedrawMapSliceEast(a, mapLayout); if (y > 0) - RedrawMapSliceNorth(a, mapData); + RedrawMapSliceNorth(a, mapLayout); if (y < 0) - RedrawMapSliceSouth(a, mapData); + RedrawMapSliceSouth(a, mapLayout); a->unk4 = TRUE; } -static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -154,11 +154,11 @@ static void RedrawMapSliceNorth(struct FieldCameraUnknownStruct *a, const struct temp = a->unk2 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y + 14); + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y + 14); } } -static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -169,11 +169,11 @@ static void RedrawMapSliceSouth(struct FieldCameraUnknownStruct *a, const struct temp = a->unk2 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y); + DrawMetatileAt(mapLayout, r7 + temp, gSaveBlock1Ptr->pos.x + i / 2, gSaveBlock1Ptr->pos.y); } } -static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -184,11 +184,11 @@ static void RedrawMapSliceEast(struct FieldCameraUnknownStruct *a, const struct temp = a->unk3 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, temp * 32 + r6, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y + i / 2); + DrawMetatileAt(mapLayout, temp * 32 + r6, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y + i / 2); } } -static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapData *mapData) +static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct MapLayout *mapLayout) { u8 i; u8 temp; @@ -201,7 +201,7 @@ static void RedrawMapSliceWest(struct FieldCameraUnknownStruct *a, const struct temp = a->unk3 + i; if (temp >= 32) temp -= 32; - DrawMetatileAt(mapData, temp * 32 + r5, gSaveBlock1Ptr->pos.x + 14, gSaveBlock1Ptr->pos.y + i / 2); + DrawMetatileAt(mapLayout, temp * 32 + r5, gSaveBlock1Ptr->pos.x + 14, gSaveBlock1Ptr->pos.y + i / 2); } } @@ -211,7 +211,7 @@ void CurrentMapDrawMetatileAt(int a, int b) if (offset >= 0) { - DrawMetatileAt(gMapHeader.mapData, offset, a, b); + DrawMetatileAt(gMapHeader.mapLayout, offset, a, b); gUnknown_03000E20.unk4 = TRUE; } } @@ -227,7 +227,7 @@ void DrawDoorMetatileAt(int x, int y, u16 *arr) } } -static void DrawMetatileAt(const struct MapData *mapData, u16 b, int c, int d) +static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 b, int c, int d) { u16 metatileId = MapGridGetMetatileIdAt(c, d); u16 *metatiles; @@ -235,10 +235,10 @@ static void DrawMetatileAt(const struct MapData *mapData, u16 b, int c, int d) if (metatileId > 1024) metatileId = 0; if (metatileId < 512) - metatiles = mapData->primaryTileset->metatiles; + metatiles = mapLayout->primaryTileset->metatiles; else { - metatiles = mapData->secondaryTileset->metatiles; + metatiles = mapLayout->secondaryTileset->metatiles; metatileId -= 512; } DrawMetatile(MapGridGetMetatileLayerTypeAt(c, d), metatiles + metatileId * 8, b); diff --git a/src/field_tasks.c b/src/field_tasks.c index d9c3078da..3cc40ac9d 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -525,8 +525,8 @@ static bool32 sub_809E184(s16 x, s16 y) void SetSootopolisGymCrackedIceMetatiles(void) { s32 x, y; - s32 width = gMapHeader.mapData->width; - s32 height = gMapHeader.mapData->height; + s32 width = gMapHeader.mapLayout->width; + s32 height = gMapHeader.mapLayout->height; for (x = 0; x < width; x++) { for (y = 0; y < height; y++) diff --git a/src/fieldmap.c b/src/fieldmap.c index 245c88327..2561bceb7 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -28,7 +28,7 @@ EWRAM_DATA struct Camera gCamera = {0}; EWRAM_DATA static struct ConnectionFlags gUnknown_02037340 = {0}; EWRAM_DATA static u32 sFiller_02037344 = 0; // without this, the next file won't align properly -struct BackupMapData gUnknown_03005DC0; +struct BackupMapLayout gUnknown_03005DC0; static const struct ConnectionFlags sDummyConnectionFlags = {0}; @@ -68,19 +68,19 @@ void trainer_hill_map_load_related(void) void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader) { - struct MapData const *mapData; + struct MapLayout const *mapLayout; int width; int height; - mapData = mapHeader->mapData; + mapLayout = mapHeader->mapLayout; CpuFastFill16(0x03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); gUnknown_03005DC0.map = gUnknown_02032318; - width = mapData->width + 15; + width = mapLayout->width + 15; gUnknown_03005DC0.width = width; - height = mapData->height + 14; + height = mapLayout->height + 14; gUnknown_03005DC0.height = height; if (width * height <= 0x2800) { - map_copy_with_padding(mapData->map, mapData->width, mapData->height); + map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height); mapheader_copy_mapdata_of_adjacent_maps(mapHeader); } } @@ -146,8 +146,8 @@ void sub_8087F54(int x, int y, struct MapHeader const *mapHeader, int x2, int y2 u16 *dest; int mapWidth; - mapWidth = mapHeader->mapData->width; - src = &mapHeader->mapData->map[mapWidth * y2 + x2]; + mapWidth = mapHeader->mapLayout->width; + src = &mapHeader->mapLayout->map[mapWidth * y2 + x2]; dest = &gUnknown_03005DC0.map[gUnknown_03005DC0.width * y + x]; for (i = 0; i < height; i++) @@ -167,9 +167,9 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; + cWidth = connectedMapHeader->mapLayout->width; x = offset + 7; - y = mapHeader->mapData->height + 7; + y = mapHeader->mapLayout->height + 7; if (x < 0) { x2 = -x; @@ -214,8 +214,8 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; - cHeight = connectedMapHeader->mapData->height; + cWidth = connectedMapHeader->mapLayout->width; + cHeight = connectedMapHeader->mapLayout->height; x = offset + 7; y2 = cHeight - 7; if (x < 0) @@ -262,8 +262,8 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons int cWidth, cHeight; if (connectedMapHeader) { - cWidth = connectedMapHeader->mapData->width; - cHeight = connectedMapHeader->mapData->height; + cWidth = connectedMapHeader->mapLayout->width; + cHeight = connectedMapHeader->mapLayout->height; y = offset + 7; x2 = cWidth - 7; if (y < 0) @@ -308,8 +308,8 @@ void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader cons int cHeight; if (connectedMapHeader) { - cHeight = connectedMapHeader->mapData->height; - x = mapHeader->mapData->width + 7; + cHeight = connectedMapHeader->mapLayout->height; + x = mapHeader->mapLayout->width + 7; y = offset + 7; if (y < 0) { @@ -369,10 +369,10 @@ u8 MapGridGetZCoordAt(int x, int y) } else { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = gMapHeader.mapData->border[i]; + block = gMapHeader.mapLayout->border[i]; block |= 0xc00; } @@ -397,10 +397,10 @@ u8 MapGridIsImpassableAt(int x, int y) } else { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = gMapHeader.mapData->border[i]; + block = gMapHeader.mapLayout->border[i]; block |= 0xc00; } if (block == 0x3ff) @@ -415,7 +415,7 @@ u32 MapGridGetMetatileIdAt(int x, int y) u16 block; int i; int j; - struct MapData const *mapData; + struct MapLayout const *mapLayout; u16 *border; u16 block2; @@ -426,17 +426,17 @@ u32 MapGridGetMetatileIdAt(int x, int y) } else { - mapData = gMapHeader.mapData; + mapLayout = gMapHeader.mapLayout; i = (x + 1) & 1; i += ((y + 1) & 1) * 2; - block = mapData->border[i] | 0xc00; + block = mapLayout->border[i] | 0xc00; } if (block == 0x3ff) { - border = gMapHeader.mapData->border; + border = gMapHeader.mapLayout->border; j = (x + 1) & 1; j += ((y + 1) & 1) * 2; - block2 = gMapHeader.mapData->border[j]; + block2 = gMapHeader.mapLayout->border[j]; block2 |= 0xc00; return block2 & block; } @@ -484,12 +484,12 @@ u16 GetBehaviorByMetatileId(u16 metatile) u16 *attributes; if (metatile <= 0x1ff) { - attributes = gMapHeader.mapData->primaryTileset->metatileAttributes; + attributes = gMapHeader.mapLayout->primaryTileset->metatileAttributes; return attributes[metatile]; } else if (metatile <= 0x3ff) { - attributes = gMapHeader.mapData->secondaryTileset->metatileAttributes; + attributes = gMapHeader.mapLayout->secondaryTileset->metatileAttributes; return attributes[metatile - 0x200]; } else @@ -555,7 +555,7 @@ void mapdata_from_sav2(void) { if (i == y && i != 0) a0 = 0; - else if (i == y + 13 && i != gMapHeader.mapData->height - 1) + else if (i == y + 13 && i != gMapHeader.mapLayout->height - 1) a0 = 1; else a0 = -1; @@ -571,7 +571,7 @@ void mapdata_from_sav2(void) { if (y != 0) sub_80D423C(j, y - 1); - if (i < gMapHeader.mapData->height - 1) + if (i < gMapHeader.mapLayout->height - 1) sub_80D42B8(j, y + 13); } sav2_mapdata_clear(); @@ -636,7 +636,7 @@ void sub_80885C4(u8 a1) int GetMapBorderIdAt(int x, int y) { - struct MapData const *mapData; + struct MapLayout const *mapLayout; u16 block, block2; int i, j; if (x >= 0 && x < gUnknown_03005DC0.width @@ -652,10 +652,10 @@ int GetMapBorderIdAt(int x, int y) } else { - mapData = gMapHeader.mapData; + mapLayout = gMapHeader.mapLayout; j = (x + 1) & 1; j += ((y + 1) & 1) * 2; - block2 = 0xc00 | mapData->border[j]; + block2 = 0xc00 | mapLayout->border[j]; if (block2 == 0x3ff) { goto fail; @@ -732,7 +732,7 @@ void sub_80887F8(struct MapConnection *connection, int direction, int x, int y) gSaveBlock1Ptr->pos.y -= connection->offset; break; case CONNECTION_WEST: - gSaveBlock1Ptr->pos.x = mapHeader->mapData->width; + gSaveBlock1Ptr->pos.x = mapHeader->mapLayout->width; gSaveBlock1Ptr->pos.y -= connection->offset; break; case CONNECTION_SOUTH: @@ -741,7 +741,7 @@ void sub_80887F8(struct MapConnection *connection, int direction, int x, int y) break; case CONNECTION_NORTH: gSaveBlock1Ptr->pos.x -= connection->offset; - gSaveBlock1Ptr->pos.y = mapHeader->mapData->height; + gSaveBlock1Ptr->pos.y = mapHeader->mapLayout->height; break; } } @@ -800,10 +800,10 @@ bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection) { case CONNECTION_SOUTH: case CONNECTION_NORTH: - return sub_8088A0C(x, gMapHeader.mapData->width, mapHeader->mapData->width, connection->offset); + return sub_8088A0C(x, gMapHeader.mapLayout->width, mapHeader->mapLayout->width, connection->offset); case CONNECTION_WEST: case CONNECTION_EAST: - return sub_8088A0C(y, gMapHeader.mapData->height, mapHeader->mapData->height, connection->offset); + return sub_8088A0C(y, gMapHeader.mapLayout->height, mapHeader->mapLayout->height, connection->offset); } return FALSE; } @@ -841,10 +841,10 @@ int sub_8088A4C(struct MapConnection *connection, int x, int y) { case CONNECTION_SOUTH: case CONNECTION_NORTH: - return sub_8088A38(x - connection->offset, mapHeader->mapData->width); + return sub_8088A38(x - connection->offset, mapHeader->mapLayout->width); case CONNECTION_WEST: case CONNECTION_EAST: - return sub_8088A38(y - connection->offset, mapHeader->mapData->height); + return sub_8088A38(y - connection->offset, mapHeader->mapLayout->height); } return FALSE; } @@ -868,9 +868,9 @@ struct MapConnection *sub_8088A8C(s16 x, s16 y) direction = connection->direction; if ((direction == CONNECTION_DIVE || direction == CONNECTION_EMERGE) || (direction == CONNECTION_NORTH && y > 6) - || (direction == CONNECTION_SOUTH && y < gMapHeader.mapData->height + 7) + || (direction == CONNECTION_SOUTH && y < gMapHeader.mapLayout->height + 7) || (direction == CONNECTION_WEST && x > 6) - || (direction == CONNECTION_EAST && x < gMapHeader.mapData->width + 7)) + || (direction == CONNECTION_EAST && x < gMapHeader.mapLayout->width + 7)) { continue; } @@ -990,45 +990,45 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1 } } -void copy_map_tileset1_to_vram(struct MapData const *mapData) +void copy_map_tileset1_to_vram(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram(mapData->primaryTileset, 0x200, 0); + copy_tileset_patterns_to_vram(mapLayout->primaryTileset, 0x200, 0); } -void copy_map_tileset2_to_vram(struct MapData const *mapData) +void copy_map_tileset2_to_vram(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram(mapData->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram(mapLayout->secondaryTileset, 0x200, 0x200); } -void copy_map_tileset2_to_vram_2(struct MapData const *mapData) +void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout) { - copy_tileset_patterns_to_vram2(mapData->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200); } -void apply_map_tileset1_palette(struct MapData const *mapData) +void apply_map_tileset1_palette(struct MapLayout const *mapLayout) { - apply_map_tileset_palette(mapData->primaryTileset, 0, 0xC0); + apply_map_tileset_palette(mapLayout->primaryTileset, 0, 0xC0); } -void apply_map_tileset2_palette(struct MapData const *mapData) +void apply_map_tileset2_palette(struct MapLayout const *mapLayout) { - apply_map_tileset_palette(mapData->secondaryTileset, 0x60, 0xE0); + apply_map_tileset_palette(mapLayout->secondaryTileset, 0x60, 0xE0); } -void copy_map_tileset1_tileset2_to_vram(struct MapData const *mapData) +void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout) { - if (mapData) + if (mapLayout) { - copy_tileset_patterns_to_vram2(mapData->primaryTileset, 0x200, 0); - copy_tileset_patterns_to_vram2(mapData->secondaryTileset, 0x200, 0x200); + copy_tileset_patterns_to_vram2(mapLayout->primaryTileset, 0x200, 0); + copy_tileset_patterns_to_vram2(mapLayout->secondaryTileset, 0x200, 0x200); } } -void apply_map_tileset1_tileset2_palette(struct MapData const *mapData) +void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout) { - if (mapData) + if (mapLayout) { - apply_map_tileset1_palette(mapData); - apply_map_tileset2_palette(mapData); + apply_map_tileset1_palette(mapLayout); + apply_map_tileset2_palette(mapLayout); } } diff --git a/src/item_use.c b/src/item_use.c index 96f63ee3e..f3cb58069 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -424,23 +424,23 @@ bool8 sub_80FD730(struct MapConnection *connection, int x, int y) case 2: localOffset = connection->offset + 7; localX = x - localOffset; - localLength = mapHeader->mapData->height - 7; + localLength = mapHeader->mapLayout->height - 7; localY = localLength + y; // additions are reversed for some reason break; case 1: localOffset = connection->offset + 7; localX = x - localOffset; - localLength = gMapHeader.mapData->height + 7; + localLength = gMapHeader.mapLayout->height + 7; localY = y - localLength; break; case 3: - localLength = mapHeader->mapData->width - 7; + localLength = mapHeader->mapLayout->width - 7; localX = localLength + x; // additions are reversed for some reason localOffset = connection->offset + 7; localY = y - localOffset; break; case 4: - localLength = gMapHeader.mapData->width + 7; + localLength = gMapHeader.mapLayout->width + 7; localX = x - localLength; localOffset = connection->offset + 7; localY = y - localOffset; @@ -455,8 +455,8 @@ void sub_80FD7C8(u8 taskId) { s16 x, y; s16 curX, curY; - s16 width = gMapHeader.mapData->width + 7; - s16 height = gMapHeader.mapData->height + 7; + s16 width = gMapHeader.mapLayout->width + 7; + s16 height = gMapHeader.mapLayout->height + 7; s16 var1 = 7; s16 var2 = 7; diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 1782e9af8..b2109bb82 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -228,7 +228,7 @@ static void ShowMapNamePopUpWindow(void) if(InBattlePyramid()) { - if(gMapHeader.mapDataId == 0x17A) + if(gMapHeader.mapLayoutId == 0x17A) { withoutPrefixPtr = &(mapDisplayHeader[3]); mapDisplayHeaderSource = gBattlePyramid_MapHeaderStrings[7]; diff --git a/src/overworld.c b/src/overworld.c index 1e4116053..657ffd86a 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -81,7 +81,7 @@ extern const u8 gUnknown_082774EF[]; extern const u8 gUnknown_08277509[]; // vars -extern const struct MapData *const gMapAttributes[]; +extern const struct MapLayout *const gMapLayouts[]; extern const struct MapHeader *const *const gMapGroups[]; extern const s32 gMaxFlashLevel; extern const u16 gUnknown_82EC7C4[]; @@ -97,16 +97,16 @@ extern void HealPlayerParty(void); extern void move_tilemap_camera_to_upper_left_corner(void); extern void cur_mapheader_run_tileset_funcs_after_some_cpuset(void); extern void DrawWholeMapView(void); -extern void copy_map_tileset1_tileset2_to_vram(const struct MapData *); -extern void apply_map_tileset1_tileset2_palette(const struct MapData *); +extern void copy_map_tileset1_tileset2_to_vram(const struct MapLayout *); +extern void apply_map_tileset1_tileset2_palette(const struct MapLayout *); extern void ResetCyclingRoadChallengeData(void); extern void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey); extern void mapheader_run_script_with_tag_x5(void); extern void ResetFieldTasksArgs(void); extern void sub_80A0A2C(void); extern void not_trainer_hill_battle_pyramid(void); -extern void apply_map_tileset2_palette(const struct MapData *); -extern void copy_map_tileset2_to_vram_2(const struct MapData *); +extern void apply_map_tileset2_palette(const struct MapLayout *); +extern void copy_map_tileset2_to_vram_2(const struct MapLayout *); extern void prev_quest_postbuffer_cursor_backup_reset(void); extern void ShowMapNamePopup(void); extern bool32 InTrainerHill(void); @@ -143,8 +143,8 @@ extern void sub_80EDB44(void); extern void sub_81D64C0(void); extern void sub_81BE6AC(void); extern void sub_8098128(void); -extern void copy_map_tileset1_to_vram(const struct MapData *); -extern void copy_map_tileset2_to_vram(const struct MapData *); +extern void copy_map_tileset1_to_vram(const struct MapLayout *); +extern void copy_map_tileset2_to_vram(const struct MapLayout *); extern void FieldUpdateBgTilemapScroll(void); extern void TransferTilesetAnimsBuffer(void); extern bool32 sub_81D5F48(void); @@ -558,17 +558,17 @@ void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType) static void mapdata_load_assets_to_gpu_and_full_redraw(void) { move_tilemap_camera_to_upper_left_corner(); - copy_map_tileset1_tileset2_to_vram(gMapHeader.mapData); - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + copy_map_tileset1_tileset2_to_vram(gMapHeader.mapLayout); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); DrawWholeMapView(); cur_mapheader_run_tileset_funcs_after_some_cpuset(); } -const struct MapData *get_mapdata_header(void) +const struct MapLayout *GetMapLayout(void) { - u16 mapDataId = gSaveBlock1Ptr->mapDataId; - if (mapDataId) - return gMapAttributes[mapDataId - 1]; + u16 mapLayoutId = gSaveBlock1Ptr->mapLayoutId; + if (mapLayoutId) + return gMapLayouts[mapLayoutId - 1]; return NULL; } @@ -625,14 +625,14 @@ void set_current_map_header_from_sav1_save_old_name(void) { sLastMapSectionId = gMapHeader.regionMapSectionId; gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); - gSaveBlock1Ptr->mapDataId = gMapHeader.mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gSaveBlock1Ptr->mapLayoutId = gMapHeader.mapLayoutId; + gMapHeader.mapLayout = GetMapLayout(); } void LoadSaveblockMapHeader(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); - gMapHeader.mapData = get_mapdata_header(); + gMapHeader.mapLayout = GetMapLayout(); } void update_camera_pos_from_warpid(void) @@ -649,8 +649,8 @@ void update_camera_pos_from_warpid(void) } else { - gSaveBlock1Ptr->pos.x = gMapHeader.mapData->width / 2; - gSaveBlock1Ptr->pos.y = gMapHeader.mapData->height / 2; + gSaveBlock1Ptr->pos.x = gMapHeader.mapLayout->width / 2; + gSaveBlock1Ptr->pos.y = gMapHeader.mapLayout->height / 2; } } @@ -837,8 +837,8 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); not_trainer_hill_battle_pyramid(); - copy_map_tileset2_to_vram_2(gMapHeader.mapData); - apply_map_tileset2_palette(gMapHeader.mapData); + copy_map_tileset2_to_vram_2(gMapHeader.mapLayout); + apply_map_tileset2_palette(gMapHeader.mapLayout); for (paletteIndex = 6; paletteIndex < 13; paletteIndex++) ApplyWeatherGammaShiftToPal(paletteIndex); @@ -862,7 +862,7 @@ static void mli0_load_map(u32 a1) set_current_map_header_from_sav1_save_old_name(); if (!(sUnknown_020322D8 & 1)) { - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) sub_81AA1D8(); else if (InTrainerHill()) sub_81D5DF8(); @@ -890,7 +890,7 @@ static void mli0_load_map(u32 a1) mapheader_run_script_with_tag_x3(); UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) battle_pyramid_map_load_related(0); else if (InTrainerHill()) trainer_hill_map_load_related(); @@ -1016,10 +1016,10 @@ u8 Overworld_GetFlashLevel(void) return gSaveBlock1Ptr->flashLevel; } -void sub_8085524(u16 mapDataId) +void sub_8085524(u16 mapLayoutId) { - gSaveBlock1Ptr->mapDataId = mapDataId; - gMapHeader.mapData = get_mapdata_header(); + gSaveBlock1Ptr->mapLayoutId = mapLayoutId; + gMapHeader.mapLayout = GetMapLayout(); } void sub_8085540(u8 var) @@ -1729,7 +1729,7 @@ void CB2_ContinueSavedGame(void) LoadSaveblockMapHeader(); set_warp2_warp3_to_neg_1(); trainerHillMapId = GetCurrentTrainerHillMapId(); - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) sub_81AA2F8(); else if (trainerHillMapId != 0 && trainerHillMapId != 6) sub_81D5F48(); @@ -1739,7 +1739,7 @@ void CB2_ContinueSavedGame(void) UnfreezeEventObjects(); DoTimeBasedEvents(); sub_8084788(); - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) battle_pyramid_map_load_related(1); else if (trainerHillMapId != 0) trainer_hill_map_load_related(); @@ -1859,17 +1859,17 @@ static bool32 map_loading_iteration_3(u8 *state) (*state)++; break; case 6: - copy_map_tileset1_to_vram(gMapHeader.mapData); + copy_map_tileset1_to_vram(gMapHeader.mapLayout); (*state)++; break; case 7: - copy_map_tileset2_to_vram(gMapHeader.mapData); + copy_map_tileset2_to_vram(gMapHeader.mapLayout); (*state)++; break; case 8: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*state)++; } break; @@ -1934,17 +1934,17 @@ static bool32 load_map_stuff(u8 *state, u32 a2) (*state)++; break; case 6: - copy_map_tileset1_to_vram(gMapHeader.mapData); + copy_map_tileset1_to_vram(gMapHeader.mapLayout); (*state)++; break; case 7: - copy_map_tileset2_to_vram(gMapHeader.mapData); + copy_map_tileset2_to_vram(gMapHeader.mapLayout); (*state)++; break; case 8: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*state)++; } break; @@ -2031,17 +2031,17 @@ static bool32 map_loading_iteration_2_link(u8 *state) (*state)++; break; case 5: - copy_map_tileset1_to_vram(gMapHeader.mapData); + copy_map_tileset1_to_vram(gMapHeader.mapLayout); (*state)++; break; case 6: - copy_map_tileset2_to_vram(gMapHeader.mapData); + copy_map_tileset2_to_vram(gMapHeader.mapLayout); (*state)++; break; case 7: if (free_temp_tile_data_buffers_if_possible() != TRUE) { - apply_map_tileset1_tileset2_palette(gMapHeader.mapData); + apply_map_tileset1_tileset2_palette(gMapHeader.mapLayout); (*state)++; } break; diff --git a/src/pokemon.c b/src/pokemon.c index 800b7c0cd..1fa1c08f8 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5620,7 +5620,7 @@ void SetWildMonHeldItem(void) var1 = 20; var2 = 80; } - if (gMapHeader.mapDataId == 0x1A4) + if (gMapHeader.mapLayoutId == 0x1A4) { s32 alteringCaveId = GetWildMonTableIdInAlteringCave(species); if (alteringCaveId != 0) diff --git a/src/region_map.c b/src/region_map.c index f16787fc9..0dcccfdab 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -891,8 +891,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) case 6: gRegionMap->mapSecId = gMapHeader.regionMapSectionId; gRegionMap->playerIsInCave = FALSE; - mapWidth = gMapHeader.mapData->width; - mapHeight = gMapHeader.mapData->height; + mapWidth = gMapHeader.mapLayout->width; + mapHeight = gMapHeader.mapLayout->height; x = gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; if (gRegionMap->mapSecId == MAPSEC_UNDERWATER_128 || gRegionMap->mapSecId == MAPSEC_UNDERWATER_MARINE_CAVE) @@ -907,8 +907,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = gSaveBlock1Ptr->warp4.x; y = gSaveBlock1Ptr->warp4.y; } @@ -926,8 +926,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) mapHeader = Overworld_GetMapHeaderByGroupAndId((u16)gSaveBlock1Ptr->warp2.mapGroup, (u16)gSaveBlock1Ptr->warp2.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = gSaveBlock1Ptr->warp2.x; y = gSaveBlock1Ptr->warp2.y; break; @@ -953,8 +953,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) { gRegionMap->playerIsInCave = FALSE; } - mapWidth = mapHeader->mapData->width; - mapHeight = mapHeader->mapData->height; + mapWidth = mapHeader->mapLayout->width; + mapHeight = mapHeader->mapLayout->height; x = storedWarp->x; y = storedWarp->y; break; @@ -1068,14 +1068,14 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void) mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; - dimensionScale = mapHeader->mapData->width / gRegionMapEntries[gRegionMap->mapSecId].width; + dimensionScale = mapHeader->mapLayout->width / gRegionMapEntries[gRegionMap->mapSecId].width; if (dimensionScale == 0) dimensionScale = 1; x = xOnMap / dimensionScale; if (x >= gRegionMapEntries[gRegionMap->mapSecId].width) x = gRegionMapEntries[gRegionMap->mapSecId].width - 1; - dimensionScale = mapHeader->mapData->height / gRegionMapEntries[gRegionMap->mapSecId].height; + dimensionScale = mapHeader->mapLayout->height / gRegionMapEntries[gRegionMap->mapSecId].height; if (dimensionScale == 0) dimensionScale = 1; y = yOnMap / dimensionScale; diff --git a/src/secret_base.c b/src/secret_base.c index d6f4e24a5..93b82b3cb 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -246,16 +246,16 @@ void sub_80E8C98(void) void sub_80E8CB0(s16 *xPtr, s16 *yPtr, u16 tile) { - const struct MapData *mapData; + const struct MapLayout *mapLayout; s16 x; s16 y; - mapData = gMapHeader.mapData; - for (y = 0; y < mapData->height; y ++) + mapLayout = gMapHeader.mapLayout; + for (y = 0; y < mapLayout->height; y ++) { - for (x = 0; x < mapData->width; x ++) + for (x = 0; x < mapLayout->width; x ++) { - if ((mapData->map[y * mapData->width + x] & 0x3ff) == tile) + if ((mapLayout->map[y * mapLayout->width + x] & 0x3ff) == tile) { *xPtr = x; *yPtr = y; diff --git a/src/tileset_anims.c b/src/tileset_anims.c index aaa05bcc8..d05931dba 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -686,8 +686,8 @@ static void cur_mapheader_run_tileset1_func(void) sPrimaryTilesetCBCounter = 0; sPrimaryTilesetCBBufferSize = 0; sPrimaryTilesetCB = NULL; - if (gMapHeader.mapData->primaryTileset && gMapHeader.mapData->primaryTileset->callback) - gMapHeader.mapData->primaryTileset->callback(); + if (gMapHeader.mapLayout->primaryTileset && gMapHeader.mapLayout->primaryTileset->callback) + gMapHeader.mapLayout->primaryTileset->callback(); } static void cur_mapheader_run_tileset2_func(void) @@ -695,8 +695,8 @@ static void cur_mapheader_run_tileset2_func(void) sSecondaryTilesetCBCounter = 0; sSecondaryTilesetCBBufferSize = 0; sSecondaryTilesetCB = NULL; - if (gMapHeader.mapData->secondaryTileset && gMapHeader.mapData->secondaryTileset->callback) - gMapHeader.mapData->secondaryTileset->callback(); + if (gMapHeader.mapLayout->secondaryTileset && gMapHeader.mapLayout->secondaryTileset->callback) + gMapHeader.mapLayout->secondaryTileset->callback(); } void TilesetCb_General(void) diff --git a/src/tv.c b/src/tv.c index 2219a720b..d32a8940e 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1958,7 +1958,7 @@ void sub_80EDB44(void) show->rivalTrainer.dexCount = GetHoennPokedexCount(0x01); } show->rivalTrainer.location = gMapHeader.regionMapSectionId; - show->rivalTrainer.mapDataId = gMapHeader.mapDataId; + show->rivalTrainer.mapLayoutId = gMapHeader.mapLayoutId; show->rivalTrainer.nSilverSymbols = 0; show->rivalTrainer.nGoldSymbols = 0; for (i = 0; i < 7; i ++) @@ -2010,7 +2010,7 @@ void sub_80EDCE8(void) show->treasureInvestigators.active = FALSE; show->treasureInvestigators.item = gSpecialVar_0x8005; show->treasureInvestigators.location = gMapHeader.regionMapSectionId; - show->treasureInvestigators.mapDataId = gMapHeader.mapDataId; + show->treasureInvestigators.mapLayoutId = gMapHeader.mapLayoutId; StringCopy(show->treasureInvestigators.playerName, gSaveBlock2Ptr->playerName); tv_store_id_3x(show); show->treasureInvestigators.language = gGameLanguage; @@ -6261,7 +6261,7 @@ static void DoTVShowTodaysRivalTrainer(void) sTVShowState = 8; break; case MAPSEC_DYNAMIC: - switch (show->rivalTrainer.mapDataId) + switch (show->rivalTrainer.mapLayoutId) { case 0x115 ... 0x117: sTVShowState = 10; @@ -6460,7 +6460,7 @@ static void DoTVShowHoennTreasureInvestigators(void) StringCopy(gStringVar1, ItemId_GetName(show->treasureInvestigators.item)); if (show->treasureInvestigators.location == MAPSEC_DYNAMIC) { - switch (show->treasureInvestigators.mapDataId) + switch (show->treasureInvestigators.mapLayoutId) { case 0x115 ... 0x117: sTVShowState = 2; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 862672e19..6beacf0a2 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -4613,7 +4613,7 @@ static u16 GetRoute119WaterTileNum(s16 x, s16 y, u8 section) for (yCur = yMin; yCur <= yMax; yCur++) { - for (xCur = 0; xCur < gMapHeader.mapData->width; xCur++) + for (xCur = 0; xCur < gMapHeader.mapLayout->width; xCur++) { u8 tileBehaviorId = MapGridGetMetatileBehaviorAt(xCur + 7, yCur + 7); if (MetatileBehavior_IsSurfableAndNotWaterfall(tileBehaviorId) == TRUE) @@ -4976,7 +4976,7 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar level = ChooseWildMonLevel(&wildMonInfo->wildPokemon[wildMonIndex]); if (flags & WILD_CHECK_REPEL && !IsWildLevelAllowedByRepel(level)) return FALSE; - if (gMapHeader.mapDataId != 0x166 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) + if (gMapHeader.mapLayoutId != 0x166 && flags & WILD_CHECK_KEEN_EYE && !IsAbilityAllowingEncounter(level)) return FALSE; CreateWildMon(wildMonInfo->wildPokemon[wildMonIndex].species, level); @@ -5037,7 +5037,7 @@ static bool8 DoWildEncounterRateTest(u32 encounterRate, bool8 ignoreAbility) { u32 ability = GetMonAbility(&gPlayerParty[0]); - if (ability == ABILITY_STENCH && gMapHeader.mapDataId == 0x169) + if (ability == ABILITY_STENCH && gMapHeader.mapLayoutId == 0x169) encounterRate = encounterRate * 3 / 4; else if (ability == ABILITY_STENCH) encounterRate /= 2; @@ -5085,7 +5085,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi headerId = GetCurrentMapWildMonHeaderId(); if (headerId == 0xFFFF) // invalid { - if (gMapHeader.mapDataId == 0x166) + if (gMapHeader.mapLayoutId == 0x166) { headerId = GetBattlePikeWildMonHeaderId(); if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) @@ -5100,7 +5100,7 @@ bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavi BattleSetup_StartBattlePikeWildBattle(); return TRUE; } - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) { headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; if (previousMetaTileBehavior != currMetaTileBehavior && !DoGlobalWildEncounterDiceRoll()) @@ -5228,7 +5228,7 @@ bool8 SweetScentWildEncounter(void) headerId = GetCurrentMapWildMonHeaderId(); if (headerId == 0xFFFF) // invalid { - if (gMapHeader.mapDataId == 0x166) + if (gMapHeader.mapLayoutId == 0x166) { headerId = GetBattlePikeWildMonHeaderId(); if (TryGenerateWildMon(gBattlePikeWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) @@ -5238,7 +5238,7 @@ bool8 SweetScentWildEncounter(void) BattleSetup_StartBattlePikeWildBattle(); return TRUE; } - if (gMapHeader.mapDataId == 0x169) + if (gMapHeader.mapLayoutId == 0x169) { headerId = gSaveBlock2Ptr->battlePyramidWildHeaderId; if (TryGenerateWildMon(gBattlePyramidWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) -- cgit v1.2.3 From 5e00c0bfcf54271b392dd1b83a901c7d623ce704 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 20 Jun 2018 17:42:01 -0500 Subject: Fix map constants --- src/wild_encounter.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 6beacf0a2..82ef74213 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -3821,24 +3821,24 @@ const struct WildPokemonHeader gWildMonHeaders[] = .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B1F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B1F), + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1), .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap1_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B2F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B2F), + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2), .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap2_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, .fishingMonsInfo = NULL, }, { - .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RS_B3F), - .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RS_B3F), + .mapGroup = MAP_GROUP(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), + .mapNum = MAP_NUM(CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3), .landMonsInfo = &gCaveOfOrigin_UnusedRubySapphireMap3_LandMonsInfo, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, -- cgit v1.2.3 From 272b98da6c5174db3f7f2d05ed765fc4cdefc2c6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 28 Jun 2018 21:06:32 +0200 Subject: document party status summary --- src/battle_controller_link_opponent.c | 16 ++-- src/battle_controller_link_partner.c | 16 ++-- src/battle_controller_opponent.c | 16 ++-- src/battle_controller_player.c | 20 ++--- src/battle_controller_player_partner.c | 16 ++-- src/battle_controller_recorded_opponent.c | 16 ++-- src/battle_controller_recorded_player.c | 16 ++-- src/battle_controller_safari.c | 6 +- src/battle_controller_wally.c | 12 +-- src/battle_controllers.c | 18 ++-- src/battle_interface.c | 12 +-- src/battle_main.c | 136 +++++++++++++++--------------- src/battle_script_commands.c | 22 ++--- src/battle_util.c | 10 +-- src/safari_zone.c | 10 +-- 15 files changed, 171 insertions(+), 171 deletions(-) (limited to 'src') diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 0a53c2893..aa98b179d 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -89,7 +89,7 @@ static void LinkOpponentHandleFaintingCry(void); static void LinkOpponentHandleIntroSlide(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); -static void LinkOpponentHandleCmd49(void); +static void LinkOpponentHandleHidePartyStatusSummary(void); static void LinkOpponentHandleEndBounceEffect(void); static void LinkOpponentHandleSpriteInvisibility(void); static void LinkOpponentHandleBattleAnimation(void); @@ -161,7 +161,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkOpponentHandleIntroSlide, LinkOpponentHandleIntroTrainerBallThrow, LinkOpponentHandleDrawPartyStatusSummary, - LinkOpponentHandleCmd49, + LinkOpponentHandleHidePartyStatusSummary, LinkOpponentHandleEndBounceEffect, LinkOpponentHandleSpriteInvisibility, LinkOpponentHandleBattleAnimation, @@ -1716,8 +1716,8 @@ static void LinkOpponentHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_8067618, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_28; @@ -1762,7 +1762,7 @@ static void LinkOpponentHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; if (gBattleBufferA[gActiveBattler][2] != 0) { @@ -1796,10 +1796,10 @@ static void sub_806782C(void) } } -static void LinkOpponentHandleCmd49(void) +static void LinkOpponentHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; LinkOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index f5987c0ce..be9609e62 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -87,7 +87,7 @@ static void LinkPartnerHandleFaintingCry(void); static void LinkPartnerHandleIntroSlide(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); -static void LinkPartnerHandleCmd49(void); +static void LinkPartnerHandleHidePartyStatusSummary(void); static void LinkPartnerHandleEndBounceEffect(void); static void LinkPartnerHandleSpriteInvisibility(void); static void LinkPartnerHandleBattleAnimation(void); @@ -158,7 +158,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = LinkPartnerHandleIntroSlide, LinkPartnerHandleIntroTrainerBallThrow, LinkPartnerHandleDrawPartyStatusSummary, - LinkPartnerHandleCmd49, + LinkPartnerHandleHidePartyStatusSummary, LinkPartnerHandleEndBounceEffect, LinkPartnerHandleSpriteInvisibility, LinkPartnerHandleBattleAnimation, @@ -1564,8 +1564,8 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_814DCCC, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_112; @@ -1611,7 +1611,7 @@ static void LinkPartnerHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; @@ -1631,10 +1631,10 @@ static void sub_814DE9C(void) } } -static void LinkPartnerHandleCmd49(void) +static void LinkPartnerHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; LinkPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 83dac5436..414e084ee 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -94,7 +94,7 @@ static void OpponentHandleFaintingCry(void); static void OpponentHandleIntroSlide(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); -static void OpponentHandleCmd49(void); +static void OpponentHandleHidePartyStatusSummary(void); static void OpponentHandleEndBounceEffect(void); static void OpponentHandleSpriteInvisibility(void); static void OpponentHandleBattleAnimation(void); @@ -166,7 +166,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = OpponentHandleIntroSlide, OpponentHandleIntroTrainerBallThrow, OpponentHandleDrawPartyStatusSummary, - OpponentHandleCmd49, + OpponentHandleHidePartyStatusSummary, OpponentHandleEndBounceEffect, OpponentHandleSpriteInvisibility, OpponentHandleBattleAnimation, @@ -1865,8 +1865,8 @@ static void OpponentHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_8062828, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_26; @@ -1916,7 +1916,7 @@ static void OpponentHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; if (gBattleBufferA[gActiveBattler][2] != 0) { @@ -1950,10 +1950,10 @@ static void sub_8062A2C(void) } } -static void OpponentHandleCmd49(void) +static void OpponentHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; OpponentBufferExecCompleted(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 63dc989be..86775f50e 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -100,7 +100,7 @@ static void PlayerHandleFaintingCry(void); static void PlayerHandleIntroSlide(void); static void PlayerHandleIntroTrainerBallThrow(void); static void PlayerHandleDrawPartyStatusSummary(void); -static void PlayerHandleCmd49(void); +static void PlayerHandleHidePartyStatusSummary(void); static void PlayerHandleEndBounceEffect(void); static void PlayerHandleSpriteInvisibility(void); static void PlayerHandleBattleAnimation(void); @@ -187,7 +187,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerHandleIntroSlide, PlayerHandleIntroTrainerBallThrow, PlayerHandleDrawPartyStatusSummary, - PlayerHandleCmd49, + PlayerHandleHidePartyStatusSummary, PlayerHandleEndBounceEffect, PlayerHandleSpriteInvisibility, PlayerHandleBattleAnimation, @@ -253,7 +253,7 @@ static void HandleInputChooseAction(void) DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); - if (gMain.newAndRepeatedKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2) + if (gMain.newAndRepeatedKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; else gPlayerDpadHoldFrames = 0; @@ -485,7 +485,7 @@ static void HandleInputChooseMove(void) bool32 canSelectTarget = FALSE; struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct*)(&gBattleBufferA[gActiveBattler][4]); - if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == 2) + if (gMain.heldKeys & DPAD_ANY && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; else gPlayerDpadHoldFrames = 0; @@ -2945,8 +2945,8 @@ static void PlayerHandleIntroTrainerBallThrow(void) taskId = CreateTask(task05_08033660, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_21; @@ -3003,7 +3003,7 @@ static void PlayerHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; @@ -3023,10 +3023,10 @@ static void sub_805CE38(void) } } -static void PlayerHandleCmd49(void) +static void PlayerHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 17ed1c24f..6a70200b6 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -87,7 +87,7 @@ static void PlayerPartnerHandleFaintingCry(void); static void PlayerPartnerHandleIntroSlide(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); -static void PlayerPartnerHandleCmd49(void); +static void PlayerPartnerHandleHidePartyStatusSummary(void); static void PlayerPartnerHandleEndBounceEffect(void); static void PlayerPartnerHandleSpriteInvisibility(void); static void PlayerPartnerHandleBattleAnimation(void); @@ -164,7 +164,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = PlayerPartnerHandleIntroSlide, PlayerPartnerHandleIntroTrainerBallThrow, PlayerPartnerHandleDrawPartyStatusSummary, - PlayerPartnerHandleCmd49, + PlayerPartnerHandleHidePartyStatusSummary, PlayerPartnerHandleEndBounceEffect, PlayerPartnerHandleSpriteInvisibility, PlayerPartnerHandleBattleAnimation, @@ -1810,8 +1810,8 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_81BE2C8, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_77; @@ -1857,7 +1857,7 @@ static void PlayerPartnerHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; @@ -1877,10 +1877,10 @@ static void sub_81BE498(void) } } -static void PlayerPartnerHandleCmd49(void) +static void PlayerPartnerHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 9d213fc6b..4b44116dd 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -90,7 +90,7 @@ static void RecordedOpponentHandleFaintingCry(void); static void RecordedOpponentHandleIntroSlide(void); static void RecordedOpponentHandleIntroTrainerBallThrow(void); static void RecordedOpponentHandleDrawPartyStatusSummary(void); -static void RecordedOpponentHandleCmd49(void); +static void RecordedOpponentHandleHidePartyStatusSummary(void); static void RecordedOpponentHandleEndBounceEffect(void); static void RecordedOpponentHandleSpriteInvisibility(void); static void RecordedOpponentHandleBattleAnimation(void); @@ -162,7 +162,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void RecordedOpponentHandleIntroSlide, RecordedOpponentHandleIntroTrainerBallThrow, RecordedOpponentHandleDrawPartyStatusSummary, - RecordedOpponentHandleCmd49, + RecordedOpponentHandleHidePartyStatusSummary, RecordedOpponentHandleEndBounceEffect, RecordedOpponentHandleSpriteInvisibility, RecordedOpponentHandleBattleAnimation, @@ -1658,8 +1658,8 @@ static void RecordedOpponentHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_8189548, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_70; @@ -1704,7 +1704,7 @@ static void RecordedOpponentHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; if (gBattleBufferA[gActiveBattler][2] != 0) { @@ -1738,10 +1738,10 @@ static void sub_818975C(void) } } -static void RecordedOpponentHandleCmd49(void) +static void RecordedOpponentHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; RecordedOpponentBufferExecCompleted(); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index d1836c092..b6a96b6fd 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -89,7 +89,7 @@ static void RecordedPlayerHandleFaintingCry(void); static void RecordedPlayerHandleIntroSlide(void); static void RecordedPlayerHandleIntroTrainerBallThrow(void); static void RecordedPlayerHandleDrawPartyStatusSummary(void); -static void RecordedPlayerHandleCmd49(void); +static void RecordedPlayerHandleHidePartyStatusSummary(void); static void RecordedPlayerHandleEndBounceEffect(void); static void RecordedPlayerHandleSpriteInvisibility(void); static void RecordedPlayerHandleBattleAnimation(void); @@ -160,7 +160,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) RecordedPlayerHandleIntroSlide, RecordedPlayerHandleIntroTrainerBallThrow, RecordedPlayerHandleDrawPartyStatusSummary, - RecordedPlayerHandleCmd49, + RecordedPlayerHandleHidePartyStatusSummary, RecordedPlayerHandleEndBounceEffect, RecordedPlayerHandleSpriteInvisibility, RecordedPlayerHandleBattleAnimation, @@ -1693,8 +1693,8 @@ static void RecordedPlayerHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_818CC24, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_120; @@ -1740,7 +1740,7 @@ static void RecordedPlayerHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_5 = 0; @@ -1760,10 +1760,10 @@ static void sub_818CDF4(void) } } -static void RecordedPlayerHandleCmd49(void) +static void RecordedPlayerHandleHidePartyStatusSummary(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; RecordedPlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 3cdd952ef..bc69e2624 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -80,7 +80,7 @@ static void SafariHandleFaintingCry(void); static void SafariHandleIntroSlide(void); static void SafariHandleIntroTrainerBallThrow(void); static void SafariHandleDrawPartyStatusSummary(void); -static void SafariHandleCmd49(void); +static void SafariHandleHidePartyStatusSummary(void); static void SafariHandleEndBounceEffect(void); static void SafariHandleSpriteInvisibility(void); static void SafariHandleBattleAnimation(void); @@ -144,7 +144,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = SafariHandleIntroSlide, SafariHandleIntroTrainerBallThrow, SafariHandleDrawPartyStatusSummary, - SafariHandleCmd49, + SafariHandleHidePartyStatusSummary, SafariHandleEndBounceEffect, SafariHandleSpriteInvisibility, SafariHandleBattleAnimation, @@ -645,7 +645,7 @@ static void SafariHandleDrawPartyStatusSummary(void) SafariBufferExecCompleted(); } -static void SafariHandleCmd49(void) +static void SafariHandleHidePartyStatusSummary(void) { SafariBufferExecCompleted(); } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 05c7b9e1f..5399ccbf0 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -90,7 +90,7 @@ static void WallyHandleFaintingCry(void); static void WallyHandleIntroSlide(void); static void WallyHandleIntroTrainerBallThrow(void); static void WallyHandleDrawPartyStatusSummary(void); -static void WallyHandleCmd49(void); +static void WallyHandleHidePartyStatusSummary(void); static void WallyHandleEndBounceEffect(void); static void WallyHandleSpriteInvisibility(void); static void WallyHandleBattleAnimation(void); @@ -159,7 +159,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = WallyHandleIntroSlide, WallyHandleIntroTrainerBallThrow, WallyHandleDrawPartyStatusSummary, - WallyHandleCmd49, + WallyHandleHidePartyStatusSummary, WallyHandleEndBounceEffect, WallyHandleSpriteInvisibility, WallyHandleBattleAnimation, @@ -1450,8 +1450,8 @@ static void WallyHandleIntroTrainerBallThrow(void) taskId = CreateTask(sub_816AC04, 5); gTasks[taskId].data[0] = gActiveBattler; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = sub_8073C30; + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; gBattleSpritesDataPtr->animationData->field_9_x1 = 1; gBattlerControllerFuncs[gActiveBattler] = nullsub_21; @@ -1511,13 +1511,13 @@ static void WallyHandleDrawPartyStatusSummary(void) } else { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x1 = 1; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleBufferA[gActiveBattler][4], gBattleBufferA[gActiveBattler][1], gBattleBufferA[gActiveBattler][2]); WallyBufferExecCompleted(); } } -static void WallyHandleCmd49(void) +static void WallyHandleHidePartyStatusSummary(void) { WallyBufferExecCompleted(); } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 1c60e22ef..4da941ab0 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1449,17 +1449,17 @@ void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* h sBattleBuffersTransferData[1] = arg2 & 0x7F; sBattleBuffersTransferData[2] = (arg2 & 0x80) >> 7; sBattleBuffersTransferData[3] = CONTROLLER_DRAWPARTYSTATUSSUMMARY; - for (i = 0; i < (s32)(sizeof(struct HpAndStatus) * 6); i++) + for (i = 0; i < (s32)(sizeof(struct HpAndStatus) * PARTY_SIZE); i++) sBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus)); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct HpAndStatus) * 6 + 4); + PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct HpAndStatus) * PARTY_SIZE + 4); } -void BtlController_EmitCmd49(u8 bufferId) +void BtlController_EmitHidePartyStatusSummary(u8 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_49; - sBattleBuffersTransferData[1] = CONTROLLER_49; - sBattleBuffersTransferData[2] = CONTROLLER_49; - sBattleBuffersTransferData[3] = CONTROLLER_49; + sBattleBuffersTransferData[0] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + sBattleBuffersTransferData[1] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + sBattleBuffersTransferData[2] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + sBattleBuffersTransferData[3] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } @@ -1511,10 +1511,10 @@ void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); } -void BtlController_EmitCmd55(u8 bufferId, u8 arg1) +void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome) { sBattleBuffersTransferData[0] = CONTROLLER_55; - sBattleBuffersTransferData[1] = arg1; + sBattleBuffersTransferData[1] = battleOutcome; sBattleBuffersTransferData[2] = gSaveBlock2Ptr->field_CA9_b; sBattleBuffersTransferData[3] = gSaveBlock2Ptr->field_CA9_b; sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = sub_81850DC(&sBattleBuffersTransferData[6]); diff --git a/src/battle_interface.c b/src/battle_interface.c index f5e031cb9..6a30ed487 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1695,7 +1695,7 @@ u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, return taskId; } -void sub_8073C30(u8 taskId) +void Task_HidePartyStatusSummary(u8 taskId) { u8 ballIconSpriteIds[PARTY_SIZE]; bool8 isBattleStart; @@ -1707,7 +1707,7 @@ void sub_8073C30(u8 taskId) summaryBarSpriteId = gTasks[taskId].tSummaryBarSpriteId; battlerId = gTasks[taskId].tBattler; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); SetGpuReg(REG_OFFSET_BLDCNT, 0x3F40); @@ -1755,12 +1755,12 @@ static void sub_8073E08(u8 taskId) { if ((gTasks[taskId].data[11]++ % 2) == 0) { - if (--gTasks[taskId].data[15] < 0) + if (--gTasks[taskId].tData15 < 0) return; SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[15]) | ((16 - gTasks[taskId].data[15]) << 8)); } - if (gTasks[taskId].data[15] == 0) + if (gTasks[taskId].tData15 == 0) gTasks[taskId].func = sub_8073E64; } @@ -1796,7 +1796,7 @@ static void sub_8073E64(u8 taskId) } else if (gTasks[taskId].tData15 == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].flag_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); @@ -1828,7 +1828,7 @@ static void sub_8073F98(u8 taskId) } else if (gTasks[taskId].tData15 == -3) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].flag_x1 = 0; + gBattleSpritesDataPtr->healthBoxesData[battlerId].partyStatusSummaryShown = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); DestroyTask(taskId); diff --git a/src/battle_main.c b/src/battle_main.c index 9afbc7f40..a0d812a94 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -82,15 +82,15 @@ extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; extern u8 gUnknown_0203CF00[]; -extern const u16 gBattleTextboxPalette[]; // battle textbox palette +extern const u16 gBattleTextboxPalette[]; extern const struct BgTemplate gBattleBgTemplates[]; -extern const struct WindowTemplate * const gBattleWindowTemplates[]; +extern const struct WindowTemplate *const gBattleWindowTemplates[]; extern const u8 gUnknown_0831ACE0[]; -extern const u8 * const gBattleScriptsForMoveEffects[]; -extern const u8 * const gBattlescriptsForBallThrow[]; -extern const u8 * const gBattlescriptsForRunningByItem[]; -extern const u8 * const gBattlescriptsForUsingItem[]; -extern const u8 * const gBattlescriptsForSafariActions[]; +extern const u8 *const gBattleScriptsForMoveEffects[]; +extern const u8 *const gBattlescriptsForBallThrow[]; +extern const u8 *const gBattlescriptsForRunningByItem[]; +extern const u8 *const gBattlescriptsForUsingItem[]; +extern const u8 *const gBattlescriptsForSafariActions[]; extern const struct ScanlineEffectParams gUnknown_0831AC70; // strings @@ -206,7 +206,7 @@ EWRAM_DATA u8 gBattlersCount = 0; EWRAM_DATA u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gBattlerPositions[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT] = {0}; -EWRAM_DATA u8 gBattleTurnOrder[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA u8 gBattlerByTurnOrder[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u8 gCurrentTurnActionNumber = 0; EWRAM_DATA u8 gCurrentActionFuncId = 0; EWRAM_DATA struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT] = {0}; @@ -3067,7 +3067,7 @@ static void BattleStartClearSetData(void) for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - *(gBattleStruct->AI_monToSwitchIntoId + i) = 6; + *(gBattleStruct->AI_monToSwitchIntoId + i) = PARTY_SIZE; } gBattleStruct->field_DF = 0; @@ -3079,7 +3079,7 @@ static void BattleStartClearSetData(void) for (i = 0; i < sizeof(struct BattleResults); i++) dataPtr[i] = 0; - gBattleResults.unk5_6 = IsMonShiny(&gEnemyParty[0]); + gBattleResults.shinyWildMon = IsMonShiny(&gEnemyParty[0]); gBattleStruct->field_2A0 = 0; gBattleStruct->field_2A1 = 0; @@ -3427,7 +3427,7 @@ static void BattleIntroDrawTrainersOrMonsSprites(void) static void BattleIntroDrawPartySummaryScreens(void) { s32 i; - struct HpAndStatus hpStatus[6]; + struct HpAndStatus hpStatus[PARTY_SIZE]; if (gBattleControllerExecFlags) return; @@ -3478,7 +3478,7 @@ static void BattleIntroDrawPartySummaryScreens(void) // wild battles don't show the party summary. // Still, there's no point in having dead code. - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_NONE || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG) @@ -3848,12 +3848,12 @@ static void TryDoEventsBeforeFirstTurn(void) if (gBattleStruct->switchInAbilitiesCounter == 0) { for (i = 0; i < gBattlersCount; i++) - gBattleTurnOrder[i] = i; + gBattlerByTurnOrder[i] = i; for (i = 0; i < gBattlersCount - 1; i++) { for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBattleTurnOrder[i], gBattleTurnOrder[j], TRUE) != 0) + if (GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], TRUE) != 0) SwapTurnOrder(i, j); } } @@ -3864,10 +3864,10 @@ static void TryDoEventsBeforeFirstTurn(void) gBattleStruct->overworldWeatherDone = TRUE; return; } - // check all switch in abilities happening from the fastest mon to slowest + // Check all switch in abilities happening from the fastest mon to slowest. while (gBattleStruct->switchInAbilitiesCounter < gBattlersCount) { - if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattleTurnOrder[gBattleStruct->switchInAbilitiesCounter], 0, 0, 0) != 0) + if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattlerByTurnOrder[gBattleStruct->switchInAbilitiesCounter], 0, 0, 0) != 0) effect++; gBattleStruct->switchInAbilitiesCounter++; @@ -3879,10 +3879,10 @@ static void TryDoEventsBeforeFirstTurn(void) return; if (AbilityBattleEffects(ABILITYEFFECT_TRACE, 0, 0, 0, 0) != 0) return; - // check all switch in items having effect from the fastest mon to slowest + // Check all switch in items having effect from the fastest mon to slowest. while (gBattleStruct->switchInItemsCounter < gBattlersCount) { - if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBattleTurnOrder[gBattleStruct->switchInItemsCounter], 0) != 0) + if (ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gBattlerByTurnOrder[gBattleStruct->switchInItemsCounter], 0) != 0) effect++; gBattleStruct->switchInItemsCounter++; @@ -3892,7 +3892,7 @@ static void TryDoEventsBeforeFirstTurn(void) } for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - *(gBattleStruct->monToSwitchIntoId + i) = 6; + *(gBattleStruct->monToSwitchIntoId + i) = PARTY_SIZE; gChosenActionByBattler[i] = B_ACTION_NONE; gChosenMoveByBattler[i] = MOVE_NONE; } @@ -3958,15 +3958,15 @@ void BattleTurnPassed(void) TurnValuesCleanUp(TRUE); if (gBattleOutcome == 0) { - if (UpdateTurnCounters() != 0) + if (UpdateTurnCounters()) return; - if (TurnBasedEffects() != 0) + if (TurnBasedEffects()) return; } - if (HandleFaintedMonActions() != 0) + if (HandleFaintedMonActions()) return; gBattleStruct->faintedActionsState = 0; - if (HandleWishPerishSongOnTurnEnd() != 0) + if (HandleWishPerishSongOnTurnEnd()) return; TurnValuesCleanUp(FALSE); @@ -4003,7 +4003,7 @@ void BattleTurnPassed(void) } for (i = 0; i < 4; i++) - *(gBattleStruct->monToSwitchIntoId + i) = 6; + *(gBattleStruct->monToSwitchIntoId + i) = PARTY_SIZE; *(&gBattleStruct->field_91) = gAbsentBattlerFlags; BattlePutTextOnWindow(gText_EmptyString3, 0); @@ -4141,11 +4141,11 @@ static void HandleTurnActionSelectionState(void) gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; break; case STATE_BEFORE_ACTION_CHOSEN: // choose an action - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI - || !(position & BIT_FLANK) + || (position & BIT_FLANK) == B_FLANK_LEFT || gBattleStruct->field_91 & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))] - || gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] == 5) + || gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] == STATE_WAIT_ACTION_CONFIRMED) { if (gBattleStruct->field_91 & gBitTable[gActiveBattler]) { @@ -4415,7 +4415,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SWITCH: - if (gBattleBufferB[gActiveBattler][1] == 6) + if (gBattleBufferB[gActiveBattler][1] == PARTY_SIZE) { gBattleCommunication[gActiveBattler] = 1; RecordedBattle_ClearBattlerAction(gActiveBattler, 1); @@ -4591,9 +4591,9 @@ void SwapTurnOrder(u8 id1, u8 id2) gActionsByTurnOrder[id1] = gActionsByTurnOrder[id2]; gActionsByTurnOrder[id2] = temp; - temp = gBattleTurnOrder[id1]; - gBattleTurnOrder[id1] = gBattleTurnOrder[id2]; - gBattleTurnOrder[id2] = temp; + temp = gBattlerByTurnOrder[id1]; + gBattlerByTurnOrder[id1] = gBattlerByTurnOrder[id2]; + gBattlerByTurnOrder[id2] = temp; } u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) @@ -4753,16 +4753,16 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) static void SetActionsAndBattlersTurnOrder(void) { - s32 var = 0; + s32 turnOrderId = 0; s32 i, j; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { - gActionsByTurnOrder[var] = gChosenActionByBattler[gActiveBattler]; - gBattleTurnOrder[var] = gActiveBattler; - var++; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[gActiveBattler]; + gBattlerByTurnOrder[turnOrderId] = gActiveBattler; + turnOrderId++; } } else @@ -4773,7 +4773,7 @@ static void SetActionsAndBattlersTurnOrder(void) { if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) { - var = 5; + turnOrderId = 5; break; } } @@ -4783,27 +4783,27 @@ static void SetActionsAndBattlersTurnOrder(void) if (gChosenActionByBattler[0] == B_ACTION_RUN) { gActiveBattler = 0; - var = 5; + turnOrderId = 5; } if (gChosenActionByBattler[2] == B_ACTION_RUN) { gActiveBattler = 2; - var = 5; + turnOrderId = 5; } } - if (var == 5) + if (turnOrderId == 5) // One of battlers wants to run. { gActionsByTurnOrder[0] = gChosenActionByBattler[gActiveBattler]; - gBattleTurnOrder[0] = gActiveBattler; - var = 1; + gBattlerByTurnOrder[0] = gActiveBattler; + turnOrderId = 1; for (i = 0; i < gBattlersCount; i++) { if (i != gActiveBattler) { - gActionsByTurnOrder[var] = gChosenActionByBattler[i]; - gBattleTurnOrder[var] = i; - var++; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[i]; + gBattlerByTurnOrder[turnOrderId] = i; + turnOrderId++; } } gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; @@ -4816,26 +4816,26 @@ static void SetActionsAndBattlersTurnOrder(void) { if (gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_ITEM || gChosenActionByBattler[gActiveBattler] == B_ACTION_SWITCH) { - gActionsByTurnOrder[var] = gChosenActionByBattler[gActiveBattler]; - gBattleTurnOrder[var] = gActiveBattler; - var++; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[gActiveBattler]; + gBattlerByTurnOrder[turnOrderId] = gActiveBattler; + turnOrderId++; } } for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) { if (gChosenActionByBattler[gActiveBattler] != B_ACTION_USE_ITEM && gChosenActionByBattler[gActiveBattler] != B_ACTION_SWITCH) { - gActionsByTurnOrder[var] = gChosenActionByBattler[gActiveBattler]; - gBattleTurnOrder[var] = gActiveBattler; - var++; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[gActiveBattler]; + gBattlerByTurnOrder[turnOrderId] = gActiveBattler; + turnOrderId++; } } for (i = 0; i < gBattlersCount - 1; i++) { for (j = i + 1; j < gBattlersCount; j++) { - u8 battler1 = gBattleTurnOrder[i]; - u8 battler2 = gBattleTurnOrder[j]; + u8 battler1 = gBattlerByTurnOrder[i]; + u8 battler2 = gBattlerByTurnOrder[j]; if (gActionsByTurnOrder[i] != B_ACTION_USE_ITEM && gActionsByTurnOrder[j] != B_ACTION_USE_ITEM && gActionsByTurnOrder[i] != B_ACTION_SWITCH @@ -4882,7 +4882,7 @@ static void TurnValuesCleanUp(bool8 var0) } if (gDisableStructs[gActiveBattler].substituteHP == 0) - gBattleMons[gActiveBattler].status2 &= ~(STATUS2_SUBSTITUTE); + gBattleMons[gActiveBattler].status2 &= ~(STATUS2_SUBSTITUTE); } gSideTimers[0].followmeTimer = 0; @@ -5136,7 +5136,7 @@ static void HandleEndTurn_FinishBattle(void) | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_WALLY_TUTORIAL)) - && gBattleResults.unk5_6) + && gBattleResults.shinyWildMon) { sub_80EE184(); } @@ -5268,7 +5268,7 @@ static void HandleAction_UseMove(void) u8 side; u8 var = 4; - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (*(&gBattleStruct->field_91) & gBitTable[gBattlerAttacker]) { @@ -5400,7 +5400,7 @@ static void HandleAction_UseMove(void) } else { - gActiveBattler = gBattleTurnOrder[var]; + gActiveBattler = gBattlerByTurnOrder[var]; RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); gSpecialStatuses[gActiveBattler].lightningRodRedirected = 1; gBattlerTarget = gActiveBattler; @@ -5482,7 +5482,7 @@ static void HandleAction_UseMove(void) static void HandleAction_Switch(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gActionSelectionCursor[gBattlerAttacker] = 0; @@ -5500,7 +5500,7 @@ static void HandleAction_Switch(void) static void HandleAction_UseItem(void) { - gBattlerAttacker = gBattlerTarget = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerTarget = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; ClearFuryCutterDestinyBondGrudge(gBattlerAttacker); @@ -5659,7 +5659,7 @@ bool8 TryRunFromBattle(u8 battler) static void HandleAction_Run(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) { @@ -5713,7 +5713,7 @@ static void HandleAction_Run(void) static void HandleAction_WatchesCarefully(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gBattlescriptCurrInstr = gBattlescriptsForSafariActions[0]; @@ -5722,7 +5722,7 @@ static void HandleAction_WatchesCarefully(void) static void HandleAction_SafariZoneBallThrow(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gNumSafariBalls--; @@ -5733,14 +5733,14 @@ static void HandleAction_SafariZoneBallThrow(void) static void HandleAction_ThrowPokeblock(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; gBattleCommunication[MULTISTRING_CHOOSER] = gBattleBufferB[gBattlerAttacker][1] - 1; gLastUsedItem = gBattleBufferB[gBattlerAttacker][2]; - if (gBattleResults.field_1F < 0xFF) - gBattleResults.field_1F++; + if (gBattleResults.pokeblockThrows < 0xFF) + gBattleResults.pokeblockThrows++; if (gBattleStruct->field_7A < 3) gBattleStruct->field_7A++; if (gBattleStruct->field_7B > 1) @@ -5757,7 +5757,7 @@ static void HandleAction_ThrowPokeblock(void) static void HandleAction_GoNear(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -5784,7 +5784,7 @@ static void HandleAction_GoNear(void) static void HandleAction_SafriZoneRun(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; PlaySE(SE_NIGERU); gCurrentTurnActionNumber = gBattlersCount; gBattleOutcome = B_OUTCOME_RAN; @@ -5792,7 +5792,7 @@ static void HandleAction_SafriZoneRun(void) static void HandleAction_WallyBallThrow(void) { - gBattlerAttacker = gBattleTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; @@ -5825,7 +5825,7 @@ static void HandleAction_NothingIsFainted(void) static void HandleAction_ActionFinished(void) { - *(gBattleStruct->monToSwitchIntoId + gBattleTurnOrder[gCurrentTurnActionNumber]) = 6; + *(gBattleStruct->monToSwitchIntoId + gBattlerByTurnOrder[gCurrentTurnActionNumber]) = 6; gCurrentTurnActionNumber++; gCurrentActionFuncId = gActionsByTurnOrder[gCurrentTurnActionNumber]; SpecialStatusesClear(); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c26e5ac11..fb77ab4c4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -188,7 +188,7 @@ static void atk5E(void); static void atk5F(void); static void atk60_incrementgamestat(void); static void atk61_drawpartystatussummary(void); -static void atk62(void); +static void atk62_hidepartystatussummary(void); static void atk63_jumptorandomattack(void); static void atk64_statusanimation(void); static void atk65_status2animation(void); @@ -440,7 +440,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk5F, atk60_incrementgamestat, atk61_drawpartystatussummary, - atk62, + atk62_hidepartystatussummary, atk63_jumptorandomattack, atk64_statusanimation, atk65_status2animation, @@ -989,11 +989,11 @@ static void atk00_attackcanceler(void) for (i = 0; i < gBattlersCount; i++) { - if ((gProtectStructs[gBattleTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) + if ((gProtectStructs[gBattlerByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) { - PressurePPLose(gBattlerAttacker, gBattleTurnOrder[i], MOVE_SNATCH); - gProtectStructs[gBattleTurnOrder[i]].stealMove = 0; - gBattleScripting.battler = gBattleTurnOrder[i]; + PressurePPLose(gBattlerAttacker, gBattlerByTurnOrder[i], MOVE_SNATCH); + gProtectStructs[gBattlerByTurnOrder[i]].stealMove = 0; + gBattleScripting.battler = gBattlerByTurnOrder[i]; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SnatchedMove; return; @@ -2216,7 +2216,7 @@ u8 GetBattlerTurnOrderNum(u8 battlerId) s32 i; for (i = 0; i < gBattlersCount; i++) { - if (gBattleTurnOrder[i] == battlerId) + if (gBattlerByTurnOrder[i] == battlerId) break; } return i; @@ -5556,7 +5556,7 @@ static void atk52_switchineffects(void) for (i = 0; i < gBattlersCount; i++) { - if (gBattleTurnOrder[i] == gActiveBattler) + if (gBattlerByTurnOrder[i] == gActiveBattler) gActionsByTurnOrder[i] = B_ACTION_CANCEL_PARTNER; } @@ -6021,10 +6021,10 @@ static void atk61_drawpartystatussummary(void) gBattlescriptCurrInstr += 2; } -static void atk62(void) +static void atk62_hidepartystatussummary(void) { gActiveBattler = GetBattlerForBattleScript(gBattlescriptCurrInstr[1]); - BtlController_EmitCmd49(0); + BtlController_EmitHidePartyStatusSummary(0); MarkBattlerForControllerExec(gActiveBattler); gBattlescriptCurrInstr += 2; @@ -8957,7 +8957,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void) for (i = 0; i < gBattlersCount; i++) { - if (gBattleTurnOrder[i] == gBattlerTarget) + if (gBattlerByTurnOrder[i] == gBattlerTarget) gActionsByTurnOrder[i] = 11; } diff --git a/src/battle_util.c b/src/battle_util.c index 172ec6659..b9a7f546a 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -511,14 +511,14 @@ u8 UpdateTurnCounters(void) case 0: for (i = 0; i < gBattlersCount; i++) { - gBattleTurnOrder[i] = i; + gBattlerByTurnOrder[i] = i; } for (i = 0; i < gBattlersCount - 1; i++) { s32 j; for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBattleTurnOrder[i], gBattleTurnOrder[j], 0)) + if (GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], 0)) SwapTurnOrder(i, j); } } @@ -632,7 +632,7 @@ u8 UpdateTurnCounters(void) case 5: while (gBattleStruct->turnSideTracker < gBattlersCount) { - gActiveBattler = gBattleTurnOrder[gBattleStruct->turnSideTracker]; + gActiveBattler = gBattlerByTurnOrder[gBattleStruct->turnSideTracker]; if (gWishFutureKnock.wishCounter[gActiveBattler] != 0 && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 && gBattleMons[gActiveBattler].hp != 0) @@ -755,7 +755,7 @@ u8 TurnBasedEffects(void) gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_x20); while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= TURNBASED_MAX_CASE) { - gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->turnEffectsBattlerId]; + gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->turnEffectsBattlerId++; @@ -1121,7 +1121,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 1: while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBattler = gBattlerAttacker = gBattleTurnOrder[gBattleStruct->wishPerishSongBattlerId]; + gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->wishPerishSongBattlerId]; if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) { gBattleStruct->wishPerishSongBattlerId++; diff --git a/src/safari_zone.c b/src/safari_zone.c index ab5c38f3a..c0c098b38 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -42,7 +42,7 @@ extern void PlayerGetDestCoords(s16* x, s16* y); EWRAM_DATA u8 gNumSafariBalls = 0; EWRAM_DATA static u16 sSafariZoneStepCounter = 0; EWRAM_DATA static u8 sSafariZoneCaughtMons = 0; -EWRAM_DATA static u8 sSafariZoneFleedMons = 0; +EWRAM_DATA static u8 sSafariZonePkblkUses = 0; EWRAM_DATA static struct PokeblockFeeder sPokeblockFeeders[NUM_POKEBLOCK_FEEDERS] = {0}; static void ClearAllPokeblockFeeders(void); @@ -71,12 +71,12 @@ void EnterSafariMode(void) gNumSafariBalls = 30; sSafariZoneStepCounter = 500; sSafariZoneCaughtMons = 0; - sSafariZoneFleedMons = 0; + sSafariZonePkblkUses = 0; } void ExitSafariMode(void) { - sub_80EE44C(sSafariZoneCaughtMons, sSafariZoneFleedMons); + sub_80EE44C(sSafariZoneCaughtMons, sSafariZonePkblkUses); ResetSafariZoneFlag(); ClearAllPokeblockFeeders(); gNumSafariBalls = 0; @@ -107,7 +107,7 @@ void SafariZoneRetirePrompt(void) void CB2_EndSafariBattle(void) { - sSafariZoneFleedMons += gBattleResults.field_1F; + sSafariZonePkblkUses += gBattleResults.pokeblockThrows; if (gBattleOutcome == B_OUTCOME_CAUGHT) sSafariZoneCaughtMons++; if (gNumSafariBalls != 0) @@ -172,7 +172,7 @@ void GetPokeblockFeederWithinRange(void) { if (gSaveBlock1Ptr->location.mapNum == sPokeblockFeeders[i].mapNum) { - //Get absolute value of x and y distance from Pokeblock feeder on current map + // Get absolute value of x and y distance from Pokeblock feeder on current map. x -= sPokeblockFeeders[i].x; y -= sPokeblockFeeders[i].y; if (x < 0) -- cgit v1.2.3 From 30c85a5128b2b68049ce7b62d8beb64adad26b64 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Jun 2018 14:12:17 +0200 Subject: more battle documentation --- src/battle_main.c | 1 + src/battle_message.c | 51 ++++++++++++++++++++++---------------------- src/battle_script_commands.c | 39 +++++++++++++++++---------------- 3 files changed, 46 insertions(+), 45 deletions(-) (limited to 'src') diff --git a/src/battle_main.c b/src/battle_main.c index a0d812a94..a846f5769 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -561,6 +561,7 @@ static const u8 sUnknown_0831BCE0[][3] = {{0, 0, 0}, {3, 5, 0}, {2, 3, 0}, {1, 2 static const u8 sUnknown_0831BCEF[] = {4, 3, 2, 1}; static const u8 sUnknown_0831BCF3[] = {4, 4, 4, 4}; +// code void CB2_InitBattle(void) { MoveSaveBlocks_ResetHeap(); diff --git a/src/battle_message.c b/src/battle_message.c index 896b2197e..41b36ae13 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -45,7 +45,6 @@ extern const u8 gText_PkmnBoxLanettesPCFull[]; extern const u8 gText_PkmnTransferredSomeonesPC[]; extern const u8 gText_PkmnTransferredLanettesPC[]; -extern u16 sub_8068BB0(void); // pokemon_1 extern u8 sub_81A4D00(void); // battle_frontier_2 extern u8 GetFrontierOpponentClass(u16 trainerId); // battle_tower extern u8 sub_81D5530(u16 trainerId); // pokenav @@ -58,8 +57,8 @@ extern void sub_81D572C(u8 arg0, u16 trainerId); // pokenav extern void GetFrontierTrainerName(u8 *dst, u16 trainerId); // this file's functions -static void sub_814F8F8(u8 *textPtr); -static void sub_814F950(u8 *dst); +static void ChooseMoveUsedParticle(u8 *textPtr); +static void ChooseTypeOfMoveUsedString(u8 *dst); static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); // ewram variables @@ -1322,8 +1321,8 @@ static const u8 sText_LinkTrainerWantsToBattlePause[] = _("{B_20}\nwants to batt static const u8 sText_TwoLinkTrainersWantToBattlePause[] = _("{B_20} and {B_21}\nwant to battle!{PAUSE 49}"); // This is four lists of moves which use a different attack string in Japanese -// to the default. See the documentation for sub_814F950 for more detail. -static const u16 sUnknownMoveTable[] = +// to the default. See the documentation for ChooseTypeOfMoveUsedString for more detail. +static const u16 sGrammarMoveUsedTable[] = { MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_GROWTH, MOVE_HARDEN, MOVE_MINIMIZE, MOVE_SMOKESCREEN, @@ -2142,14 +2141,14 @@ void BufferStringBattle(u16 stringID) } break; case STRINGID_USEDMOVE: // pokemon used a move msg - sub_814F8F8(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names? + ChooseMoveUsedParticle(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names if (gStringInfo->currentMove > LAST_MOVE_INDEX) StringCopy(gBattleTextBuff2, sATypeMove_Table[*(&gBattleStruct->stringMoveType)]); else StringCopy(gBattleTextBuff2, gMoveNames[gStringInfo->currentMove]); - sub_814F950(gBattleTextBuff2); + ChooseTypeOfMoveUsedString(gBattleTextBuff2); stringPtr = sText_AttackerUsedX; break; case STRINGID_BATTLEEND: // battle end @@ -2740,10 +2739,6 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) return dstID; } -// TODO: move these to a general header like util.h -#define ByteRead16(ptr) ((ptr)[0] | ((ptr)[1] << 8)) -#define ByteRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24) - static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) { u32 srcID = 1; @@ -2757,7 +2752,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) switch (src[srcID]) { case B_BUFF_STRING: // battle string - hword = ByteRead16(&src[srcID + 1]); + hword = T1_READ_16(&src[srcID + 1]); StringAppend(dst, gBattleStringsTable[hword - BATTLESTRINGS_ID_ADDER]); srcID += 3; break; @@ -2768,17 +2763,17 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) value = src[srcID + 3]; break; case 2: - value = ByteRead16(&src[srcID + 3]); + value = T1_READ_16(&src[srcID + 3]); break; case 4: - value = ByteRead32(&src[srcID + 3]); + value = T1_READ_32(&src[srcID + 3]); break; } ConvertIntToDecimalStringN(dst, value, 0, src[srcID + 2]); srcID += src[srcID + 1] + 3; break; case B_BUFF_MOVE: // move name - StringAppend(dst, gMoveNames[ByteRead16(&src[srcID + 1])]); + StringAppend(dst, gMoveNames[T1_READ_16(&src[srcID + 1])]); srcID += 3; break; case B_BUFF_TYPE: // type name @@ -2808,7 +2803,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 2; break; case B_BUFF_SPECIES: // species name - GetSpeciesName(dst, ByteRead16(&src[srcID + 1])); + GetSpeciesName(dst, T1_READ_16(&src[srcID + 1])); srcID += 3; break; case B_BUFF_MON_NICK: // poke nick without prefix @@ -2828,7 +2823,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 2; break; case B_BUFF_ITEM: // item name - hword = ByteRead16(&src[srcID + 1]); + hword = T1_READ_16(&src[srcID + 1]); if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) { if (hword == ITEM_ENIGMA_BERRY) @@ -2839,13 +2834,19 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) StringAppend(dst, sText_BerrySuffix); } else + { StringAppend(dst, sText_EnigmaBerry); + } } else + { CopyItemName(hword, dst); + } } else + { CopyItemName(hword, dst); + } srcID += 3; break; } @@ -2854,18 +2855,18 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) // Loads one of two text strings into the provided buffer. This is functionally // unused, since the value loaded into the buffer is not read; it loaded one of -// two particles (either "は" or "の") which works in tandem with sub_814F950 +// two particles (either "は" or "の") which works in tandem with ChooseTypeOfMoveUsedString // below to effect changes in the meaning of the line. -static void sub_814F8F8(u8* textBuff) +static void ChooseMoveUsedParticle(u8* textBuff) { s32 counter = 0; u32 i = 0; while (counter != 4) { - if (sUnknownMoveTable[i] == 0) + if (sGrammarMoveUsedTable[i] == 0) counter++; - if (sUnknownMoveTable[i++] == gStringInfo->currentMove) + if (sGrammarMoveUsedTable[i++] == gStringInfo->currentMove) break; } @@ -2879,7 +2880,7 @@ static void sub_814F8F8(u8* textBuff) } // Appends "!" to the text buffer `dst`. In the original Japanese this looked -// into the table of moves at sUnknownMoveTable and varied the line accordingly. +// into the table of moves at sGrammarMoveUsedTable and varied the line accordingly. // // sText_ExclamationMark was a plain "!", used for any attack not on the list. // It resulted in the translation "'s !". @@ -2896,7 +2897,7 @@ static void sub_814F8F8(u8* textBuff) // // sText_ExclamationMark5 was " こうげき!" This resulted in a translation of // "'s attack!". -static void sub_814F950(u8* dst) +static void ChooseTypeOfMoveUsedString(u8* dst) { s32 counter = 0; s32 i = 0; @@ -2906,9 +2907,9 @@ static void sub_814F950(u8* dst) while (counter != 4) { - if (sUnknownMoveTable[i] == MOVE_NONE) + if (sGrammarMoveUsedTable[i] == MOVE_NONE) counter++; - if (sUnknownMoveTable[i++] == gStringInfo->currentMove) + if (sGrammarMoveUsedTable[i++] == gStringInfo->currentMove) break; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index fb77ab4c4..ecba9f934 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -67,7 +67,6 @@ extern bool8 sub_81B1250(void); // ? extern bool8 InBattlePike(void); extern bool8 InBattlePyramid(void); extern u16 GetBattlePyramidPickupItemId(void); -extern u8 Overworld_GetMapTypeOfSaveblockLocation(void); extern u8 sub_813B21C(void); extern u16 get_unknown_box_id(void); @@ -185,7 +184,7 @@ static void atk5B_yesnoboxstoplearningmove(void); static void atk5C_hitanimation(void); static void atk5D_getmoneyreward(void); static void atk5E(void); -static void atk5F(void); +static void atk5F_swapattackerwithtarget(void); static void atk60_incrementgamestat(void); static void atk61_drawpartystatussummary(void); static void atk62_hidepartystatussummary(void); @@ -327,7 +326,7 @@ static void atkE9_setweatherballtype(void); static void atkEA_tryrecycleitem(void); static void atkEB_settypetoterrain(void); static void atkEC_pursuitrelated(void); -static void atkEF_snatchsetbanks(void); +static void atkEF_snatchsetbattlers(void); static void atkEE_removelightscreenreflect(void); static void atkEF_handleballthrow(void); static void atkF0_givecaughtmon(void); @@ -437,7 +436,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atk5C_hitanimation, atk5D_getmoneyreward, atk5E, - atk5F, + atk5F_swapattackerwithtarget, atk60_incrementgamestat, atk61_drawpartystatussummary, atk62_hidepartystatussummary, @@ -579,7 +578,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = atkEA_tryrecycleitem, atkEB_settypetoterrain, atkEC_pursuitrelated, - atkEF_snatchsetbanks, + atkEF_snatchsetbattlers, atkEE_removelightscreenreflect, atkEF_handleballthrow, atkF0_givecaughtmon, @@ -1172,7 +1171,7 @@ static void atk01_accuracycheck(void) calc = (calc * 130) / 100; // 1.3 compound eyes boost if (WEATHER_HAS_EFFECT && gBattleMons[gBattlerTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY) calc = (calc * 80) / 100; // 1.2 sand veil loss - if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && type < 9) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && IS_MOVE_PHYSICAL(type)) calc = (calc * 80) / 100; // 1.2 hustle loss if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) @@ -4676,12 +4675,12 @@ static void atk49_moveend(void) gBattleScripting.atk49_state++; break; case 14: // This case looks interesting, although I am not certain what it does. Probably fine tunes edge cases. - if (gHitMarker & HITMARKER_PURSUIT_TRAP) + if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET) { gActiveBattler = gBattlerAttacker; gBattlerAttacker = gBattlerTarget; gBattlerTarget = gActiveBattler; - gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); + gHitMarker &= ~(HITMARKER_SWAP_ATTACKER_TARGET); } if (gHitMarker & HITMARKER_ATTACKSTRING_PRINTED) { @@ -5950,7 +5949,7 @@ static void atk5E(void) if (gBattleControllerExecFlags == 0) { s32 i; - struct BattlePokemon* bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; + struct BattlePokemon *bufferPoke = (struct BattlePokemon*) &gBattleBufferB[gActiveBattler][4]; for (i = 0; i < 4; i++) { gBattleMons[gActiveBattler].moves[i] = bufferPoke->moves[i]; @@ -5962,16 +5961,16 @@ static void atk5E(void) } } -static void atk5F(void) +static void atk5F_swapattackerwithtarget(void) { gActiveBattler = gBattlerAttacker; gBattlerAttacker = gBattlerTarget; gBattlerTarget = gActiveBattler; - if (gHitMarker & HITMARKER_PURSUIT_TRAP) - gHitMarker &= ~(HITMARKER_PURSUIT_TRAP); + if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET) + gHitMarker &= ~(HITMARKER_SWAP_ATTACKER_TARGET); else - gHitMarker |= HITMARKER_PURSUIT_TRAP; + gHitMarker |= HITMARKER_SWAP_ATTACKER_TARGET; gBattlescriptCurrInstr++; } @@ -5987,8 +5986,8 @@ static void atk60_incrementgamestat(void) static void atk61_drawpartystatussummary(void) { s32 i; - struct Pokemon* party; - struct HpAndStatus hpStatuses[6]; + struct Pokemon *party; + struct HpAndStatus hpStatuses[PARTY_SIZE]; if (gBattleControllerExecFlags) return; @@ -6000,7 +5999,7 @@ static void atk61_drawpartystatussummary(void) else party = gEnemyParty; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_NONE || GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_EGG) @@ -8595,7 +8594,7 @@ static void atkAE_healpartystatus(void) if (gCurrentMove == MOVE_HEAL_BELL) { - struct Pokemon* party; + struct Pokemon *party; s32 i; gBattleCommunication[MULTISTRING_CHOOSER] = 0; @@ -8633,7 +8632,7 @@ static void atkAE_healpartystatus(void) } } - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES2); u8 abilityBit = GetMonData(&party[i], MON_DATA_ALT_ABILITY); @@ -10053,7 +10052,7 @@ static void atkEC_pursuitrelated(void) } } -static void atkEF_snatchsetbanks(void) +static void atkEF_snatchsetbattlers(void) { gEffectBattler = gBattlerAttacker; @@ -10131,7 +10130,7 @@ static void atkEF_handleballthrow(void) ballMultiplier = 10; break; case ITEM_DIVE_BALL: - if (Overworld_GetMapTypeOfSaveblockLocation() == 5) + if (Overworld_GetMapTypeOfSaveblockLocation() == MAP_TYPE_UNDERWATER) ballMultiplier = 35; else ballMultiplier = 10; -- cgit v1.2.3 From 5434db2fc6f4e7ebd8cb6bc76115d5c3b6b5807e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Jun 2018 14:22:09 +0200 Subject: use region map constants --- src/battle_tent.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle_tent.c b/src/battle_tent.c index 85640e8e5..64eba1658 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -9,6 +9,7 @@ #include "random.h" #include "item.h" #include "constants/items.h" +#include "constants/region_map_sections.h" // this file's functions void sub_81B99D4(void); @@ -262,6 +263,6 @@ void sub_81B9E88(void) bool8 sub_81B9E94(void) { - return (gMapHeader.regionMapSectionId == 8 + return (gMapHeader.regionMapSectionId == MAPSEC_SLATEPORT_CITY && ((gMapHeader.mapDataId == 385) | (gMapHeader.mapDataId == 386))); } -- cgit v1.2.3 From cdacc2771426a8e4ec5ccc5d7ba0d8d7c4224c36 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Jun 2018 14:26:33 +0200 Subject: change for loop in fldeff_cut --- src/fldeff_cut.c | 7 ++++--- src/fldeff_strength.c | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index bdc9b7868..c2f5e7731 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -352,10 +352,11 @@ static void StartCutGrassFieldEffect(void) bool8 FldEff_CutGrass(void) { s16 x, y; - u8 tileBehavior; - u8 i; + u8 i = 0; - for (i = 0, PlaySE(SE_W015), PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); i < CUT_HYPER_AREA; i++) + PlaySE(SE_W015); + PlayerGetDestCoords(&gPlayerFacingPosition.x, &gPlayerFacingPosition.y); + for (i = 0; i < CUT_HYPER_AREA; i++) { if (sHyperCutTiles[i] == TRUE) { diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index fb5aa5e95..ae7b557d8 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -6,6 +6,7 @@ #include "rom6.h" #include "script.h" #include "task.h" +#include "constants/event_objects.h" // static functions static void FldEff_UseStrength(void); -- cgit v1.2.3 From 97712ec931febe390861f2234e26a66f15c9c295 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Jun 2018 14:52:13 +0200 Subject: change mapDataId to mapLayoutId --- src/battle_tent.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/battle_tent.c b/src/battle_tent.c index 64eba1658..68d7c5e83 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -264,5 +264,5 @@ void sub_81B9E88(void) bool8 sub_81B9E94(void) { return (gMapHeader.regionMapSectionId == MAPSEC_SLATEPORT_CITY - && ((gMapHeader.mapDataId == 385) | (gMapHeader.mapDataId == 386))); + && ((gMapHeader.mapLayoutId == 385) | (gMapHeader.mapLayoutId == 386))); } -- cgit v1.2.3 From bfc64c9689d4518c64ba15cd7d52b9a6149fd218 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Jun 2018 15:35:54 +0200 Subject: C vars sym ewram --- src/battle_main.c | 4 ++++ src/battle_message.c | 58 ++++++++++++++++++++++++--------------------------- src/battle_setup.c | 28 ++++++++++++------------- src/battle_tv.c | 10 ++++----- src/braille_puzzles.c | 14 ++++++------- src/hall_of_fame.c | 18 ++++++++-------- 6 files changed, 65 insertions(+), 67 deletions(-) (limited to 'src') diff --git a/src/battle_main.c b/src/battle_main.c index a846f5769..487e11993 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -190,6 +190,10 @@ static void HandleAction_NothingIsFainted(void); static void HandleAction_ActionFinished(void); // EWRAM vars +EWRAM_DATA u8 gDisplayedStringBattle[300] = {0}; +EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0}; +EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0}; +EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0}; EWRAM_DATA static u32 sUnusedUnknownArray[25] = {0}; EWRAM_DATA u32 gBattleTypeFlags = 0; EWRAM_DATA u8 gBattleTerrain = 0; diff --git a/src/battle_message.c b/src/battle_message.c index 41b36ae13..9dcd4aaf1 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -31,9 +31,7 @@ struct BattleWindowText u8 shadowColor; }; -extern u8 gBattlerAbilities[MAX_BATTLERS_COUNT]; extern u8 gUnknown_0203C7B4; -extern struct StringInfoBattle *gStringInfo; extern const u8 gMoveNames[LAST_MOVE_INDEX + 1][13]; extern const u8 gTrainerClassNames[][13]; @@ -61,11 +59,9 @@ static void ChooseMoveUsedParticle(u8 *textPtr); static void ChooseTypeOfMoveUsedString(u8 *dst); static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); -// ewram variables -EWRAM_DATA u8 gDisplayedStringBattle[300] = {0}; -EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0}; -EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0}; -EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0}; +// EWRAM vars +static EWRAM_DATA u8 sBattlerAbilities[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA struct BattleMsgData *gBattleMsgDataPtr = NULL; // const rom data // todo: make some of those names less vague: attacker/target vs pkmn, etc. @@ -1949,24 +1945,24 @@ void BufferStringBattle(u16 stringID) s32 i; const u8 *stringPtr = NULL; - gStringInfo = (struct StringInfoBattle*)(&gBattleBufferA[gActiveBattler][4]); - gLastUsedItem = gStringInfo->lastItem; - gLastUsedAbility = gStringInfo->lastAbility; - gBattleScripting.battler = gStringInfo->scrActive; - *(&gBattleStruct->field_52) = gStringInfo->unk1605E; - *(&gBattleStruct->hpScale) = gStringInfo->hpScale; - gPotentialItemEffectBattler = gStringInfo->StringBank; - *(&gBattleStruct->stringMoveType) = gStringInfo->moveType; + gBattleMsgDataPtr = (struct BattleMsgData*)(&gBattleBufferA[gActiveBattler][4]); + gLastUsedItem = gBattleMsgDataPtr->lastItem; + gLastUsedAbility = gBattleMsgDataPtr->lastAbility; + gBattleScripting.battler = gBattleMsgDataPtr->scrActive; + *(&gBattleStruct->field_52) = gBattleMsgDataPtr->unk1605E; + *(&gBattleStruct->hpScale) = gBattleMsgDataPtr->hpScale; + gPotentialItemEffectBattler = gBattleMsgDataPtr->itemEffectBattler; + *(&gBattleStruct->stringMoveType) = gBattleMsgDataPtr->moveType; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - gBattlerAbilities[i] = gStringInfo->abilities[i]; + sBattlerAbilities[i] = gBattleMsgDataPtr->abilities[i]; } for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; i++) { - gBattleTextBuff1[i] = gStringInfo->textBuffs[0][i]; - gBattleTextBuff2[i] = gStringInfo->textBuffs[1][i]; - gBattleTextBuff3[i] = gStringInfo->textBuffs[2][i]; + gBattleTextBuff1[i] = gBattleMsgDataPtr->textBuffs[0][i]; + gBattleTextBuff2[i] = gBattleMsgDataPtr->textBuffs[1][i]; + gBattleTextBuff3[i] = gBattleMsgDataPtr->textBuffs[2][i]; } switch (stringID) @@ -2143,10 +2139,10 @@ void BufferStringBattle(u16 stringID) case STRINGID_USEDMOVE: // pokemon used a move msg ChooseMoveUsedParticle(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names - if (gStringInfo->currentMove > LAST_MOVE_INDEX) + if (gBattleMsgDataPtr->currentMove > LAST_MOVE_INDEX) StringCopy(gBattleTextBuff2, sATypeMove_Table[*(&gBattleStruct->stringMoveType)]); else - StringCopy(gBattleTextBuff2, gMoveNames[gStringInfo->currentMove]); + StringCopy(gBattleTextBuff2, gMoveNames[gBattleMsgDataPtr->currentMove]); ChooseTypeOfMoveUsedString(gBattleTextBuff2); stringPtr = sText_AttackerUsedX; @@ -2431,16 +2427,16 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler]) break; case B_TXT_CURRENT_MOVE: // current move name - if (gStringInfo->currentMove > LAST_MOVE_INDEX) + if (gBattleMsgDataPtr->currentMove > LAST_MOVE_INDEX) toCpy = sATypeMove_Table[gBattleStruct->stringMoveType]; else - toCpy = gMoveNames[gStringInfo->currentMove]; + toCpy = gMoveNames[gBattleMsgDataPtr->currentMove]; break; case B_TXT_LAST_MOVE: // originally used move name - if (gStringInfo->originallyUsedMove > LAST_MOVE_INDEX) + if (gBattleMsgDataPtr->originallyUsedMove > LAST_MOVE_INDEX) toCpy = sATypeMove_Table[gBattleStruct->stringMoveType]; else - toCpy = gMoveNames[gStringInfo->originallyUsedMove]; + toCpy = gMoveNames[gBattleMsgDataPtr->originallyUsedMove]; break; case B_TXT_LAST_ITEM: // last used item if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) @@ -2489,16 +2485,16 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gAbilityNames[gLastUsedAbility]; break; case B_TXT_ATK_ABILITY: // attacker ability - toCpy = gAbilityNames[gBattlerAbilities[gBattlerAttacker]]; + toCpy = gAbilityNames[sBattlerAbilities[gBattlerAttacker]]; break; case B_TXT_DEF_ABILITY: // target ability - toCpy = gAbilityNames[gBattlerAbilities[gBattlerTarget]]; + toCpy = gAbilityNames[sBattlerAbilities[gBattlerTarget]]; break; case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability - toCpy = gAbilityNames[gBattlerAbilities[gBattleScripting.battler]]; + toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]]; break; case B_TXT_EFF_ABILITY: // effect battlerId ability - toCpy = gAbilityNames[gBattlerAbilities[gEffectBattler]]; + toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]]; break; case B_TXT_TRAINER1_CLASS: // trainer class name if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE) @@ -2866,7 +2862,7 @@ static void ChooseMoveUsedParticle(u8* textBuff) { if (sGrammarMoveUsedTable[i] == 0) counter++; - if (sGrammarMoveUsedTable[i++] == gStringInfo->currentMove) + if (sGrammarMoveUsedTable[i++] == gBattleMsgDataPtr->currentMove) break; } @@ -2909,7 +2905,7 @@ static void ChooseTypeOfMoveUsedString(u8* dst) { if (sGrammarMoveUsedTable[i] == MOVE_NONE) counter++; - if (sGrammarMoveUsedTable[i++] == gStringInfo->currentMove) + if (sGrammarMoveUsedTable[i++] == gBattleMsgDataPtr->currentMove) break; } diff --git a/src/battle_setup.c b/src/battle_setup.c index ccc36b7c2..b11083929 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -1088,14 +1088,14 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) switch (sTrainerBattleMode) { - case 3: + case TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT: TrainerBattleLoadArgs(sOrdinaryNoIntroBattleParams, data); return EventScript_2713C2; - case 4: + case TRAINER_BATTLE_DOUBLE: TrainerBattleLoadArgs(sDoubleBattleParams, data); SetMapVarsToTrainer(); return EventScript_TryDoDoubleTrainerBattle; - case 2: + case TRAINER_BATTLE_CONTINUE_SCRIPT: if (gApproachingTrainerId == 0) { TrainerBattleLoadArgs(sContinueScriptBattleParams, data); @@ -1106,26 +1106,26 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) TrainerBattleLoadArgs(sTrainerBContinueScriptBattleParams, data); } return EventScript_271362; - case 1: + case TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC: TrainerBattleLoadArgs(sContinueScriptBattleParams, data); SetMapVarsToTrainer(); return EventScript_271362; - case 6: - case 8: + case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE: + case TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC: TrainerBattleLoadArgs(sContinueScriptDoubleBattleParams, data); SetMapVarsToTrainer(); return EventScript_TryDoDoubleTrainerBattle; - case 7: + case TRAINER_BATTLE_REMATCH_DOUBLE: TrainerBattleLoadArgs(sDoubleBattleParams, data); SetMapVarsToTrainer(); gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A); return EventScript_TryDoDoubleRematchBattle; - case 5: + case TRAINER_BATTLE_REMATCH: TrainerBattleLoadArgs(sOrdinaryBattleParams, data); SetMapVarsToTrainer(); gTrainerBattleOpponent_A = GetRematchTrainerId(gTrainerBattleOpponent_A); return EventScript_2713D1; - case 9: + case TRAINER_BATTLE_9: if (gApproachingTrainerId == 0) { TrainerBattleLoadArgs(sOrdinaryBattleParams, data); @@ -1138,13 +1138,13 @@ const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data) gTrainerBattleOpponent_B = sub_81A9AA8(gSpecialVar_LastTalked); } return EventScript_271362; - case 10: + case TRAINER_BATTLE_SET_TRAINER_A: TrainerBattleLoadArgs(sOrdinaryBattleParams, data); return NULL; - case 11: + case TRAINER_BATTLE_SET_TRAINER_B: TrainerBattleLoadArgs(sTrainerBOrdinaryBattleParams, data); return NULL; - case 12: + case TRAINER_BATTLE_12: if (gApproachingTrainerId == 0) { TrainerBattleLoadArgs(sOrdinaryBattleParams, data); @@ -1591,11 +1591,11 @@ static bool32 UpdateRandomTrainerRematches(const struct RematchTrainer *table, u { if (gSaveBlock1Ptr->trainerRematches[i] != 0) { - // Trainer already wants a rematch. Don't bother updating it + // Trainer already wants a rematch. Don't bother updating it. ret = TRUE; } else if (FlagGet(FLAG_MATCH_CALL_REGISTERED + i) - && (Random() % 100) <= 30) // 31% chance of getting a rematch + && (Random() % 100) <= 30) // 31% chance of getting a rematch. { SetRematchIdForTrainer(table, i); ret = TRUE; diff --git a/src/battle_tv.c b/src/battle_tv.c index e5d97be30..cd0490a1b 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -9,8 +9,6 @@ #include "battle_message.h" #include "tv.h" -extern struct StringInfoBattle *gStringInfo; - // this file's functions static bool8 sub_817E0B8(u16 stringId); static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3); @@ -223,7 +221,7 @@ void BattleTv_SetDataBasedOnString(u16 stringId) atkSide = GetBattlerSide(gBattlerAttacker); defSide = GetBattlerSide(gBattlerTarget); effSide = GetBattlerSide(gEffectBattler); - scriptingSide = GetBattlerSide(gStringInfo->scrActive); + scriptingSide = GetBattlerSide(gBattleMsgDataPtr->scrActive); if (atkSide == B_SIDE_PLAYER) atkMon = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; @@ -235,7 +233,7 @@ void BattleTv_SetDataBasedOnString(u16 stringId) else defMon = &gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]]; - moveSlot = GetBattlerMoveSlotId(gBattlerAttacker, gStringInfo->currentMove); + moveSlot = GetBattlerMoveSlotId(gBattlerAttacker, gBattleMsgDataPtr->currentMove); if (moveSlot >= 4 && sub_817E0B8(stringId) && stringId > BATTLESTRINGS_ID_ADDER) { @@ -480,8 +478,8 @@ void BattleTv_SetDataBasedOnString(u16 stringId) break; case STRINGID_PKMNFASTASLEEP: if (tvPtr->mon[atkSide][gBattlerPartyIndexes[gBattlerAttacker]].slpMonId != 0 - && gStringInfo->currentMove != MOVE_SNORE - && gStringInfo->currentMove != MOVE_SLEEP_TALK) + && gBattleMsgDataPtr->currentMove != MOVE_SNORE + && gBattleMsgDataPtr->currentMove != MOVE_SLEEP_TALK) AddMovePoints(9, 3, tvPtr->mon[atkSide][gBattlerPartyIndexes[gBattlerAttacker]].slpMonId - 1, tvPtr->mon[atkSide][gBattlerPartyIndexes[gBattlerAttacker]].slpMoveSlot); break; case STRINGID_PKMNWASFROZEN: diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 35277fe87..91fcf8c46 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -14,7 +14,6 @@ extern void SetCameraPanningCallback(void ( *callback)()); // field_camera extern void InstallCameraPanAheadCallback(void); extern void SetCameraPanning(s16 x, s16 y); extern u8 GetCursorSelectionMonId(void); -extern void FieldEffectActiveListRemove(u8 id); // field_effect extern u8 oei_task_add(void); // why do this, GF? @@ -24,7 +23,8 @@ enum FLY_PUZZLE }; -extern u8 gBraillePuzzleCallbackFlag; +EWRAM_DATA static u8 sBraillePuzzleCallbackFlag = 0; + extern const u8 gUnknown_085EFE74[][2]; void SealedChamberShakingEffect(u8); @@ -208,11 +208,11 @@ bool8 ShouldDoBrailleStrengthEffect(void) if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x06)) { if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23) - { gBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } + { sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } else if (gSaveBlock1Ptr->pos.x == 5 && gSaveBlock1Ptr->pos.y == 23) - { gBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } + { sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } else if (gSaveBlock1Ptr->pos.x == 7 && gSaveBlock1Ptr->pos.y == 23) - { gBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } + { sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } } return FALSE; @@ -249,7 +249,7 @@ bool8 ShouldDoBrailleFlyEffect(void) if (!FlagGet(FLAG_SYS_BRAILLE_FLY) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x44)) { if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 25) - { gBraillePuzzleCallbackFlag = FLY_PUZZLE; return TRUE; } + { sBraillePuzzleCallbackFlag = FLY_PUZZLE; return TRUE; } } return FALSE; } @@ -362,7 +362,7 @@ bool8 FldEff_UsePuzzleEffect(void) { u8 taskId = oei_task_add(); - if (gBraillePuzzleCallbackFlag == FLY_PUZZLE) + if (sBraillePuzzleCallbackFlag == FLY_PUZZLE) { gTasks[taskId].data[8] = (u32)UseFlyAncientTomb_Callback >> 16; gTasks[taskId].data[9] = (u32)UseFlyAncientTomb_Callback; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 78b615407..0ed22c1e1 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -33,7 +33,7 @@ struct HallofFameMon u32 personality; u16 species:9; u16 lvl:7; - u8 nick[10]; + u8 nick[POKEMON_NAME_LENGTH]; }; struct HallofFameTeam @@ -49,11 +49,11 @@ struct HofGfx u8 tilemap2[0x1000]; }; +static EWRAM_DATA u32 sUnknown_0203BCD4 = 0; static EWRAM_DATA struct HallofFameTeam *sHofMonPtr = NULL; static EWRAM_DATA struct HofGfx *sHofGfxPtr = NULL; extern bool8 gHasHallOfFameRecords; -extern u32 gUnknown_0203BCD4; extern struct MusicPlayerInfo gMPlayInfo_BGM; extern MainCallback gGameContinueCallback; extern u32 gDamagedSaveSectors; @@ -490,7 +490,7 @@ static void Task_Hof_InitMonData(u8 taskId) } } - gUnknown_0203BCD4 = 0; + sUnknown_0203BCD4 = 0; gTasks[taskId].tDisplayedMonId = 0; gTasks[taskId].tPlayerSpriteID = 0xFF; @@ -648,11 +648,11 @@ static void Task_Hof_TryDisplayAnotherMon(u8 taskId) } else { - gUnknown_0203BCD4 |= (0x10000 << gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.paletteNum); + sUnknown_0203BCD4 |= (0x10000 << gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.paletteNum); if (gTasks[taskId].tDisplayedMonId <= 4 && currMon[1].species != SPECIES_NONE) // there is another pokemon to display { gTasks[taskId].tDisplayedMonId++; - BeginNormalPaletteFade(gUnknown_0203BCD4, 0, 12, 12, 0x63B0); + BeginNormalPaletteFade(sUnknown_0203BCD4, 0, 12, 12, 0x63B0); gSprites[gTasks[taskId].tMonSpriteId(currPokeID)].oam.priority = 1; gTasks[taskId].func = Task_Hof_DisplayMon; } @@ -696,7 +696,7 @@ static void sub_8173DC0(u8 taskId) if (gTasks[taskId].tMonSpriteId(i) != 0xFF) gSprites[gTasks[taskId].tMonSpriteId(i)].oam.priority = 1; } - BeginNormalPaletteFade(gUnknown_0203BCD4, 0, 12, 12, 0x63B0); + BeginNormalPaletteFade(sUnknown_0203BCD4, 0, 12, 12, 0x63B0); FillWindowPixelBuffer(0, 0); CopyWindowToVram(0, 3); gTasks[taskId].tFrameCount = 7; @@ -923,7 +923,7 @@ static void Task_HofPC_DrawSpritesPrintText(u8 taskId) savedTeams++; currMon = &savedTeams->mon[0]; - gUnknown_0203BCD4 = 0; + sUnknown_0203BCD4 = 0; gTasks[taskId].tCurrMonId = 0; gTasks[taskId].tMonNo = 0; @@ -998,8 +998,8 @@ static void Task_HofPC_PrintMonInfo(u8 taskId) currMonID = gTasks[taskId].tMonSpriteId(gTasks[taskId].tCurrMonId); gSprites[currMonID].oam.priority = 0; - gUnknown_0203BCD4 = (0x10000 << gSprites[currMonID].oam.paletteNum) ^ 0xFFFF0000; - BlendPalettesUnfaded(gUnknown_0203BCD4, 0xC, 0x63B0); + sUnknown_0203BCD4 = (0x10000 << gSprites[currMonID].oam.paletteNum) ^ 0xFFFF0000; + BlendPalettesUnfaded(sUnknown_0203BCD4, 0xC, 0x63B0); currMon = &savedTeams->mon[gTasks[taskId].tCurrMonId]; if (currMon->species != SPECIES_EGG) -- cgit v1.2.3 From 2d0be91217e0ea16f298bb823e954a4d6f6ff63b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 30 Jun 2018 18:55:34 +0200 Subject: Move all trainer defines to trainers.h and identify frontier brain trainer id --- src/battle_bg.c | 2 +- src/battle_controller_opponent.c | 4 ++-- src/battle_controller_player.c | 19 ++++++++++--------- src/battle_controller_player_partner.c | 11 ++++++----- src/battle_controller_wally.c | 15 ++++++++------- src/battle_main.c | 6 +++--- src/battle_message.c | 20 ++++++++++---------- src/battle_script_commands.c | 6 +++--- src/battle_setup.c | 8 ++++---- src/pokemon.c | 12 ++++++------ src/recorded_battle.c | 14 +++++++------- src/reshow_battle_screen.c | 33 +++++++++++++++++---------------- 12 files changed, 77 insertions(+), 73 deletions(-) (limited to 'src') diff --git a/src/battle_bg.c b/src/battle_bg.c index 4895e9643..c5dd727f4 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -478,7 +478,7 @@ void DrawBattleEntryBackground(void) } else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER)) { - if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == STEVEN_PARTNER_ID) + if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000)); LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000)); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 414e084ee..c37423a72 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1232,7 +1232,7 @@ static void OpponentHandleDrawTrainerPic(void) { trainerPicId = GetSecretBaseTrainerPicIndex(); } - else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) + else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { trainerPicId = sub_81A4CB0(); } @@ -1316,7 +1316,7 @@ static void OpponentHandleTrainerSlide(void) { trainerPicId = GetSecretBaseTrainerPicIndex(); } - else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) + else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { trainerPicId = sub_81A4CB0(); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 86775f50e..d30d34930 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -15,6 +15,7 @@ #include "constants/songs.h" #include "sound.h" #include "constants/moves.h" +#include "constants/trainers.h" #include "window.h" #include "m4a.h" #include "palette.h" @@ -2259,9 +2260,9 @@ static void DoSwitchOutAnimation(void) } } -// some explanation here -// in emerald it's possible to have a tag battle in the battle frontier facilities with AI -// which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) that use the back pic as well as animate it +// In emerald it's possible to have a tag battle in the battle frontier facilities with AI +// which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) +// that use an animated back pic. static void PlayerHandleDrawTrainerPic(void) { s16 xPos, yPos; @@ -2272,12 +2273,12 @@ static void PlayerHandleDrawTrainerPic(void) if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_FIRE_RED || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_LEAF_GREEN) { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + BACK_PIC_RED; + trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RED; } else if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_RUBY || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_SAPPHIRE) { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + BACK_PIC_RS_BRENDAN; + trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; } else { @@ -2296,7 +2297,7 @@ static void PlayerHandleDrawTrainerPic(void) else // first mon xPos = 32; - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != STEVEN_PARTNER_ID) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER) { xPos = 90; yPos = (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 80; @@ -2314,7 +2315,7 @@ static void PlayerHandleDrawTrainerPic(void) } // Use front pic table for any tag battles unless your partner is Steven. - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != STEVEN_PARTNER_ID) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER) { trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); DecompressTrainerFrontPic(trainerPicId, gActiveBattler); @@ -2354,12 +2355,12 @@ static void PlayerHandleTrainerSlide(void) if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_FIRE_RED || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_LEAF_GREEN) { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + BACK_PIC_RED; + trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RED; } else if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_RUBY || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_SAPPHIRE) { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + BACK_PIC_RS_BRENDAN; + trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; } else { diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 6a70200b6..d7878678a 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -11,6 +11,7 @@ #include "util.h" #include "main.h" #include "constants/songs.h" +#include "constants/trainers.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -1308,9 +1309,9 @@ static void PlayerPartnerHandleDrawTrainerPic(void) s16 xPos, yPos; u32 trainerPicId; - if (gPartnerTrainerId == STEVEN_PARTNER_ID) + if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { - trainerPicId = BACK_PIC_STEVEN; + trainerPicId = TRAINER_BACK_PIC_STEVEN; xPos = 90; yPos = (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80; } @@ -1322,7 +1323,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void) } // Use back pic only if the partner is Steven - if (gPartnerTrainerId == STEVEN_PARTNER_ID) + if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { DecompressTrainerBackPic(trainerPicId, gActiveBattler); sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); @@ -1793,9 +1794,9 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F9); - if (gPartnerTrainerId == STEVEN_PARTNER_ID) + if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { - u8 spriteId = BACK_PIC_STEVEN; + u8 spriteId = TRAINER_BACK_PIC_STEVEN; LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, 0x100 + paletteNum * 16, 32); } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 5399ccbf0..f66a1d773 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -15,6 +15,7 @@ #include "constants/songs.h" #include "sound.h" #include "constants/moves.h" +#include "constants/trainers.h" #include "window.h" #include "m4a.h" #include "palette.h" @@ -1037,11 +1038,11 @@ static void WallyHandleReturnMonToBall(void) static void WallyHandleDrawTrainerPic(void) { - DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBattler); - sub_806A12C(BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); + DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler); + sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, - 80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords), + 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords), 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -1052,11 +1053,11 @@ static void WallyHandleDrawTrainerPic(void) static void WallyHandleTrainerSlide(void) { - DecompressTrainerBackPic(BACK_PIC_WALLY, gActiveBattler); - sub_806A12C(BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); + DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler); + sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, - 80 + 4 * (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords), + 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords), 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; @@ -1444,7 +1445,7 @@ static void WallyHandleIntroTrainerBallThrow(void) StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[BACK_PIC_WALLY].data, 0x100 + paletteNum * 16, 32); + LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data, 0x100 + paletteNum * 16, 32); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; taskId = CreateTask(sub_816AC04, 5); diff --git a/src/battle_main.c b/src/battle_main.c index 487e11993..dfe99e003 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -614,7 +614,7 @@ static void CB2_InitBattleInternal(void) gBattle_WIN0H = 240; - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != STEVEN_PARTNER_ID) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER) { gBattle_WIN0V = 159; gBattle_WIN1H = 240; @@ -1914,7 +1914,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir s32 i, j; u8 monsCount; - if (trainerNum == SECRET_BASE_OPPONENT) + if (trainerNum == TRAINER_SECRET_BASE) return 0; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_FRONTIER @@ -4982,7 +4982,7 @@ static void HandleEndTurn_BattleWon(void) BattleStopLowHpSound(); gBattlescriptCurrInstr = BattleScript_FrontierTrainerBattleWon; - if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) + if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) PlayBGM(MUS_KACHI3); else PlayBGM(MUS_KACHI1); diff --git a/src/battle_message.c b/src/battle_message.c index 9dcd4aaf1..d2ac6da8c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -33,7 +33,7 @@ struct BattleWindowText extern u8 gUnknown_0203C7B4; -extern const u8 gMoveNames[LAST_MOVE_INDEX + 1][13]; +extern const u8 gMoveNames[MOVES_COUNT][13]; extern const u8 gTrainerClassNames[][13]; extern const u16 gUnknown_08D85620[]; @@ -43,11 +43,11 @@ extern const u8 gText_PkmnBoxLanettesPCFull[]; extern const u8 gText_PkmnTransferredSomeonesPC[]; extern const u8 gText_PkmnTransferredLanettesPC[]; -extern u8 sub_81A4D00(void); // battle_frontier_2 +extern u8 GetFrontierBrainTrainerClass(void); // battle_frontier_2 extern u8 GetFrontierOpponentClass(u16 trainerId); // battle_tower extern u8 sub_81D5530(u16 trainerId); // pokenav extern u8 GetEreaderTrainerClassId(void); // battle_tower -extern void sub_81A4D50(u8 *txtPtr); // battle_frontier_2 +extern void CopyFrontierBrainTrainerName(u8 *txtPtr); // battle_frontier_2 extern void sub_81D5554(u8 *txtPtr, u16 trainerId); // pokenav extern void GetEreaderTrainerName(u8 *txtPtr); extern void sub_81A36D0(u8 arg0, u16 trainerId); // battle_frontier_2 @@ -2139,7 +2139,7 @@ void BufferStringBattle(u16 stringID) case STRINGID_USEDMOVE: // pokemon used a move msg ChooseMoveUsedParticle(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names - if (gBattleMsgDataPtr->currentMove > LAST_MOVE_INDEX) + if (gBattleMsgDataPtr->currentMove >= MOVES_COUNT) StringCopy(gBattleTextBuff2, sATypeMove_Table[*(&gBattleStruct->stringMoveType)]); else StringCopy(gBattleTextBuff2, gMoveNames[gBattleMsgDataPtr->currentMove]); @@ -2427,13 +2427,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler]) break; case B_TXT_CURRENT_MOVE: // current move name - if (gBattleMsgDataPtr->currentMove > LAST_MOVE_INDEX) + if (gBattleMsgDataPtr->currentMove >= MOVES_COUNT) toCpy = sATypeMove_Table[gBattleStruct->stringMoveType]; else toCpy = gMoveNames[gBattleMsgDataPtr->currentMove]; break; case B_TXT_LAST_MOVE: // originally used move name - if (gBattleMsgDataPtr->originallyUsedMove > LAST_MOVE_INDEX) + if (gBattleMsgDataPtr->originallyUsedMove >= MOVES_COUNT) toCpy = sATypeMove_Table[gBattleStruct->stringMoveType]; else toCpy = gMoveNames[gBattleMsgDataPtr->originallyUsedMove]; @@ -2501,8 +2501,8 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) toCpy = gTrainerClassNames[GetSecretBaseTrainerClass()]; else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00) toCpy = gTrainerClassNames[sub_8068BB0()]; - else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) - toCpy = gTrainerClassNames[sub_81A4D00()]; + else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) + toCpy = gTrainerClassNames[GetFrontierBrainTrainerClass()]; else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) toCpy = gTrainerClassNames[GetFrontierOpponentClass(gTrainerBattleOpponent_A)]; else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) @@ -2525,9 +2525,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) { toCpy = gLinkPlayers[multiplayerID ^ BIT_SIDE].name; } - else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_3FE) + else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { - sub_81A4D50(text); + CopyFrontierBrainTrainerName(text); toCpy = text; } else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ecba9f934..9c48b083c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3533,7 +3533,7 @@ static void atk24(void) if (gBattleControllerExecFlags) return; - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId == STEVEN_PARTNER_ID) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { for (i = 0; i < 3; i++) { @@ -5870,7 +5870,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) u32 lastMonLevel = 0; u32 moneyReward = 0; - if (trainerId == SECRET_BASE_OPPONENT) + if (trainerId == TRAINER_SECRET_BASE) { moneyReward = 20 * gBattleResources->secretBase->party.levels[0] * gBattleStruct->moneyMultiplier; } @@ -8124,7 +8124,7 @@ static void atk9E_metronome(void) s32 i; gCurrentMove = (Random() & 0x1FF) + 1; - if (gCurrentMove > LAST_MOVE_INDEX) + if (gCurrentMove >= MOVES_COUNT) continue; for (i = 0; i < 4; i++); // ? diff --git a/src/battle_setup.c b/src/battle_setup.c index b11083929..b2655f731 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -798,7 +798,7 @@ static u8 GetTrainerBattleTransition(void) u8 enemyLevel; u8 playerLevel; - if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) return B_TRANSITION_CHAMPION; if (gTrainers[gTrainerBattleOpponent_A].trainerClass == TRAINER_CLASS_ELITE_FOUR) @@ -1305,7 +1305,7 @@ void BattleSetup_StartTrainerBattle(void) static void CB2_EndTrainerBattle(void) { - if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) { SetMainCallback2(CB2_ReturnToFieldContinueScript); } @@ -1329,7 +1329,7 @@ static void CB2_EndTrainerBattle(void) static void CB2_EndRematchBattle(void) { - if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) { SetMainCallback2(CB2_ReturnToFieldContinueScript); } @@ -1497,7 +1497,7 @@ const u8 *GetTrainerALoseText(void) { const u8 *string; - if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) string = GetSecretBaseTrainerLoseText(); else string = sTrainerADefeatSpeech; diff --git a/src/pokemon.c b/src/pokemon.c index 800b7c0cd..a4d62feca 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2488,7 +2488,7 @@ static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) return FALSE; if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) return FALSE; - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) return FALSE; if (FlagGet(badgeFlag)) return TRUE; @@ -5678,7 +5678,7 @@ const u8 *GetTrainerPartnerName(void) { if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - if (gPartnerTrainerId == STEVEN_PARTNER_ID) + if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { return gTrainers[TRAINER_STEVEN].trainerName; } @@ -5891,15 +5891,15 @@ void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality) const u8 *GetTrainerClassNameFromId(u16 trainerId) { - if (trainerId > NO_OF_TRAINERS) - trainerId = 0; + if (trainerId >= TRAINERS_COUNT) + trainerId = TRAINER_NONE; return gTrainerClassNames[gTrainers[trainerId].trainerClass]; } const u8 *GetTrainerNameFromId(u16 trainerId) { - if (trainerId > NO_OF_TRAINERS) - trainerId = 0; + if (trainerId >= TRAINERS_COUNT) + trainerId = TRAINER_NONE; return gTrainers[trainerId].trainerName; } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index eb48ab15a..3a4265895 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -79,7 +79,7 @@ EWRAM_DATA static u16 sUnknown_0203C79C[4] = {0}; EWRAM_DATA static u16 sUnknown_0203C7A4[4] = {0}; EWRAM_DATA static u8 sUnknown_0203C7AC = 0; EWRAM_DATA static u8 sUnknown_0203C7AD = 0; -EWRAM_DATA static u8 sUnknown_0203C7AE = 0; +EWRAM_DATA static u8 sRecordedBattle_FrontierFacility = 0; EWRAM_DATA static u8 sUnknown_0203C7AF = 0; EWRAM_DATA static MainCallback sCallback2_AfterRecordedBattle = NULL; EWRAM_DATA u8 gUnknown_0203C7B4 = 0; @@ -139,7 +139,7 @@ void sub_8184E58(void) if (sUnknown_0203C7AC == 1) { gRecordedBattleRngSeed = gRngValue; - sUnknown_0203C7AE = VarGet(VAR_FRONTIER_FACILITY); + sRecordedBattle_FrontierFacility = VarGet(VAR_FRONTIER_FACILITY); sUnknown_0203C7AF = sub_81A513C(); } else if (sUnknown_0203C7AC == 2) @@ -391,7 +391,7 @@ u32 MoveRecordedBattleToSaveData(void) battleSave->partnerId = gPartnerTrainerId; battleSave->field_4FA = gUnknown_0203C7B4; battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b; - battleSave->field_4FD = sUnknown_0203C7AE; + battleSave->field_4FD = sRecordedBattle_FrontierFacility; battleSave->field_4FE = sUnknown_0203C7AF; battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle; battleSave->textSpeed = gSaveBlock2Ptr->optionsTextSpeed; @@ -700,7 +700,7 @@ _081854E2:\n\ ldr r5, =0x000004fc\n\ adds r1, r7, r5\n\ strb r0, [r1]\n\ - ldr r0, =sUnknown_0203C7AE\n\ + ldr r0, =sRecordedBattle_FrontierFacility\n\ ldrb r1, [r0]\n\ adds r2, 0x3\n\ adds r0, r7, r2\n\ @@ -1354,7 +1354,7 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) gPartnerTrainerId = src->partnerId; gUnknown_0203C7B4 = src->field_4FA; sUnknown_0203C7AD = gSaveBlock2Ptr->frontierChosenLvl; - sUnknown_0203C7AE = src->field_4FD; + sRecordedBattle_FrontierFacility = src->field_4FD; sUnknown_0203C7AF = src->field_4FE; sRecordedBattle_BattleStyle = src->battleStyle; sRecordedBattle_TextSpeed = src->textSpeed; @@ -1415,9 +1415,9 @@ static void CB2_RecordedBattle(void) RunTasks(); } -u8 sub_8185EA0(void) +u8 GetRecordedBattleFrontierFacility(void) { - return sUnknown_0203C7AE; + return sRecordedBattle_FrontierFacility; } u8 sub_8185EAC(void) diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 4456e450c..4d5240bc7 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -11,6 +11,7 @@ #include "link.h" #include "sprite.h" #include "constants/species.h" +#include "constants/trainers.h" #include "battle_interface.h" #include "battle_anim.h" #include "data2.h" @@ -144,20 +145,20 @@ static void CB2_ReshowBattleScreenAfterMenu(void) break; case 19: { - u8 opponentBank; + u8 opponentBattler; u16 species; LoadAndCreateEnemyShadowSprites(); - opponentBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); - SetBattlerShadowSpriteCallback(opponentBank, species); + opponentBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBattler]], MON_DATA_SPECIES); + SetBattlerShadowSpriteCallback(opponentBattler, species); if (IsDoubleBattle()) { - opponentBank = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBank]], MON_DATA_SPECIES); - SetBattlerShadowSpriteCallback(opponentBank, species); + opponentBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[opponentBattler]], MON_DATA_SPECIES); + SetBattlerShadowSpriteCallback(opponentBattler, species); } ActionSelectionCreateCursorAt(gActionSelectionCursor[gBattlerInMenuId], 0); @@ -204,10 +205,10 @@ static bool8 LoadBattlerSpriteGfx(u8 battler) else BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE); } - else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler. DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, battler); - else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == 0) - DecompressTrainerBackPic(BACK_PIC_WALLY, battler); + else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler. + DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, battler); else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); else @@ -245,7 +246,7 @@ static void CreateBattlerSprite(u8 battler) if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) gSprites[gBattlerSpriteIds[battler]].anims = gMonAnimationsSpriteAnimsPtrTable[SPECIES_CASTFORM]; } - else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) { sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT)); gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50, @@ -255,11 +256,11 @@ static void CreateBattlerSprite(u8 battler) gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; gSprites[gBattlerSpriteIds[battler]].data[0] = battler; } - else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) { - sub_806A12C(BACK_PIC_WALLY, GetBattlerPosition(0)); + sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0)); gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50, - (8 - gTrainerBackPicCoords[BACK_PIC_WALLY].coords) * 4 + 80, + (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords) * 4 + 80, sub_80A82E4(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; @@ -292,9 +293,9 @@ static void CreateHealthboxSprite(u8 battler) { u8 healthboxSpriteId; - if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == 0) + if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) healthboxSpriteId = CreateSafariPlayerHealthboxSprites(); - else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == 0) + else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) return; else healthboxSpriteId = CreateBattlerHealthboxSprites(battler); -- cgit v1.2.3 From d2e47323fe988e430af782c2c10b8e41e7a131b3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 1 Jul 2018 11:15:42 +0200 Subject: document frontier related --- src/battle_ai_script_commands.c | 2 +- src/battle_controller_link_partner.c | 9 +- src/battle_controller_opponent.c | 7 +- src/battle_controller_recorded_opponent.c | 1 + src/battle_controllers.c | 14 +- src/battle_gfx_sfx_util.c | 77 ++++---- src/battle_interface.c | 6 +- src/battle_main.c | 50 +++--- src/battle_message.c | 3 +- src/battle_script_commands.c | 30 ++-- src/battle_tv.c | 8 +- src/battle_util.c | 283 ++++++++++++++++-------------- src/pokemon.c | 22 +-- src/recorded_battle.c | 116 ++++++------ 14 files changed, 327 insertions(+), 301 deletions(-) (limited to 'src') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 131598985..e82d22576 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -1969,7 +1969,7 @@ static void BattleAICmd_flee(void) static void BattleAICmd_if_random_safari_flee(void) { - u8 safariFleeRate = gBattleStruct->field_7B * 5; // Safari flee rate, from 0-20. + u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. if ((u8)(Random() % 100) < safariFleeRate) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index be9609e62..a88c4a076 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -12,6 +12,7 @@ #include "util.h" #include "main.h" #include "constants/songs.h" +#include "constants/trainers.h" #include "sound.h" #include "window.h" #include "m4a.h" @@ -1133,12 +1134,12 @@ static void LinkPartnerHandleDrawTrainerPic(void) if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RED; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RED; } else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RS_BRENDAN; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; } else { @@ -1545,12 +1546,12 @@ static void LinkPartnerHandleIntroTrainerBallThrow(void) if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RED; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RED; } else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + BACK_PIC_RS_BRENDAN; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; } else { diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index c37423a72..2af17d32e 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -16,6 +16,7 @@ #include "constants/songs.h" #include "sound.h" #include "constants/moves.h" +#include "constants/trainers.h" #include "window.h" #include "m4a.h" #include "palette.h" @@ -39,7 +40,7 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_806A068(u16, u8); extern void sub_81A57E4(u8 battlerId, u16 stringId); -extern u8 sub_81A4CB0(void); +extern u8 GetFrontierBrainTrainerPicIndex(void); extern u8 sub_81D5588(u16 trainerId); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); extern u8 GetEreaderTrainerFrontSpriteId(void); @@ -1234,7 +1235,7 @@ static void OpponentHandleDrawTrainerPic(void) } else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { - trainerPicId = sub_81A4CB0(); + trainerPicId = GetFrontierBrainTrainerPicIndex(); } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) { @@ -1318,7 +1319,7 @@ static void OpponentHandleTrainerSlide(void) } else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) { - trainerPicId = sub_81A4CB0(); + trainerPicId = GetFrontierBrainTrainerPicIndex(); } else if (gBattleTypeFlags & BATTLE_TYPE_x4000000) { diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 4b44116dd..1fd1deebf 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -13,6 +13,7 @@ #include "util.h" #include "main.h" #include "constants/songs.h" +#include "constants/trainers.h" #include "sound.h" #include "window.h" #include "m4a.h" diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 4da941ab0..01ad750db 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1082,14 +1082,14 @@ void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 m void BtlController_EmitPrintString(u8 bufferId, u16 stringID) { s32 i; - struct StringInfoBattle* stringInfo; + struct BattleMsgData* stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING; sBattleBuffersTransferData[1] = gBattleOutcome; sBattleBuffersTransferData[2] = stringID; sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; - stringInfo = (struct StringInfoBattle*)(&sBattleBuffersTransferData[4]); + stringInfo = (struct BattleMsgData*)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; @@ -1097,7 +1097,7 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID) stringInfo->scrActive = gBattleScripting.battler; stringInfo->unk1605E = gBattleStruct->field_52; stringInfo->hpScale = gBattleStruct->hpScale; - stringInfo->StringBank = gPotentialItemEffectBattler; + stringInfo->itemEffectBattler = gPotentialItemEffectBattler; stringInfo->moveType = gBattleMoves[gCurrentMove].type; for (i = 0; i < MAX_BATTLERS_COUNT; i++) @@ -1108,20 +1108,20 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID) stringInfo->textBuffs[1][i] = gBattleTextBuff2[i]; stringInfo->textBuffs[2][i] = gBattleTextBuff3[i]; } - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); + PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4); } void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) { s32 i; - struct StringInfoBattle *stringInfo; + struct BattleMsgData *stringInfo; sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; sBattleBuffersTransferData[2] = stringID; sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; - stringInfo = (struct StringInfoBattle*)(&sBattleBuffersTransferData[4]); + stringInfo = (struct BattleMsgData*)(&sBattleBuffersTransferData[4]); stringInfo->currentMove = gCurrentMove; stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; @@ -1137,7 +1137,7 @@ void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) stringInfo->textBuffs[1][i] = gBattleTextBuff2[i]; stringInfo->textBuffs[2][i] = gBattleTextBuff3[i]; } - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct StringInfoBattle) + 4); + PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4); } void BtlController_EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 47af1b9dd..8f17d488e 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -70,45 +70,45 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId); static void ClearSpritesBattlerHealthboxAnimData(void); // const rom data -static const struct CompressedSpriteSheet gUnknown_0832C0D0 = +static const struct CompressedSpriteSheet sSpriteSheet_SinglesPlayerHealthbox = { gUnknown_08C1F1C8, 0x1000, TAG_HEALTHBOX_PLAYER1_TILE }; -static const struct CompressedSpriteSheet gUnknown_0832C0D8 = +static const struct CompressedSpriteSheet sSpriteSheet_SinglesOpponentHealthbox = { gUnknown_08C1F46C, 0x1000, TAG_HEALTHBOX_OPPONENT1_TILE }; -static const struct CompressedSpriteSheet gUnknown_0832C0E0[2] = +static const struct CompressedSpriteSheet sSpriteSheets_DoublesPlayerHealthbox[2] = { {gUnknown_08C1F5E8, 0x800, TAG_HEALTHBOX_PLAYER1_TILE}, {gUnknown_08C1F5E8, 0x800, TAG_HEALTHBOX_PLAYER2_TILE} }; -static const struct CompressedSpriteSheet gUnknown_0832C0F0[2] = +static const struct CompressedSpriteSheet sSpriteSheets_DoublesOpponentHealthbox[2] = { {gUnknown_08C1F76C, 0x800, TAG_HEALTHBOX_OPPONENT1_TILE}, {gUnknown_08C1F76C, 0x800, TAG_HEALTHBOX_OPPONENT2_TILE} }; -static const struct CompressedSpriteSheet gUnknown_0832C100 = +static const struct CompressedSpriteSheet sSpriteSheet_SafariHealthbox = { gUnknown_08C1F8E8, 0x1000, TAG_HEALTHBOX_SAFARI_TILE }; -static const struct CompressedSpriteSheet gUnknown_0832C108[MAX_BATTLERS_COUNT] = +static const struct CompressedSpriteSheet sSpriteSheets_HealthBar[MAX_BATTLERS_COUNT] = { - {gBlankGfxCompressed, 0x0100, 0xd704}, - {gBlankGfxCompressed, 0x0120, 0xd705}, - {gBlankGfxCompressed, 0x0100, 0xd706}, - {gBlankGfxCompressed, 0x0120, 0xd707} + {gBlankGfxCompressed, 0x0100, TAG_HEALTHBAR_PLAYER1_TILE}, + {gBlankGfxCompressed, 0x0120, TAG_HEALTHBAR_OPPONENT1_TILE}, + {gBlankGfxCompressed, 0x0100, TAG_HEALTHBAR_PLAYER2_TILE}, + {gBlankGfxCompressed, 0x0120, TAG_HEALTHBAR_OPPONENT2_TILE} }; -static const struct SpritePalette gUnknown_0832C128[2] = +static const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = { {gBattleInterface_BallStatusBarPal, TAG_HEALTHBOX_PAL}, - {gBattleInterface_BallDisplayPal, 0xd704} + {gBattleInterface_BallDisplayPal, TAG_HEALTHBAR_PAL} }; // code @@ -499,7 +499,7 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId) #undef tBattlerId -// great function to include newly added moves that don't have animation yet +// Great function to include newly added moves that don't have animation yet. bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn) { return FALSE; @@ -679,29 +679,30 @@ void FreeTrainerFrontPicPalette(u16 frontPicId) FreeSpritePaletteByTag(gTrainerFrontPicPaletteTable[frontPicId].tag); } -void sub_805DFFC(void) +// Unused. +void BattleLoadAllHealthBoxesGfxAtOnce(void) { u8 numberOfBattlers = 0; u8 i; - LoadSpritePalette(&gUnknown_0832C128[0]); - LoadSpritePalette(&gUnknown_0832C128[1]); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]); if (!IsDoubleBattle()) { - LoadCompressedObjectPic(&gUnknown_0832C0D0); - LoadCompressedObjectPic(&gUnknown_0832C0D8); + LoadCompressedObjectPic(&sSpriteSheet_SinglesPlayerHealthbox); + LoadCompressedObjectPic(&sSpriteSheet_SinglesOpponentHealthbox); numberOfBattlers = 2; } else { - LoadCompressedObjectPic(&gUnknown_0832C0E0[0]); - LoadCompressedObjectPic(&gUnknown_0832C0E0[1]); - LoadCompressedObjectPic(&gUnknown_0832C0F0[0]); - LoadCompressedObjectPic(&gUnknown_0832C0F0[1]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[0]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[1]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[0]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[1]); numberOfBattlers = 4; } for (i = 0; i < numberOfBattlers; i++) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[i]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[i]]); } bool8 BattleLoadAllHealthBoxesGfx(u8 state) @@ -712,45 +713,45 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) { if (state == 1) { - LoadSpritePalette(&gUnknown_0832C128[0]); - LoadSpritePalette(&gUnknown_0832C128[1]); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]); } else if (!IsDoubleBattle()) { if (state == 2) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) - LoadCompressedObjectPic(&gUnknown_0832C100); + LoadCompressedObjectPic(&sSpriteSheet_SafariHealthbox); else - LoadCompressedObjectPic(&gUnknown_0832C0D0); + LoadCompressedObjectPic(&sSpriteSheet_SinglesPlayerHealthbox); } else if (state == 3) - LoadCompressedObjectPic(&gUnknown_0832C0D8); + LoadCompressedObjectPic(&sSpriteSheet_SinglesOpponentHealthbox); else if (state == 4) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[0]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); else if (state == 5) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[1]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); else retVal = TRUE; } else { if (state == 2) - LoadCompressedObjectPic(&gUnknown_0832C0E0[0]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[0]); else if (state == 3) - LoadCompressedObjectPic(&gUnknown_0832C0E0[1]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesPlayerHealthbox[1]); else if (state == 4) - LoadCompressedObjectPic(&gUnknown_0832C0F0[0]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[0]); else if (state == 5) - LoadCompressedObjectPic(&gUnknown_0832C0F0[1]); + LoadCompressedObjectPic(&sSpriteSheets_DoublesOpponentHealthbox[1]); else if (state == 6) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[0]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); else if (state == 7) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[1]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); else if (state == 8) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[2]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[2]]); else if (state == 9) - LoadCompressedObjectPic(&gUnknown_0832C108[gBattlerPositions[3]]); + LoadCompressedObjectPic(&sSpriteSheets_HealthBar[gBattlerPositions[3]]); else retVal = TRUE; } diff --git a/src/battle_interface.c b/src/battle_interface.c index 6a30ed487..a6032adc3 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1350,7 +1350,7 @@ static void UpdateHpTextInHealthboxInDoubles(u8 healthboxSpriteId, s16 value, u8 } } -// Prints mon's nature and flee rate. Probably used to test pokeblock feeders. +// Prints mon's nature, catch and flee rate. Probably used to test pokeblock-related features. static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon) { u8 text[20]; @@ -1391,8 +1391,8 @@ static void PrintSafariMonInfo(u8 healthboxSpriteId, struct Pokemon *mon) } healthBarSpriteId = gSprites[healthboxSpriteId].hMain_HealthBarSpriteId; - ConvertIntToDecimalStringN(text + 6, gBattleStruct->field_7C, STR_CONV_MODE_RIGHT_ALIGN, 2); - ConvertIntToDecimalStringN(text + 9, gBattleStruct->field_7B, STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(text + 6, gBattleStruct->safariCatchFactor, STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(text + 9, gBattleStruct->safariEscapeFactor, STR_CONV_MODE_RIGHT_ALIGN, 2); text[5] = CHAR_SPACE; text[8] = CHAR_SLASH; RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text); diff --git a/src/battle_main.c b/src/battle_main.c index dfe99e003..34558ab38 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -85,7 +85,6 @@ extern u8 gUnknown_0203CF00[]; extern const u16 gBattleTextboxPalette[]; extern const struct BgTemplate gBattleBgTemplates[]; extern const struct WindowTemplate *const gBattleWindowTemplates[]; -extern const u8 gUnknown_0831ACE0[]; extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForBallThrow[]; extern const u8 *const gBattlescriptsForRunningByItem[]; @@ -308,6 +307,9 @@ u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; // 10 is ×1.0 TYPE_MUL_NORMAL // 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE // 00 is ×0.0 TYPE_MUL_NO_EFFECT + +static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0}; + const u8 gTypeEffectiveness[336] = { TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, @@ -561,9 +563,9 @@ const u8 * const gStatusConditionStringsTable[7][2] = {gStatusConditionString_LoveJpn, gText_Love} }; -static const u8 sUnknown_0831BCE0[][3] = {{0, 0, 0}, {3, 5, 0}, {2, 3, 0}, {1, 2, 0}, {1, 1, 0}}; -static const u8 sUnknown_0831BCEF[] = {4, 3, 2, 1}; -static const u8 sUnknown_0831BCF3[] = {4, 4, 4, 4}; +static const u8 sPkblToEscapeFactor[][3] = {{0, 0, 0}, {3, 5, 0}, {2, 3, 0}, {1, 2, 0}, {1, 1, 0}}; +static const u8 sGoNearCounterToCatchFactor[] = {4, 3, 2, 1}; +static const u8 sGoNearCounterToEscapeFactor[] = {4, 4, 4, 4}; // code void CB2_InitBattle(void) @@ -1805,7 +1807,7 @@ static void CB2_HandleStartMultiBattle(void) SetMainCallback2(BattleMainCB2); if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - gTrainerBattleOpponent_A = TRAINER_OPPONENT_800; + gTrainerBattleOpponent_A = TRAINER_LINK_OPPONENT; gBattleTypeFlags |= BATTLE_TYPE_20; } } @@ -3051,10 +3053,10 @@ static void BattleStartClearSetData(void) gLeveledUpInBattle = 0; gAbsentBattlerFlags = 0; gBattleStruct->runTries = 0; - gBattleStruct->field_79 = 0; - gBattleStruct->field_7A = 0; - *(&gBattleStruct->field_7C) = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; - gBattleStruct->field_7B = 3; + gBattleStruct->safariGoNearCounter = 0; + gBattleStruct->safariPkblThrowCounter = 0; + *(&gBattleStruct->safariCatchFactor) = gBaseStats[GetMonData(&gEnemyParty[0], MON_DATA_SPECIES)].catchRate * 100 / 1275; + gBattleStruct->safariEscapeFactor = 3; gBattleStruct->wildVictorySong = 0; gBattleStruct->moneyMultiplier = 1; @@ -5746,14 +5748,14 @@ static void HandleAction_ThrowPokeblock(void) if (gBattleResults.pokeblockThrows < 0xFF) gBattleResults.pokeblockThrows++; - if (gBattleStruct->field_7A < 3) - gBattleStruct->field_7A++; - if (gBattleStruct->field_7B > 1) + if (gBattleStruct->safariPkblThrowCounter < 3) + gBattleStruct->safariPkblThrowCounter++; + if (gBattleStruct->safariEscapeFactor > 1) { - if (gBattleStruct->field_7B < sUnknown_0831BCE0[gBattleStruct->field_7A][gBattleCommunication[MULTISTRING_CHOOSER]]) - gBattleStruct->field_7B = 1; + if (gBattleStruct->safariEscapeFactor < sPkblToEscapeFactor[gBattleStruct->safariPkblThrowCounter][gBattleCommunication[MULTISTRING_CHOOSER]]) + gBattleStruct->safariEscapeFactor = 1; else - gBattleStruct->field_7B -= sUnknown_0831BCE0[gBattleStruct->field_7A][gBattleCommunication[MULTISTRING_CHOOSER]]; + gBattleStruct->safariEscapeFactor -= sPkblToEscapeFactor[gBattleStruct->safariPkblThrowCounter][gBattleCommunication[MULTISTRING_CHOOSER]]; } gBattlescriptCurrInstr = gBattlescriptsForSafariActions[2]; @@ -5766,22 +5768,22 @@ static void HandleAction_GoNear(void) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - gBattleStruct->field_7C += sUnknown_0831BCEF[gBattleStruct->field_79]; - if (gBattleStruct->field_7C > 20) - gBattleStruct->field_7C = 20; + gBattleStruct->safariCatchFactor += sGoNearCounterToCatchFactor[gBattleStruct->safariGoNearCounter]; + if (gBattleStruct->safariCatchFactor > 20) + gBattleStruct->safariCatchFactor = 20; - gBattleStruct->field_7B +=sUnknown_0831BCF3[gBattleStruct->field_79]; - if (gBattleStruct->field_7B > 20) - gBattleStruct->field_7B = 20; + gBattleStruct->safariEscapeFactor += sGoNearCounterToEscapeFactor[gBattleStruct->safariGoNearCounter]; + if (gBattleStruct->safariEscapeFactor > 20) + gBattleStruct->safariEscapeFactor = 20; - if (gBattleStruct->field_79 < 3) + if (gBattleStruct->safariGoNearCounter < 3) { - gBattleStruct->field_79++; + gBattleStruct->safariGoNearCounter++; gBattleCommunication[MULTISTRING_CHOOSER] = 0; } else { - gBattleCommunication[MULTISTRING_CHOOSER] = 1; + gBattleCommunication[MULTISTRING_CHOOSER] = 1; // Can't get closer. } gBattlescriptCurrInstr = gBattlescriptsForSafariActions[1]; gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; diff --git a/src/battle_message.c b/src/battle_message.c index d2ac6da8c..7d442ea98 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -6,6 +6,7 @@ #include "text.h" #include "string_util.h" #include "constants/items.h" +#include "constants/trainers.h" #include "event_data.h" #include "link.h" #include "item.h" @@ -2074,7 +2075,7 @@ void BufferStringBattle(u16 stringID) } else { - if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_800 || gBattleTypeFlags & BATTLE_TYPE_x2000000) + if (gTrainerBattleOpponent_A == TRAINER_LINK_OPPONENT || gBattleTypeFlags & BATTLE_TYPE_x2000000) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) stringPtr = sText_LinkTrainer2WithdrewPkmn; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9c48b083c..bacaf2bac 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3111,7 +3111,7 @@ static void atk1E_jumpifability(void) if (gBattlescriptCurrInstr[1] == BS_ATTACKER_SIDE) { - battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBattlerAttacker, ability, 0, 0); + battlerId = AbilityBattleEffects(ABILITYEFFECT_CHECK_BATTLER_SIDE, gBattlerAttacker, ability, 0, 0); if (battlerId) { gLastUsedAbility = ability; @@ -5033,7 +5033,7 @@ static void atk4F_jumpifcantswitch(void) party = gPlayerParty; i = 0; - if (sub_806D82C(GetBattlerMultiplayerId(gActiveBattler)) == TRUE) + if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gActiveBattler)) == TRUE) i = 3; } else @@ -5054,7 +5054,7 @@ static void atk4F_jumpifcantswitch(void) party = gPlayerParty; i = 0; - if (sub_806D82C(GetBattlerMultiplayerId(gActiveBattler)) == TRUE) + if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gActiveBattler)) == TRUE) i = 3; } @@ -5166,7 +5166,7 @@ static void atk50_openpartyscreen(void) { if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) { - if (sub_80423F4(gActiveBattler, 6, 6)) + if (HasNoMonsToSwitch(gActiveBattler, 6, 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5195,7 +5195,7 @@ static void atk50_openpartyscreen(void) if (gBitTable[0] & hitmarkerFaintBits) { gActiveBattler = 0; - if (sub_80423F4(0, 6, 6)) + if (HasNoMonsToSwitch(0, 6, 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5217,7 +5217,7 @@ static void atk50_openpartyscreen(void) if (gBitTable[2] & hitmarkerFaintBits && !(gBitTable[0] & hitmarkerFaintBits)) { gActiveBattler = 2; - if (sub_80423F4(2, 6, 6)) + if (HasNoMonsToSwitch(2, 6, 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5238,7 +5238,7 @@ static void atk50_openpartyscreen(void) if (gBitTable[1] & hitmarkerFaintBits) { gActiveBattler = 1; - if (sub_80423F4(1, 6, 6)) + if (HasNoMonsToSwitch(1, 6, 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5260,7 +5260,7 @@ static void atk50_openpartyscreen(void) if (gBitTable[3] & hitmarkerFaintBits && !(gBitTable[1] & hitmarkerFaintBits)) { gActiveBattler = 3; - if (sub_80423F4(3, 6, 6)) + if (HasNoMonsToSwitch(3, 6, 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5323,7 +5323,7 @@ static void atk50_openpartyscreen(void) if (gBitTable[2] & hitmarkerFaintBits && gBitTable[0] & hitmarkerFaintBits) { gActiveBattler = 2; - if (sub_80423F4(2, gBattleBufferB[0][1], 6)) + if (HasNoMonsToSwitch(2, gBattleBufferB[0][1], 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5339,7 +5339,7 @@ static void atk50_openpartyscreen(void) if (gBitTable[3] & hitmarkerFaintBits && hitmarkerFaintBits & gBitTable[1]) { gActiveBattler = 3; - if (sub_80423F4(3, gBattleBufferB[1][1], 6)) + if (HasNoMonsToSwitch(3, gBattleBufferB[1][1], 6)) { gAbsentBattlerFlags |= gBitTable[gActiveBattler]; gHitMarker &= ~(HITMARKER_FAINTED(gActiveBattler)); @@ -5391,7 +5391,7 @@ static void atk50_openpartyscreen(void) { gBattlescriptCurrInstr += 6; } - else if (sub_80423F4(battlerId, 6, 6)) + else if (HasNoMonsToSwitch(battlerId, 6, 6)) { gActiveBattler = battlerId; gAbsentBattlerFlags |= gBitTable[gActiveBattler]; @@ -7506,7 +7506,7 @@ static void atk8F_forcerandomswitch(void) else if ((gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) || (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_x2000000)) { - if (sub_806D82C(GetBattlerMultiplayerId(gBattlerTarget)) == 1) + if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(gBattlerTarget)) == 1) { firstMonId = 3; lastMonId = 6; @@ -9044,7 +9044,7 @@ static void atkBE_rapidspinfree(void) else if (gStatuses3[gBattlerAttacker] & STATUS3_LEECHSEED) { gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED); - gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED_BANK); + gStatuses3[gBattlerAttacker] &= ~(STATUS3_LEECHSEED_BATTLER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LeechSeedFree; } @@ -9760,7 +9760,7 @@ static void atkE1_trygetintimidatetarget(void) { u8 side; - gBattleScripting.battler = gBattleStruct->intimidateBank; + gBattleScripting.battler = gBattleStruct->intimidateBattler; side = GetBattlerSide(gBattleScripting.battler); PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.battler].ability) @@ -10115,7 +10115,7 @@ static void atkEF_handleballthrow(void) u8 catchRate; if (gLastUsedItem == ITEM_SAFARI_BALL) - catchRate = gBattleStruct->field_7C * 1275 / 100; + catchRate = gBattleStruct->safariCatchFactor * 1275 / 100; else catchRate = gBaseStats[gBattleMons[gBattlerTarget].species].catchRate; diff --git a/src/battle_tv.c b/src/battle_tv.c index cd0490a1b..6f9ee414e 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -796,8 +796,8 @@ void TryPutLinkBattleTvShowOnAir(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((playerBestMonId < 3 && !sub_806D82C(gBattleScripting.multiplayerId)) - || (playerBestMonId >= 3 && sub_806D82C(gBattleScripting.multiplayerId))) + if ((playerBestMonId < 3 && !GetLinkTrainerFlankId(gBattleScripting.multiplayerId)) + || (playerBestMonId >= 3 && GetLinkTrainerFlankId(gBattleScripting.multiplayerId))) { j = (opponentBestMonId < 3) ? 0 : 1; PutBattleUpdateOnTheAir(sub_806EF84(j, gBattleScripting.multiplayerId), moveId, playerBestSpecies, opponentBestSpecies); @@ -1078,7 +1078,7 @@ _0817E5C8:\n\ ldr r0, =gBattleScripting\n\ adds r0, 0x25\n\ ldrb r0, [r0]\n\ - bl sub_806D82C\n\ + bl GetLinkTrainerFlankId\n\ lsls r0, 16\n\ cmp r0, 0\n\ beq _0817E630\n\ @@ -1088,7 +1088,7 @@ _0817E620:\n\ ldr r0, =gBattleScripting\n\ adds r0, 0x25\n\ ldrb r0, [r0]\n\ - bl sub_806D82C\n\ + bl GetLinkTrainerFlankId\n\ lsls r0, 16\n\ cmp r0, 0\n\ beq _0817E670\n\ diff --git a/src/battle_util.c b/src/battle_util.c index b9a7f546a..5d2ec62a9 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -46,7 +46,7 @@ u8 GetBattlerForBattleScript(u8 caseId) case BS_EFFECT_BATTLER: ret = gEffectBattler; break; - case BS_BANK_0: + case BS_BATTLER_0: ret = 0; break; case BS_SCRIPTING: @@ -292,7 +292,7 @@ void sub_803FA70(u8 battler) } } -void BattleScriptPush(const u8* bsPtr) +void BattleScriptPush(const u8 *bsPtr) { gBattleResources->battleScriptsStack->ptr[gBattleResources->battleScriptsStack->size++] = bsPtr; } @@ -453,7 +453,7 @@ bool8 AreAllMovesUnusable(void) u8 unusable; unusable = CheckMoveLimitations(gActiveBattler, 0, 0xFF); - if (unusable == 0xF) // all moves are unusable + if (unusable == 0xF) // All moves are unusable. { gProtectStructs[gActiveBattler].onlyStruggle = 1; gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft; @@ -470,11 +470,11 @@ u8 GetImprisonedMovesCount(u8 battlerId, u16 move) { s32 i; u8 imprisionedMoves = 0; - u8 bankSide = GetBattlerSide(battlerId); + u8 BattlerSide = GetBattlerSide(battlerId); for (i = 0; i < gBattlersCount; i++) { - if (bankSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) + if (BattlerSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) { s32 j; for (j = 0; j < 4; j++) @@ -504,7 +504,7 @@ u8 UpdateTurnCounters(void) do { - u8 sideBank; + u8 side; switch (gBattleStruct->turnCountersTracker) { @@ -533,13 +533,13 @@ u8 UpdateTurnCounters(void) case 1: while (gBattleStruct->turnSideTracker < 2) { - sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].reflectBattlerId; - if (gSideStatuses[sideBank] & SIDE_STATUS_REFLECT) + side = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = gSideTimers[side].reflectBattlerId; + if (gSideStatuses[side] & SIDE_STATUS_REFLECT) { - if (--gSideTimers[sideBank].reflectTimer == 0) + if (--gSideTimers[side].reflectTimer == 0) { - gSideStatuses[sideBank] &= ~SIDE_STATUS_REFLECT; + gSideStatuses[side] &= ~SIDE_STATUS_REFLECT; BattleScriptExecute(BattleScript_SideStatusWoreOff); PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_REFLECT); effect++; @@ -558,15 +558,15 @@ u8 UpdateTurnCounters(void) case 2: while (gBattleStruct->turnSideTracker < 2) { - sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].lightscreenBattlerId; - if (gSideStatuses[sideBank] & SIDE_STATUS_LIGHTSCREEN) + side = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = gSideTimers[side].lightscreenBattlerId; + if (gSideStatuses[side] & SIDE_STATUS_LIGHTSCREEN) { - if (--gSideTimers[sideBank].lightscreenTimer == 0) + if (--gSideTimers[side].lightscreenTimer == 0) { - gSideStatuses[sideBank] &= ~SIDE_STATUS_LIGHTSCREEN; + gSideStatuses[side] &= ~SIDE_STATUS_LIGHTSCREEN; BattleScriptExecute(BattleScript_SideStatusWoreOff); - gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; + gBattleCommunication[MULTISTRING_CHOOSER] = side; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_LIGHT_SCREEN); effect++; } @@ -584,14 +584,14 @@ u8 UpdateTurnCounters(void) case 3: while (gBattleStruct->turnSideTracker < 2) { - sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].mistBattlerId; - if (gSideTimers[sideBank].mistTimer != 0 - && --gSideTimers[sideBank].mistTimer == 0) + side = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = gSideTimers[side].mistBattlerId; + if (gSideTimers[side].mistTimer != 0 + && --gSideTimers[side].mistTimer == 0) { - gSideStatuses[sideBank] &= ~SIDE_STATUS_MIST; + gSideStatuses[side] &= ~SIDE_STATUS_MIST; BattleScriptExecute(BattleScript_SideStatusWoreOff); - gBattleCommunication[MULTISTRING_CHOOSER] = sideBank; + gBattleCommunication[MULTISTRING_CHOOSER] = side; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_MIST); effect++; } @@ -608,13 +608,13 @@ u8 UpdateTurnCounters(void) case 4: while (gBattleStruct->turnSideTracker < 2) { - sideBank = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[sideBank].safeguardBattlerId; - if (gSideStatuses[sideBank] & SIDE_STATUS_SAFEGUARD) + side = gBattleStruct->turnSideTracker; + gActiveBattler = gBattlerAttacker = gSideTimers[side].safeguardBattlerId; + if (gSideStatuses[side] & SIDE_STATUS_SAFEGUARD) { - if (--gSideTimers[sideBank].safeguardTimer == 0) + if (--gSideTimers[side].safeguardTimer == 0) { - gSideStatuses[sideBank] &= ~SIDE_STATUS_SAFEGUARD; + gSideStatuses[side] &= ~SIDE_STATUS_SAFEGUARD; BattleScriptExecute(BattleScript_SafeguardEnds); effect++; } @@ -795,10 +795,10 @@ u8 TurnBasedEffects(void) break; case 3: // leech seed if ((gStatuses3[gActiveBattler] & STATUS3_LEECHSEED) - && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK].hp != 0 + && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BATTLER].hp != 0 && gBattleMons[gActiveBattler].hp != 0) { - gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BANK; //funny how the 'target' is actually the battlerId that receives HP + gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BATTLER; // Notice gBattlerTarget is actually the HP receiver. gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -848,8 +848,8 @@ u8 TurnBasedEffects(void) case 7: // spooky nightmares if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) && gBattleMons[gActiveBattler].hp != 0) { - // R/S does not perform this sleep check, which causes the nighmare effect to - // persist even after the affected Pokemon has been awakened by Shed Skin + // R/S does not perform this sleep check, which causes the nightmare effect to + // persist even after the affected Pokemon has been awakened by Shed Skin. if (gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) { gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; @@ -983,7 +983,7 @@ u8 TurnBasedEffects(void) case 12: // disable if (gDisableStructs[gActiveBattler].disableTimer1 != 0) { - int i; + s32 i; for (i = 0; i < 4; i++) { if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) @@ -1184,7 +1184,7 @@ bool8 HandleFaintedMonActions(void) return FALSE; do { - int i; + s32 i; switch (gBattleStruct->faintedActionsState) { case 0: @@ -1192,7 +1192,7 @@ bool8 HandleFaintedMonActions(void) gBattleStruct->faintedActionsState++; for (i = 0; i < gBattlersCount; i++) { - if (gAbsentBattlerFlags & gBitTable[i] && !sub_80423F4(i, 6, 6)) + if (gAbsentBattlerFlags & gBitTable[i] && !HasNoMonsToSwitch(i, 6, 6)) gAbsentBattlerFlags &= ~(gBitTable[i]); } // fall through @@ -1256,7 +1256,7 @@ bool8 HandleFaintedMonActions(void) void TryClearRageStatuses(void) { - int i; + s32 i; for (i = 0; i < gBattlersCount; i++) { if ((gBattleMons[i].status2 & STATUS2_RAGE) && gChosenMoveByBattler[i] != MOVE_RAGE) @@ -1467,7 +1467,9 @@ u8 AtkCanceller_UnableToUseMove(void) { gBattleScripting.battler = CountTrailingZeroBits((gBattleMons[gBattlerAttacker].status2 & STATUS2_INFATUATION) >> 0x10); if (Random() & 1) + { BattleScriptPushCursor(); + } else { BattleScriptPush(BattleScript_MoveUsedIsParalyzedCantAttack); @@ -1485,7 +1487,9 @@ u8 AtkCanceller_UnableToUseMove(void) { gBattleMons[gBattlerAttacker].status2 -= 0x100; if (gBattleMons[gBattlerAttacker].status2 & STATUS2_BIDE) + { gBattlescriptCurrInstr = BattleScript_BideStoringEnergy; + } else { // This is removed in Emerald for some reason @@ -1500,7 +1504,9 @@ u8 AtkCanceller_UnableToUseMove(void) gBattlescriptCurrInstr = BattleScript_BideAttack; } else + { gBattlescriptCurrInstr = BattleScript_BideNoEnergyToAttack; + } } effect = 1; } @@ -1535,29 +1541,31 @@ u8 AtkCanceller_UnableToUseMove(void) return effect; } -bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) +bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) { - struct Pokemon* party; - u8 r7; - u8 r6; + struct Pokemon *party; + u8 id1, id2; s32 i; + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return FALSE; + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - r6 = ((battler & 2) / 2); - for (i = r6 * 3; i < r6 * 3 + 3; i++) + + id1 = ((battler & BIT_FLANK) / 2); + for (i = id1 * 3; i < id1 * 3 + 3; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 - && GetMonData(&party[i], MON_DATA_SPECIES2) != 0 + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) break; } - return (i == r6 * 3 + 3); + return (i == id1 * 3 + 3); } else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -1566,86 +1574,95 @@ bool8 sub_80423F4(u8 battler, u8 r1, u8 r2) if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; - r7 = GetBattlerMultiplayerId(battler); - r6 = sub_806D82C(r7); + id2 = GetBattlerMultiplayerId(battler); + id1 = GetLinkTrainerFlankId(id2); } else { - // FIXME: Compiler insists on moving r4 into r1 before doing the eor + // FIXME: Compiler insists on moving r4 into r1 before doing the eor. #ifndef NONMATCHING - register u32 var asm("r1"); + register u32 var asm("r1"); #else - u32 var; + u32 var; #endif // NONMATCHING party = gEnemyParty; - var = battler ^ 1; - r6 = (var != 0) ? 1 : 0; + var = battler ^ BIT_SIDE; + if (var == 0) + id1 = 0; + else + id1 = 1; } } else { - r7 = GetBattlerMultiplayerId(battler); + id2 = GetBattlerMultiplayerId(battler); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; - r6 = sub_806D82C(r7); + + id1 = GetLinkTrainerFlankId(id2); } - for (i = r6 * 3; i < r6 * 3 + 3; i++) + + for (i = id1 * 3; i < id1 * 3 + 3; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 - && GetMonData(&party[i], MON_DATA_SPECIES2) != 0 + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) break; } - return (i == r6 * 3 + 3); + return (i == id1 * 3 + 3); } else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && GetBattlerSide(battler) == B_SIDE_OPPONENT) { party = gEnemyParty; if (battler == 1) - r6 = 0; + id1 = 0; else - r6 = 3; - for (i = r6; i < r6 + 3; i++) + id1 = 3; + + for (i = id1; i < id1 + 3; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 - && GetMonData(&party[i], MON_DATA_SPECIES2) != 0 + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG) break; } - return (i == r6 + 3); + return (i == id1 + 3); } else { if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { - r7 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - r6 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + id2 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + id1 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); party = gEnemyParty; } else { - r7 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - r6 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + id2 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + id1 = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); party = gPlayerParty; } - if (r1 == 6) - r1 = gBattlerPartyIndexes[r7]; - if (r2 == 6) - r2 = gBattlerPartyIndexes[r6]; - for (i = 0; i < 6; i++) + + if (partyIdBattlerOn1 == PARTY_SIZE) + partyIdBattlerOn1 = gBattlerPartyIndexes[id2]; + if (partyIdBattlerOn2 == PARTY_SIZE) + partyIdBattlerOn2 = gBattlerPartyIndexes[id1]; + + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_HP) != 0 - && GetMonData(&party[i], MON_DATA_SPECIES2) != 0 + && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_NONE && GetMonData(&party[i], MON_DATA_SPECIES2) != SPECIES_EGG - // FIXME: Using index[array] instead of array[index] is BAD! - && i != r1 && i != r2 && i != r7[gBattleStruct->monToSwitchIntoId] && i != r6[gBattleStruct->monToSwitchIntoId]) + && i != partyIdBattlerOn1 && i != partyIdBattlerOn2 + && i != *(gBattleStruct->monToSwitchIntoId + id2) && i != id1[gBattleStruct->monToSwitchIntoId]) break; } - return (i == 6); + return (i == PARTY_SIZE); } } @@ -1706,6 +1723,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (gBattlerAttacker >= gBattlersCount) gBattlerAttacker = battler; + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) pokeAtk = &gPlayerParty[gBattlerPartyIndexes[gBattlerAttacker]]; else @@ -1713,6 +1731,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (gBattlerTarget >= gBattlersCount) gBattlerTarget = battler; + if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER) pokeDef = &gPlayerParty[gBattlerPartyIndexes[gBattlerTarget]]; else @@ -1724,7 +1743,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA speciesDef = GetMonData(pokeDef, MON_DATA_SPECIES); pidDef = GetMonData(pokeDef, MON_DATA_PERSONALITY); - if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) // why isn't that check done at the beginning? + if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) // Why isn't that check done at the beginning? { u8 moveType; s32 i; @@ -2271,7 +2290,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gLastUsedAbility = ABILITY_INTIMIDATE; gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); BattleScriptPushCursorAndCallback(BattleScript_82DB4B8); - gBattleStruct->intimidateBank = i; + gBattleStruct->intimidateBattler = i; effect++; break; } @@ -2343,7 +2362,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA gStatuses3[i] &= ~(STATUS3_INTIMIDATE_POKES); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_82DB4C1; - gBattleStruct->intimidateBank = i; + gBattleStruct->intimidateBattler = i; effect++; break; } @@ -2360,7 +2379,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } } break; - case ABILITYEFFECT_CHECK_BANK_SIDE: // 13 + case ABILITYEFFECT_CHECK_BATTLER_SIDE: // 13 side = GetBattlerSide(battler); for (i = 0; i < gBattlersCount; i++) { @@ -2410,7 +2429,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } } break; - case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK: // 15 + case ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER: // 15 for (i = 0; i < gBattlersCount; i++) { if (gBattleMons[i].ability == ability && i != battler) @@ -2431,7 +2450,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } } break; - case ABILITYEFFECT_COUNT_BANK_SIDE: // 17 + case ABILITYEFFECT_COUNT_BATTLER_SIDE: // 17 side = GetBattlerSide(battler); for (i = 0; i < gBattlersCount; i++) { @@ -2492,20 +2511,20 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) int i = 0; u8 effect = ITEM_NO_EFFECT; u8 changedPP = 0; - u8 bankHoldEffect, atkHoldEffect, defHoldEffect; - u8 bankQuality, atkQuality, defQuality; + u8 BattlerHoldEffect, atkHoldEffect, defHoldEffect; + u8 BattlerQuality, atkQuality, defQuality; u16 atkItem, defItem; gLastUsedItem = gBattleMons[battlerId].item; if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - bankHoldEffect = gEnigmaBerries[battlerId].holdEffect; - bankQuality = gEnigmaBerries[battlerId].holdEffectParam; + BattlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; + BattlerQuality = gEnigmaBerries[battlerId].holdEffectParam; } else { - bankHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); + BattlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); + BattlerQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } atkItem = gBattleMons[gBattlerAttacker].item; @@ -2536,7 +2555,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (caseID) { case ITEMEFFECT_ON_SWITCH_IN: - switch (bankHoldEffect) + switch (BattlerHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) @@ -2564,13 +2583,13 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case 1: if (gBattleMons[battlerId].hp) { - switch (bankHoldEffect) + switch (BattlerHoldEffect) { case HOLD_EFFECT_RESTORE_HP: if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleMoveDamage = bankQuality; - if (gBattleMons[battlerId].hp + bankQuality > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = BattlerQuality; + if (gBattleMons[battlerId].hp + BattlerQuality > gBattleMons[battlerId].maxHP) gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2599,10 +2618,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (i != 4) { u8 maxPP = CalculatePPWithBonus(move, ppBonuses, i); - if (changedPP + bankQuality > maxPP) + if (changedPP + BattlerQuality > maxPP) changedPP = maxPP; else - changedPP = changedPP + bankQuality; + changedPP = changedPP + BattlerQuality; PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); @@ -2641,7 +2660,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, bankHoldEffect); + RecordItemEffectBattle(battlerId, BattlerHoldEffect); } break; // nice copy/paste there gamefreak, making a function for confuse berries was too much eh? @@ -2650,7 +2669,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2668,7 +2687,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2686,7 +2705,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2704,7 +2723,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2722,7 +2741,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / bankQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2737,7 +2756,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; // copy/paste again, smh case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); @@ -2751,7 +2770,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_DEFENSE_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_DEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_DEF] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF); @@ -2764,7 +2783,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SPEED_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPEED] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPEED] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED); @@ -2777,7 +2796,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SP_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPATK] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK); @@ -2790,7 +2809,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SP_DEFENSE_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPDEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPDEF] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF); @@ -2803,7 +2822,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CRITICAL_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality && !moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) { gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); @@ -2811,7 +2830,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_RANDOM_STAT_UP: - if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / bankQuality) + if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality) { for (i = 0; i < 5; i++) { @@ -2977,15 +2996,15 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gLastUsedItem = gBattleMons[battlerId].item; if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) { - bankHoldEffect = gEnigmaBerries[battlerId].holdEffect; - bankQuality = gEnigmaBerries[battlerId].holdEffectParam; + BattlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; + BattlerQuality = gEnigmaBerries[battlerId].holdEffectParam; } else { - bankHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - bankQuality = ItemId_GetHoldEffectParam(gLastUsedItem); + BattlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); + BattlerQuality = ItemId_GetHoldEffectParam(gLastUsedItem); } - switch (bankHoldEffect) + switch (BattlerHoldEffect) { case HOLD_EFFECT_CURE_PAR: if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) @@ -3180,7 +3199,7 @@ void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands u8 GetMoveTarget(u16 move, u8 setTarget) { - u8 targetBank = 0; + u8 targetBattler = 0; u8 moveTarget; u8 side; @@ -3194,21 +3213,21 @@ u8 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_SELECTED: side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) - targetBank = gSideTimers[side].followmeTarget; + targetBattler = gSideTimers[side].followmeTarget; else { side = GetBattlerSide(gBattlerAttacker); do { - targetBank = Random() % gBattlersCount; - } while (targetBank == gBattlerAttacker || side == GetBattlerSide(targetBank) || gAbsentBattlerFlags & gBitTable[targetBank]); + targetBattler = Random() % gBattlersCount; + } while (targetBattler == gBattlerAttacker || side == GetBattlerSide(targetBattler) || gAbsentBattlerFlags & gBitTable[targetBattler]); if (gBattleMoves[move].type == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_COUNT_OTHER_SIDE, gBattlerAttacker, ABILITY_LIGHTNING_ROD, 0, 0) - && gBattleMons[targetBank].ability != ABILITY_LIGHTNING_ROD) + && gBattleMons[targetBattler].ability != ABILITY_LIGHTNING_ROD) { - targetBank ^= BIT_FLANK; - RecordAbilityBattle(targetBank, gBattleMons[targetBank].ability); - gSpecialStatuses[targetBank].lightningRodRedirected = 1; + targetBattler ^= BIT_FLANK; + RecordAbilityBattle(targetBattler, gBattleMons[targetBattler].ability); + gSpecialStatuses[targetBattler].lightningRodRedirected = 1; } } break; @@ -3216,45 +3235,45 @@ u8 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); - if (gAbsentBattlerFlags & gBitTable[targetBank]) - targetBank ^= BIT_FLANK; + targetBattler = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); + if (gAbsentBattlerFlags & gBitTable[targetBattler]) + targetBattler ^= BIT_FLANK; break; case MOVE_TARGET_RANDOM: side = GetBattlerSide(gBattlerAttacker) ^ BIT_SIDE; if (gSideTimers[side].followmeTimer && gBattleMons[gSideTimers[side].followmeTarget].hp) - targetBank = gSideTimers[side].followmeTarget; + targetBattler = gSideTimers[side].followmeTarget; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) { if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) { if (Random() & 1) - targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + targetBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - targetBank = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + targetBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } else { if (Random() & 1) - targetBank = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + targetBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - targetBank = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + targetBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (gAbsentBattlerFlags & gBitTable[targetBank]) - targetBank ^= BIT_FLANK; + if (gAbsentBattlerFlags & gBitTable[targetBattler]) + targetBattler ^= BIT_FLANK; } else - targetBank = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); + targetBattler = GetBattlerAtPosition((GetBattlerPosition(gBattlerAttacker) & BIT_SIDE) ^ BIT_SIDE); break; case MOVE_TARGET_USER_OR_SELECTED: case MOVE_TARGET_USER: - targetBank = gBattlerAttacker; + targetBattler = gBattlerAttacker; break; } - *(gBattleStruct->moveTarget + gBattlerAttacker) = targetBank; + *(gBattleStruct->moveTarget + gBattlerAttacker) = targetBattler; - return targetBank; + return targetBattler; } static bool32 HasObedientBitSet(u8 battlerId) diff --git a/src/pokemon.c b/src/pokemon.c index a4d62feca..7d685062f 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1964,11 +1964,11 @@ void CalculateMonStats(struct Pokemon *mon) SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); - CALC_STAT(baseAttack, attackIV, attackEV, 1, MON_DATA_ATK) - CALC_STAT(baseDefense, defenseIV, defenseEV, 2, MON_DATA_DEF) - CALC_STAT(baseSpeed, speedIV, speedEV, 3, MON_DATA_SPEED) - CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, 4, MON_DATA_SPATK) - CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, 5, MON_DATA_SPDEF) + CALC_STAT(baseAttack, attackIV, attackEV, STAT_ATK, MON_DATA_ATK) + CALC_STAT(baseDefense, defenseIV, defenseEV, STAT_DEF, MON_DATA_DEF) + CALC_STAT(baseSpeed, speedIV, speedEV, STAT_SPEED, MON_DATA_SPEED) + CALC_STAT(baseSpAttack, spAttackIV, spAttackEV, STAT_SPATK, MON_DATA_SPATK) + CALC_STAT(baseSpDefense, spDefenseIV, spDefenseEV, STAT_SPDEF, MON_DATA_SPDEF) if (species == SPECIES_SHEDINJA) { @@ -4819,21 +4819,21 @@ bool8 sub_806D7EC(void) return retVal; } -bool16 sub_806D82C(u8 id) +u16 GetLinkTrainerFlankId(u8 linkPlayerId) { - bool16 retVal = FALSE; - switch (gLinkPlayers[id].lp_field_18) + u16 flankId = 0; + switch (gLinkPlayers[linkPlayerId].lp_field_18) { case 0: case 3: - retVal = FALSE; + flankId = 0; break; case 1: case 2: - retVal = TRUE; + flankId = 1; break; } - return retVal; + return flankId; } s32 GetBattlerMultiplayerId(u16 a1) diff --git a/src/recorded_battle.c b/src/recorded_battle.c index 3a4265895..e36716feb 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -58,8 +58,8 @@ struct RecordedBattleSave u8 field_4FC; u8 field_4FD; u8 field_4FE; - u8 battleStyle : 1; - u8 textSpeed : 3; + u8 battleStyle:1; + u8 textSpeed:3; u32 AI_scripts; u8 field_504[8]; u8 field_50C; @@ -79,19 +79,19 @@ EWRAM_DATA static u16 sUnknown_0203C79C[4] = {0}; EWRAM_DATA static u16 sUnknown_0203C7A4[4] = {0}; EWRAM_DATA static u8 sUnknown_0203C7AC = 0; EWRAM_DATA static u8 sUnknown_0203C7AD = 0; -EWRAM_DATA static u8 sRecordedBattle_FrontierFacility = 0; +EWRAM_DATA static u8 sFrontierFacility = 0; EWRAM_DATA static u8 sUnknown_0203C7AF = 0; EWRAM_DATA static MainCallback sCallback2_AfterRecordedBattle = NULL; EWRAM_DATA u8 gUnknown_0203C7B4 = 0; EWRAM_DATA static u8 sUnknown_0203C7B5 = 0; -EWRAM_DATA static u8 sRecordedBattle_BattleStyle = 0; -EWRAM_DATA static u8 sRecordedBattle_TextSpeed = 0; -EWRAM_DATA static u32 sRecordedBattle_BattleFlags = 0; -EWRAM_DATA static u32 sRecordedBattle_AI_Scripts = 0; +EWRAM_DATA static u8 sBattleStyle = 0; +EWRAM_DATA static u8 sTextSpeed = 0; +EWRAM_DATA static u32 sBattleFlags = 0; +EWRAM_DATA static u32 sAI_Scripts = 0; EWRAM_DATA static struct Pokemon sSavedPlayerParty[PARTY_SIZE] = {0}; EWRAM_DATA static struct Pokemon sSavedOpponentParty[PARTY_SIZE] = {0}; -EWRAM_DATA static u16 sRecordedBattle_PlayerMonMoves[2][4] = {0}; -EWRAM_DATA static struct PlayerInfo sRecordedBattle_Players[MAX_BATTLERS_COUNT] = {0}; +EWRAM_DATA static u16 sPlayerMonMoves[2][4] = {0}; +EWRAM_DATA static struct PlayerInfo sPlayers[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA static u8 sUnknown_0203CCD0 = 0; EWRAM_DATA static u8 sUnknown_0203CCD1[8] = {0}; EWRAM_DATA static u8 sUnknown_0203CCD9 = 0; @@ -126,8 +126,8 @@ void sub_8184DA4(u8 arg0) { sBattleRecords[i][j] |= 0xFF; } - sRecordedBattle_BattleFlags = gBattleTypeFlags; - sRecordedBattle_AI_Scripts = gBattleResources->ai->aiFlags; + sBattleFlags = gBattleTypeFlags; + sAI_Scripts = gBattleResources->ai->aiFlags; } } } @@ -139,7 +139,7 @@ void sub_8184E58(void) if (sUnknown_0203C7AC == 1) { gRecordedBattleRngSeed = gRngValue; - sRecordedBattle_FrontierFacility = VarGet(VAR_FRONTIER_FACILITY); + sFrontierFacility = VarGet(VAR_FRONTIER_FACILITY); sUnknown_0203C7AF = sub_81A513C(); } else if (sUnknown_0203C7AC == 2) @@ -157,37 +157,37 @@ void sub_8184E58(void) for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - sRecordedBattle_Players[i].trainerId = gLinkPlayers[i].trainerId; - sRecordedBattle_Players[i].gender = gLinkPlayers[i].gender; - sRecordedBattle_Players[i].battlerId = gLinkPlayers[i].lp_field_18; - sRecordedBattle_Players[i].language = gLinkPlayers[i].language; + sPlayers[i].trainerId = gLinkPlayers[i].trainerId; + sPlayers[i].gender = gLinkPlayers[i].gender; + sPlayers[i].battlerId = gLinkPlayers[i].lp_field_18; + sPlayers[i].language = gLinkPlayers[i].language; if (i < linkPlayersCount) { StringCopy(text, gLinkPlayers[i].name); StripExtCtrlCodes(text); - StringCopy(sRecordedBattle_Players[i].name, text); + StringCopy(sPlayers[i].name, text); } else { for (j = 0; j < PLAYER_NAME_LENGTH; j++) - sRecordedBattle_Players[i].name[j] = gLinkPlayers[i].name[j]; + sPlayers[i].name[j] = gLinkPlayers[i].name[j]; } } } else { - sRecordedBattle_Players[0].trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) + sPlayers[0].trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8) | (gSaveBlock2Ptr->playerTrainerId[2] << 16) | (gSaveBlock2Ptr->playerTrainerId[3] << 24); - sRecordedBattle_Players[0].gender = gSaveBlock2Ptr->playerGender; - sRecordedBattle_Players[0].battlerId = 0; - sRecordedBattle_Players[0].language = gGameLanguage; + sPlayers[0].gender = gSaveBlock2Ptr->playerGender; + sPlayers[0].battlerId = 0; + sPlayers[0].language = gGameLanguage; for (i = 0; i < PLAYER_NAME_LENGTH; i++) - sRecordedBattle_Players[0].name[i] = gSaveBlock2Ptr->playerName[i]; + sPlayers[0].name[i] = gSaveBlock2Ptr->playerName[i]; } } @@ -214,7 +214,7 @@ void RecordedBattle_ClearBattlerAction(u8 battlerId, u8 bytesToClear) u8 RecordedBattle_GetBattlerAction(u8 battlerId) { - // trying to read past array or invalid action byte, battle is over + // Trying to read past array or invalid action byte, battle is over. if (sRecordedBytesNo[battlerId] >= BATTLER_RECORD_SIZE || sBattleRecords[battlerId][sRecordedBytesNo[battlerId]] == 0xFF) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah @@ -345,37 +345,37 @@ u32 MoveRecordedBattleToSaveData(void) { for (j = 0; j < PLAYER_NAME_LENGTH; j++) { - battleSave->playersName[i][j] = sRecordedBattle_Players[i].name[j]; + battleSave->playersName[i][j] = sPlayers[i].name[j]; } - battleSave->playersGender[i] = sRecordedBattle_Players[i].gender; - battleSave->playersLanguage[i] = sRecordedBattle_Players[i].language; - battleSave->playersBattlers[i] = sRecordedBattle_Players[i].battlerId; - battleSave->playersTrainerId[i] = sRecordedBattle_Players[i].trainerId; + battleSave->playersGender[i] = sPlayers[i].gender; + battleSave->playersLanguage[i] = sPlayers[i].language; + battleSave->playersBattlers[i] = sPlayers[i].battlerId; + battleSave->playersTrainerId[i] = sPlayers[i].trainerId; } battleSave->rngSeed = gRecordedBattleRngSeed; - if (sRecordedBattle_BattleFlags & BATTLE_TYPE_LINK) + if (sBattleFlags & BATTLE_TYPE_LINK) { - battleSave->battleFlags = (sRecordedBattle_BattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20)); + battleSave->battleFlags = (sBattleFlags & ~(BATTLE_TYPE_LINK | BATTLE_TYPE_20)); battleSave->battleFlags |= BATTLE_TYPE_x2000000; - if (sRecordedBattle_BattleFlags & BATTLE_TYPE_WILD) + if (sBattleFlags & BATTLE_TYPE_WILD) { battleSave->battleFlags |= BATTLE_TYPE_x80000000; } - else if (sRecordedBattle_BattleFlags & BATTLE_TYPE_MULTI) + else if (sBattleFlags & BATTLE_TYPE_MULTI) { - switch (sRecordedBattle_Players[0].battlerId) + switch (sPlayers[0].battlerId) { case 0: case 2: - if (!(sRecordedBattle_Players[gUnknown_0203C7B4].battlerId & 1)) + if (!(sPlayers[gUnknown_0203C7B4].battlerId & 1)) battleSave->battleFlags |= BATTLE_TYPE_x80000000; break; case 1: case 3: - if ((sRecordedBattle_Players[gUnknown_0203C7B4].battlerId & 1)) + if ((sPlayers[gUnknown_0203C7B4].battlerId & 1)) battleSave->battleFlags |= BATTLE_TYPE_x80000000; break; } @@ -383,7 +383,7 @@ u32 MoveRecordedBattleToSaveData(void) } else { - battleSave->battleFlags = sRecordedBattle_BattleFlags; + battleSave->battleFlags = sBattleFlags; } battleSave->opponentA = gTrainerBattleOpponent_A; @@ -391,11 +391,11 @@ u32 MoveRecordedBattleToSaveData(void) battleSave->partnerId = gPartnerTrainerId; battleSave->field_4FA = gUnknown_0203C7B4; battleSave->field_4FC = gSaveBlock2Ptr->field_CA9_b; - battleSave->field_4FD = sRecordedBattle_FrontierFacility; + battleSave->field_4FD = sFrontierFacility; battleSave->field_4FE = sUnknown_0203C7AF; battleSave->battleStyle = gSaveBlock2Ptr->optionsBattleStyle; battleSave->textSpeed = gSaveBlock2Ptr->optionsTextSpeed; - battleSave->AI_scripts = sRecordedBattle_AI_Scripts; + battleSave->AI_scripts = sAI_Scripts; /* Can't match it without proper knowledge of the Saveblock 2. if (gTrainerBattleOpponent_A >= 300 && gTrainerBattleOpponent_A <= 399) @@ -525,7 +525,7 @@ _0818535E:\n\ lsls r3, 3\n\ adds r3, r7, r3\n\ str r3, [sp, 0x8]\n\ - ldr r5, =sRecordedBattle_Players\n\ + ldr r5, =sPlayers\n\ mov r8, r6\n\ mov r12, r6\n\ movs r4, 0x96\n\ @@ -536,7 +536,7 @@ _0818535E:\n\ adds r4, r7, r0\n\ _081853AC:\n\ lsls r1, r6, 3\n\ - ldr r0, =sRecordedBattle_Players\n\ + ldr r0, =sPlayers\n\ adds r0, 0x4\n\ mov r3, r8\n\ adds r2, r3, r0\n\ @@ -578,7 +578,7 @@ _081853BA:\n\ ldr r5, =gRecordedBattleRngSeed\n\ ldr r0, [r5]\n\ str r0, [r1]\n\ - ldr r0, =sRecordedBattle_BattleFlags\n\ + ldr r0, =sBattleFlags\n\ ldr r2, [r0]\n\ movs r0, 0x2\n\ ands r0, r2\n\ @@ -608,7 +608,7 @@ _08185454:\n\ ands r2, r0\n\ cmp r2, 0\n\ beq _081854E2\n\ - ldr r2, =sRecordedBattle_Players\n\ + ldr r2, =sPlayers\n\ ldrh r0, [r2, 0xE]\n\ cmp r0, 0x1\n\ beq _081854A8\n\ @@ -630,7 +630,7 @@ _0818547E:\n\ lsls r0, r1, 2\n\ adds r0, r1\n\ lsls r0, 2\n\ - ldr r4, =sRecordedBattle_Players\n\ + ldr r4, =sPlayers\n\ adds r0, r4\n\ ldrh r1, [r0, 0xE]\n\ movs r0, 0x1\n\ @@ -647,7 +647,7 @@ _081854A8:\n\ lsls r0, r1, 2\n\ adds r0, r1\n\ lsls r0, 2\n\ - ldr r1, =sRecordedBattle_Players\n\ + ldr r1, =sPlayers\n\ adds r0, r1\n\ ldrh r1, [r0, 0xE]\n\ movs r0, 0x1\n\ @@ -700,7 +700,7 @@ _081854E2:\n\ ldr r5, =0x000004fc\n\ adds r1, r7, r5\n\ strb r0, [r1]\n\ - ldr r0, =sRecordedBattle_FrontierFacility\n\ + ldr r0, =sFrontierFacility\n\ ldrb r1, [r0]\n\ adds r2, 0x3\n\ adds r0, r7, r2\n\ @@ -735,7 +735,7 @@ _081854E2:\n\ movs r2, 0xA0\n\ lsls r2, 3\n\ adds r1, r7, r2\n\ - ldr r3, =sRecordedBattle_AI_Scripts\n\ + ldr r3, =sAI_Scripts\n\ ldr r0, [r3]\n\ str r0, [r1]\n\ ldr r4, =0xfffffed4\n\ @@ -1354,11 +1354,11 @@ static void SetRecordedBattleVarsFromSave(struct RecordedBattleSave *src) gPartnerTrainerId = src->partnerId; gUnknown_0203C7B4 = src->field_4FA; sUnknown_0203C7AD = gSaveBlock2Ptr->frontierChosenLvl; - sRecordedBattle_FrontierFacility = src->field_4FD; + sFrontierFacility = src->field_4FD; sUnknown_0203C7AF = src->field_4FE; - sRecordedBattle_BattleStyle = src->battleStyle; - sRecordedBattle_TextSpeed = src->textSpeed; - sRecordedBattle_AI_Scripts = src->AI_scripts; + sBattleStyle = src->battleStyle; + sTextSpeed = src->textSpeed; + sAI_Scripts = src->AI_scripts; for (i = 0; i < 8; i++) { @@ -1417,7 +1417,7 @@ static void CB2_RecordedBattle(void) u8 GetRecordedBattleFrontierFacility(void) { - return sRecordedBattle_FrontierFacility; + return sFrontierFacility; } u8 sub_8185EAC(void) @@ -1480,12 +1480,12 @@ u8 sub_8185FAC(void) u8 GetBattleStyleInRecordedBattle(void) { - return sRecordedBattle_BattleStyle; + return sBattleStyle; } u8 GetTextSpeedInRecordedBattle(void) { - return sRecordedBattle_TextSpeed; + return sTextSpeed; } void RecordedBattle_CopyBattlerMoves(void) @@ -1501,7 +1501,7 @@ void RecordedBattle_CopyBattlerMoves(void) for (i = 0; i < 4; i++) { - sRecordedBattle_PlayerMonMoves[gActiveBattler / 2][i] = gBattleMons[gActiveBattler].moves[i]; + sPlayerMonMoves[gActiveBattler / 2][i] = gBattleMons[gActiveBattler].moves[i]; } } @@ -1522,7 +1522,7 @@ void sub_818603C(u8 arg0) { for (j = 0; j < 4; j++) { - if (gBattleMons[battlerId].moves[j] != sRecordedBattle_PlayerMonMoves[battlerId / 2][j]) + if (gBattleMons[battlerId].moves[j] != sPlayerMonMoves[battlerId / 2][j]) break; } if (j != 4) // player's mon's move has been changed @@ -1532,7 +1532,7 @@ void sub_818603C(u8 arg0) { for (k = 0; k < 4; k++) { - if (gBattleMons[battlerId].moves[j] == sRecordedBattle_PlayerMonMoves[battlerId / 2][k]) + if (gBattleMons[battlerId].moves[j] == sPlayerMonMoves[battlerId / 2][k]) { RecordedBattle_SetBattlerAction(battlerId, k); break; @@ -1612,7 +1612,7 @@ void sub_818603C(u8 arg0) u32 GetAiScriptsInRecordedBattle(void) { - return sRecordedBattle_AI_Scripts; + return sAI_Scripts; } void sub_8186444(void) -- cgit v1.2.3 From c556358e47f7af50ba9b04fc1d7b359512c25b03 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 1 Jul 2018 15:28:57 +0200 Subject: label multiuse sprite template functions --- src/battle_controller_link_opponent.c | 21 ++++---- src/battle_controller_link_partner.c | 17 +++---- src/battle_controller_opponent.c | 21 ++++---- src/battle_controller_player.c | 35 +++++++------ src/battle_controller_player_partner.c | 22 ++++---- src/battle_controller_recorded_opponent.c | 17 +++---- src/battle_controller_recorded_player.c | 21 ++++---- src/battle_controller_safari.c | 8 +-- src/battle_controller_wally.c | 17 +++---- src/battle_dome_cards.c | 13 +++-- src/battle_main.c | 6 +-- src/egg_hatch.c | 6 +-- src/evolution_scene.c | 31 ++++++------ src/pokeblock_feed.c | 5 +- src/pokemon.c | 84 ++++++++++++++++--------------- src/reshow_battle_screen.c | 19 ++++--- 16 files changed, 168 insertions(+), 175 deletions(-) (limited to 'src') diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 18963f955..d786dacd1 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -34,7 +34,6 @@ extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); extern void sub_81851A8(u8 *); extern u16 sub_8068B48(void); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); @@ -191,7 +190,7 @@ static void LinkOpponentBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkOpponentBufferExecCompleted(); @@ -1135,9 +1134,9 @@ static void LinkOpponentHandleLoadMonSprite(void) u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - sub_806A068(species, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(gActiveBattler, 2), GetBattlerSpriteDefault_Y(gActiveBattler), sub_80A82E4(gActiveBattler)); @@ -1168,10 +1167,10 @@ static void sub_8066494(u8 battlerId, bool8 dontClearSubstituteBit) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite( - &gUnknown_0202499C, + &gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -1302,8 +1301,8 @@ static void LinkOpponentHandleDrawTrainerPic(void) } DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, sub_80A82E4(gActiveBattler)); @@ -1314,7 +1313,7 @@ static void LinkOpponentHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void LinkOpponentHandleTrainerSlide(void) @@ -1327,8 +1326,8 @@ static void LinkOpponentHandleTrainerSlide(void) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index b2cf62138..9867c14e4 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -34,7 +34,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); extern void sub_81851A8(u8 *); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); @@ -189,7 +188,7 @@ static void LinkPartnerBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) LinkPartnerBufferExecCompleted(); @@ -1024,9 +1023,9 @@ static void LinkPartnerHandleLoadMonSprite(void) BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - sub_806A068(species, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(gActiveBattler, 2), GetBattlerSpriteDefault_Y(gActiveBattler), sub_80A82E4(gActiveBattler)); @@ -1054,10 +1053,10 @@ static void sub_814CC98(u8 battlerId, bool8 dontClearSubstituteBit) gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite( - &gUnknown_0202499C, + &gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -1147,15 +1146,15 @@ static void LinkPartnerHandleDrawTrainerPic(void) } DecompressTrainerBackPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void LinkPartnerHandleTrainerSlide(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 2af17d32e..1eaa9da18 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -38,7 +38,6 @@ extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); extern void sub_81A57E4(u8 battlerId, u16 stringId); extern u8 GetFrontierBrainTrainerPicIndex(void); extern u8 sub_81D5588(u16 trainerId); @@ -200,7 +199,7 @@ static void OpponentBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) OpponentBufferExecCompleted(); @@ -1128,9 +1127,9 @@ static void OpponentHandleLoadMonSprite(void) u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - sub_806A068(species, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(gActiveBattler, 2), GetBattlerSpriteDefault_Y(gActiveBattler), sub_80A82E4(gActiveBattler)); @@ -1163,9 +1162,9 @@ static void sub_80613DC(u8 battlerId, bool8 dontClearSubstituteBit) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -1294,8 +1293,8 @@ static void OpponentHandleDrawTrainerPic(void) } DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, sub_80A82E4(gActiveBattler)); @@ -1306,7 +1305,7 @@ static void OpponentHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void OpponentHandleTrainerSlide(void) @@ -1366,8 +1365,8 @@ static void OpponentHandleTrainerSlide(void) } DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96; gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 26c2cae98..ef45b60cd 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -39,7 +39,7 @@ extern u16 gBattle_BG0_Y; extern s32 gUnknown_0203CD70; extern struct UnusedControllerStruct gUnknown_02022D0C; extern struct MusicPlayerInfo gMPlayInfo_BGM; -extern struct SpriteTemplate gUnknown_0202499C; +extern struct SpriteTemplate gMultiuseSpriteTemplate; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; @@ -47,7 +47,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); extern void sub_81B89AC(u8 arg0); extern void sub_81AABB0(void); -extern void sub_806A068(u16, u8); extern void sub_81A57E4(u8 battlerId, u16 stringId); extern void sub_81851A8(u8 *); @@ -917,7 +916,7 @@ void sub_80587B0(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerBufferExecCompleted(); @@ -2200,10 +2199,10 @@ static void sub_805B258(u8 battlerId, bool8 dontClearSubstituteBit) gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite( - &gUnknown_0202499C, + &gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -2282,7 +2281,7 @@ static void PlayerHandleDrawTrainerPic(void) } else { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender; + trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_BRENDAN; } } else @@ -2292,9 +2291,9 @@ static void PlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon + if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != B_FLANK_LEFT) // Second mon, on the right. xPos = 90; - else // first mon + else // First mon, on the left. xPos = 32; if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER) @@ -2319,8 +2318,8 @@ static void PlayerHandleDrawTrainerPic(void) { trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -2330,12 +2329,12 @@ static void PlayerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0; gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } - // use the back pic in any other scenario + // Use the back pic in any other scenario. else { DecompressTrainerBackPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -2343,7 +2342,7 @@ static void PlayerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; } - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void PlayerHandleTrainerSlide(void) @@ -2364,17 +2363,17 @@ static void PlayerHandleTrainerSlide(void) } else { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender; + trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_BRENDAN; } } else { - trainerPicId = gSaveBlock2Ptr->playerGender; + trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; } DecompressTrainerBackPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index d7878678a..cd3a94692 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -35,7 +35,7 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_81358F4(void); extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); +extern void SetMultiuseSpriteTemplateToPokemon(u16, u8); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions @@ -204,7 +204,7 @@ static void PlayerPartnerBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) PlayerPartnerBufferExecCompleted(); @@ -1211,9 +1211,9 @@ static void PlayerPartnerHandleLoadMonSprite(void) BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - sub_806A068(species, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(gActiveBattler, 2), GetBattlerSpriteDefault_Y(gActiveBattler), sub_80A82E4(gActiveBattler)); @@ -1241,10 +1241,10 @@ static void sub_81BD0E4(u8 battlerId, bool8 dontClearSubstituteBit) gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite( - &gUnknown_0202499C, + &gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -1326,8 +1326,8 @@ static void PlayerPartnerHandleDrawTrainerPic(void) if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) { DecompressTrainerBackPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -1337,8 +1337,8 @@ static void PlayerPartnerHandleDrawTrainerPic(void) else // otherwise use front sprite { DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -1349,7 +1349,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; } - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void PlayerPartnerHandleTrainerSlide(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 1fd1deebf..affcb09ab 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -37,7 +37,6 @@ extern u8 gUnknown_0203C7B4; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); extern u16 sub_8068B48(void); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); @@ -193,7 +192,7 @@ static void RecordedOpponentBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) RecordedOpponentBufferExecCompleted(); @@ -1119,9 +1118,9 @@ static void RecordedOpponentHandleLoadMonSprite(void) u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - sub_806A068(species, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(gActiveBattler, 2), GetBattlerSpriteDefault_Y(gActiveBattler), sub_80A82E4(gActiveBattler)); @@ -1154,9 +1153,9 @@ static void sub_81885D8(u8 battlerId, bool8 dontClearSubstituteBit) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -1252,8 +1251,8 @@ static void RecordedOpponentHandleDrawTrainerPic(void) } DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, sub_80A82E4(gActiveBattler)); @@ -1264,7 +1263,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void RecordedOpponentHandleTrainerSlide(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index b6a96b6fd..4f224bc67 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -36,7 +36,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); // this file's functions @@ -190,7 +189,7 @@ static void RecordedPlayerBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) RecordedPlayerBufferExecCompleted(); @@ -1107,9 +1106,9 @@ static void RecordedPlayerHandleLoadMonSprite(void) BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - sub_806A068(species, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(gActiveBattler, 2), GetBattlerSpriteDefault_Y(gActiveBattler), sub_80A82E4(gActiveBattler)); @@ -1137,10 +1136,10 @@ static void sub_818BA6C(u8 battlerId, bool8 dontClearSubstituteBit) gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBattlerPosition(battlerId)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite( - &gUnknown_0202499C, + &gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); @@ -1242,8 +1241,8 @@ static void RecordedPlayerHandleDrawTrainerPic(void) { trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -1256,8 +1255,8 @@ static void RecordedPlayerHandleDrawTrainerPic(void) else { DecompressTrainerBackPic(trainerPicId, gActiveBattler); - sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler)); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; @@ -1265,7 +1264,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; } - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void RecordedPlayerHandleTrainerSlide(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index bc69e2624..f7be76c9b 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -239,7 +239,7 @@ static void HandleInputChooseAction(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); @@ -358,9 +358,9 @@ static void SafariHandleReturnMonToBall(void) static void SafariHandleDrawTrainerPic(void) { DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBattler); - sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler)); + SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler)); gBattlerSpriteIds[gActiveBattler] = CreateSprite( - &gUnknown_0202499C, + &gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80, 30); @@ -368,7 +368,7 @@ static void SafariHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void SafariHandleTrainerSlide(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f66a1d773..f024c29c0 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -39,7 +39,6 @@ extern struct UnusedControllerStruct gUnknown_02022D0C; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_806A068(u16, u8); // this file's functions static void WallyHandleGetMonData(void); @@ -254,7 +253,7 @@ static void WallyHandleActions(void) } } -static void CompleteOnBankSpriteCallbackDummy(void) +static void CompleteOnBattlerSpriteCallbackDummy(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); @@ -1039,8 +1038,8 @@ static void WallyHandleReturnMonToBall(void) static void WallyHandleDrawTrainerPic(void) { DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler); - sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords), 30); @@ -1048,14 +1047,14 @@ static void WallyHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; } static void WallyHandleTrainerSlide(void) { DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler); - sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, + SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); + gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords), 30); @@ -1466,8 +1465,8 @@ static void sub_816AA80(u8 battlerId) gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1]; species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714); - sub_806A068(species, GetBattlerPosition(battlerId)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gUnknown_0202499C, + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); + gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battlerId, 2), GetBattlerSpriteDefault_Y(battlerId), sub_80A82E4(battlerId)); diff --git a/src/battle_dome_cards.c b/src/battle_dome_cards.c index 076a4d342..5e659a2e8 100644 --- a/src/battle_dome_cards.c +++ b/src/battle_dome_cards.c @@ -16,14 +16,15 @@ extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const union AffineAnimCmd *const gUnknown_082FF618[]; extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *const gUnknown_082FF70C[]; +extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[]; extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES]; extern const union AnimCmd *const *const gUnknown_0830536C[]; extern const u8 gFacilityClassToPicIndex[]; // Static type declarations -struct BattleDomeCard { +struct BattleDomeCard +{ u8 *frames; struct SpriteFrameImage *images; u16 paletteTag; @@ -41,10 +42,12 @@ static EWRAM_DATA struct BattleDomeCard gUnknown_0203CD04[8] = {}; // .rodata static const struct BattleDomeCard gUnknown_0860B058 = {}; -static const struct OamData gUnknown_0860B064 = { +static const struct OamData gUnknown_0860B064 = +{ .size = 3 }; -static const struct OamData gUnknown_0860B06C = { +static const struct OamData gUnknown_0860B06C = +{ .affineMode = 1, .size = 3 }; @@ -158,7 +161,7 @@ static void uns_builder_assign_animtable1(bool8 isTrainer) { if (!isTrainer) { - gUnknown_0203CCEC.anims = gUnknown_082FF70C; + gUnknown_0203CCEC.anims = gPlayerMonSpriteAnimsTable; } else { diff --git a/src/battle_main.c b/src/battle_main.c index 9bec15750..591c299d7 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -300,6 +300,7 @@ u8 gNumberOfMovesToChoose; u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; // rom const data +static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0}; // format: attacking type, defending type, damage multiplier // the multiplier is a (decimal) fixed-point number: @@ -307,9 +308,6 @@ u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT]; // 10 is ×1.0 TYPE_MUL_NORMAL // 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE // 00 is ×0.0 TYPE_MUL_NO_EFFECT - -static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0}; - const u8 gTypeEffectiveness[336] = { TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE, @@ -2808,7 +2806,7 @@ void sub_8039BB4(struct Sprite *sprite) static void oac_poke_ally_(struct Sprite *sprite) { - if ((gIntroSlideFlags & 1) == 0) + if (!(gIntroSlideFlags & 1)) { sprite->pos2.x -= 2; if (sprite->pos2.x == 0) diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 00e6236fe..1e89650d3 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -57,12 +57,10 @@ extern const u8 gText_NickHatchPrompt[]; extern u8 sav1_map_get_name(void); extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8); -extern void sub_806A068(u16, u8); extern void FadeScreen(u8, u8); extern void overworld_free_bg_tilemaps(void); extern void sub_80AF168(void); extern void ScanlineEffect_Stop(void); -extern void CB2_ReturnToField(void); extern void play_some_sound(void); extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback); extern u16 sub_80D22D0(void); @@ -437,8 +435,8 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc } break; case 1: - sub_806A068(GetMonSpritePalStruct(mon)->tag, r5); - spriteID = CreateSprite(&gUnknown_0202499C, 120, 75, 6); + SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, r5); + spriteID = CreateSprite(&gMultiuseSpriteTemplate, 120, 75, 6); gSprites[spriteID].invisible = 1; gSprites[spriteID].callback = SpriteCallbackDummy; break; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 84f00418c..7079375f8 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -62,7 +62,6 @@ extern const u8 gText_CommunicationStandby5[]; extern void sub_80356D0(void); extern void sub_807B154(void); -extern void sub_806A068(u16, u8); extern void sub_807F19C(void); extern void sub_807B140(void); extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); @@ -280,9 +279,9 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality); LoadCompressedPalette(pokePal->data, 0x110, 0x20); - sub_806A068(currSpecies, 1); - gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->preEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30); + SetMultiuseSpriteTemplateToPokemon(currSpecies, 1); + gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + sEvoStructPtr->preEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 1; @@ -295,9 +294,9 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, pokePal = GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, trainerId, personality); LoadCompressedPalette(pokePal->data, 0x120, 0x20); - sub_806A068(speciesToEvolve, 3); - gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30); + SetMultiuseSpriteTemplateToPokemon(speciesToEvolve, 3); + gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; gSprites[ID].invisible = 1; @@ -373,9 +372,9 @@ static void CB2_EvolutionSceneLoadGraphics(void) LoadCompressedPalette(pokePal->data, 0x120, 0x20); - sub_806A068(postEvoSpecies, 3); - gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30); + SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, 3); + gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; @@ -450,9 +449,9 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) { u8 ID; - sub_806A068(postEvoSpecies, 1); - gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30); + SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, 1); + gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; @@ -509,9 +508,9 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri pokePal = GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, trainerId, personality); LoadCompressedPalette(pokePal->data, 0x120, 0x20); - sub_806A068(speciesToEvolve, 1); - gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable; - sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30); + SetMultiuseSpriteTemplateToPokemon(speciesToEvolve, 1); + gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable; + sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30); gSprites[ID].callback = SpriteCallbackDummy_2; gSprites[ID].oam.paletteNum = 2; diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index d3fdbd355..7ce7affcc 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -58,7 +58,6 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const u16 gUnknown_0860F074[]; extern bool8 sub_81221EC(void); -extern void sub_806A068(u16, u8); extern void LoadSav2WindowGfx(u8, u16, u8); // this file's functions @@ -661,7 +660,7 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon) palette = GetMonSpritePalStructFromOtIdPersonality(species, trainerId, personality); LoadCompressedObjectPalette(palette); - sub_806A068(palette->tag, 1); + SetMultiuseSpriteTemplateToPokemon(palette->tag, 1); sPokeblockFeed->loadGfxState++; break; case 2: @@ -827,7 +826,7 @@ static void Task_PaletteFadeToReturn(u8 taskId) static u8 CreateMonSprite(struct Pokemon* mon) { u16 species = GetMonData(mon, MON_DATA_SPECIES2); - u8 spriteId = CreateSprite(&gUnknown_0202499C, 48, 80, 2); + u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 48, 80, 2); sPokeblockFeed->species = species; sPokeblockFeed->monSpriteId_ = spriteId; diff --git a/src/pokemon.c b/src/pokemon.c index d06da3e9e..80c1ab784 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -63,7 +63,7 @@ extern const struct SpriteFrameImage gUnknown_082FF4F8[]; extern const struct SpriteFrameImage gUnknown_082FF518[]; extern const union AffineAnimCmd *const gUnknown_082FF618[]; extern const union AffineAnimCmd *const gUnknown_082FF694[]; -extern const union AnimCmd *gUnknown_082FF70C[]; +extern const union AnimCmd *gPlayerMonSpriteAnimsTable[]; extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[]; extern const union AnimCmd *const *const gUnknown_08305D0C[]; extern const union AnimCmd *const *const gUnknown_0830536C[]; @@ -105,7 +105,7 @@ EWRAM_DATA u8 gPlayerPartyCount = 0; EWRAM_DATA u8 gEnemyPartyCount = 0; EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {0}; EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0}; -EWRAM_DATA struct SpriteTemplate gUnknown_0202499C = {0}; +EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0}; EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL}; // const rom data @@ -2486,13 +2486,14 @@ static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) { if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER)) return FALSE; - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) return FALSE; - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) return FALSE; - if (FlagGet(badgeFlag)) + else if (FlagGet(badgeFlag)) return TRUE; - return FALSE; + else + return FALSE; } u8 GetDefaultMoveTarget(u8 battlerId) @@ -2561,53 +2562,53 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } -void sub_806A068(u16 species, u8 battlerPosition) +void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition) { if (gMonSpritesGfxPtr != NULL) - gUnknown_0202499C = gMonSpritesGfxPtr->templates[battlerPosition]; + gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; else if (gUnknown_020249B4[0]) - gUnknown_0202499C = gUnknown_020249B4[0]->templates[battlerPosition]; + gMultiuseSpriteTemplate = gUnknown_020249B4[0]->templates[battlerPosition]; else if (gUnknown_020249B4[1]) - gUnknown_0202499C = gUnknown_020249B4[1]->templates[battlerPosition]; + gMultiuseSpriteTemplate = gUnknown_020249B4[1]->templates[battlerPosition]; else - gUnknown_0202499C = gUnknown_08329D98[battlerPosition]; + gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; - gUnknown_0202499C.paletteTag = species; - if (battlerPosition == 0 || battlerPosition == 2) - gUnknown_0202499C.anims = gUnknown_082FF70C; + gMultiuseSpriteTemplate.paletteTag = species; + if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) + gMultiuseSpriteTemplate.anims = gPlayerMonSpriteAnimsTable; else if (species > 500) - gUnknown_0202499C.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500]; + gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500]; else - gUnknown_0202499C.anims = gMonAnimationsSpriteAnimsPtrTable[species]; + gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species]; } -void sub_806A12C(u16 trainerSpriteId, u8 battlerPosition) +void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition) { - gUnknown_0202499C.paletteTag = trainerSpriteId; + gMultiuseSpriteTemplate.paletteTag = trainerSpriteId; if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) { - gUnknown_0202499C = gUnknown_08329DF8[trainerSpriteId]; - gUnknown_0202499C.anims = gUnknown_08305D0C[trainerSpriteId]; + gMultiuseSpriteTemplate = gUnknown_08329DF8[trainerSpriteId]; + gMultiuseSpriteTemplate.anims = gUnknown_08305D0C[trainerSpriteId]; } else { if (gMonSpritesGfxPtr != NULL) - gUnknown_0202499C = gMonSpritesGfxPtr->templates[battlerPosition]; + gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; else - gUnknown_0202499C = gUnknown_08329D98[battlerPosition]; - gUnknown_0202499C.anims = gUnknown_0830536C[trainerSpriteId]; + gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; + gMultiuseSpriteTemplate.anims = gUnknown_0830536C[trainerSpriteId]; } } -void sub_806A1C0(u16 arg0, u8 battlerPosition) +void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition) { if (gMonSpritesGfxPtr != NULL) - gUnknown_0202499C = gMonSpritesGfxPtr->templates[battlerPosition]; + gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition]; else - gUnknown_0202499C = gUnknown_08329D98[battlerPosition]; + gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition]; - gUnknown_0202499C.paletteTag = arg0; - gUnknown_0202499C.anims = gUnknown_0830536C[arg0]; + gMultiuseSpriteTemplate.paletteTag = arg0; + gMultiuseSpriteTemplate.anims = gUnknown_0830536C[arg0]; } static void EncryptBoxMon(struct BoxPokemon *boxMon) @@ -3136,7 +3137,8 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg) { - const u8* data = dataArg; + const u8 *data = dataArg; + switch (field) { case MON_DATA_STATUS: @@ -3179,7 +3181,7 @@ void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg) void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) { - const u8* data = dataArg; + const u8 *data = dataArg; struct PokemonSubstruct0 *substruct0 = NULL; struct PokemonSubstruct1 *substruct1 = NULL; @@ -4511,7 +4513,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) else holdEffect = ItemId_GetHoldEffect(heldItem); - if (holdEffect == 38 && type != 3) + if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && type != 3) return 0; switch (type) @@ -4849,16 +4851,17 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId) { if (InBattlePyramid()) return GetTrainerEncounterMusicIdInBattlePyramind(trainerOpponentId); - if (sub_81D5C18()) + else if (sub_81D5C18()) return sub_81D63C8(trainerOpponentId); - return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId); + else + return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId); } u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex) { if (statIndex < 1 || statIndex > 5) { - // should just be "return n", but it wouldn't match without this + // Should just be "return n", but it wouldn't match without this. u16 retVal = n; retVal++; retVal--; @@ -5165,7 +5168,7 @@ void PartySpreadPokerus(struct Pokemon *party) { if (pokerus & 0xF) { - // spread to adjacent party members + // Spread to adjacent party members. if (i != 0 && !(GetMonData(&party[i - 1], MON_DATA_POKERUS, 0) & 0xF0)) SetMonData(&party[i - 1], MON_DATA_POKERUS, &curPokerus); if (i != (PARTY_SIZE - 1) && !(GetMonData(&party[i + 1], MON_DATA_POKERUS, 0) & 0xF0)) @@ -5365,11 +5368,11 @@ u16 GetBattleBGM(void) { if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) return MUS_BATTLE34; - if (gBattleTypeFlags & BATTLE_TYPE_REGI) + else if (gBattleTypeFlags & BATTLE_TYPE_REGI) return MUS_BATTLE36; - if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) + else if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000)) return MUS_BATTLE20; - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) + else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { u8 trainerClass; @@ -5414,7 +5417,8 @@ u16 GetBattleBGM(void) return MUS_BATTLE20; } } - return MUS_BATTLE27; + else + return MUS_BATTLE27; } void PlayBattleBGM(void) @@ -5948,7 +5952,7 @@ static void sub_806F1FC(struct Unknown_806F160_Struct* structPtr) structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800]; } structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0]; - structPtr->templates[i].anims = gUnknown_082FF70C; + structPtr->templates[i].anims = gPlayerMonSpriteAnimsTable; structPtr->templates[i].paletteTag = i; } } diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 4d5240bc7..60580ef2d 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -27,8 +27,7 @@ extern u16 gBattle_BG3_Y; extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; -extern void sub_806A068(u16 species, u8 battlerPosition); -extern void sub_806A12C(u16 backPicId, u8 battlerPosition); +extern void SetMultiuseSpriteTemplateToTrainerBack(u16 backPicId, u8 battlerPosition); // this file's functions static void CB2_ReshowBattleScreenAfterMenu(void); @@ -235,8 +234,8 @@ static void CreateBattlerSprite(u8 battler) if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) return; - sub_806A068(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); - gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler)); + SetMultiuseSpriteTemplateToPokemon(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; gSprites[gBattlerSpriteIds[battler]].data[0] = battler; @@ -248,8 +247,8 @@ static void CreateBattlerSprite(u8 battler) } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) { - sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT)); - gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50, + SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50, (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80, sub_80A82E4(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; @@ -258,8 +257,8 @@ static void CreateBattlerSprite(u8 battler) } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) { - sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0)); - gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50, + SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50, (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords) * 4 + 80, sub_80A82E4(0)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; @@ -271,8 +270,8 @@ static void CreateBattlerSprite(u8 battler) if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) return; - sub_806A068(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); - gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler)); + SetMultiuseSpriteTemplateToPokemon(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler)); gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; gSprites[gBattlerSpriteIds[battler]].data[0] = battler; -- cgit v1.2.3 From e6d67c7c2299a0c6fa7ec79fa1427c4a1277a6f7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 1 Jul 2018 15:45:47 +0200 Subject: give labels to player controller functions --- src/battle_controller_player.c | 66 +++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'src') diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index ef45b60cd..992d8656c 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -122,11 +122,11 @@ static void HandleMoveSwitchting(void); static void sub_8058FC0(void); static void sub_8059828(void); static void CompleteWhenChoseItem(void); -static void sub_8059544(u8 taskId); +static void Task_LaunchLvlUpAnim(u8 taskId); static void Task_PrepareToGiveExpWithExpBar(u8 taskId); static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId); static void sub_8059400(u8 taskId); -static void sub_80595A4(u8 taskId); +static void Task_UpdateLvlInHealthbox(u8 taskId); static void PrintLinkStandbyMsg(void); static u32 CopyPlayerMonData(u8 monId, u8 *dst); static void SetPlayerMonData(u8 monId); @@ -1143,16 +1143,16 @@ static void CompleteOnInactiveTextPrinter(void) #define tExpTask_monId data[0] #define tExpTask_gainedExp data[1] -#define tExpTask_bank data[2] +#define tExpTask_battler data[2] #define tExpTask_frames data[10] static void Task_GiveExpToMon(u8 taskId) { u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battlerId = gTasks[taskId].tExpTask_battler; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // give exp without the expbar + if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // Give exp without moving the expbar. { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1162,19 +1162,19 @@ static void Task_GiveExpToMon(u8 taskId) if (currExp + gainedExp >= nextLvlExp) { - u8 savedActiveBank; + u8 savedActiveBattler; SetMonData(mon, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; - savedActiveBank = gActiveBattler; + savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); - gActiveBattler = savedActiveBank; + gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[battlerId ^ BIT_FLANK])) - gTasks[taskId].func = sub_8059544; + gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; } @@ -1196,7 +1196,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; s32 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battlerId = gTasks[taskId].tExpTask_battler; struct Pokemon *mon = &gPlayerParty[monIndex]; u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1221,12 +1221,12 @@ static void sub_8059400(u8 taskId) { u8 monId = gTasks[taskId].tExpTask_monId; s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; - s16 r4; + u8 battlerId = gTasks[taskId].tExpTask_battler; + s16 newExpPoints; - r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); + newExpPoints = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); - if (r4 == -1) + if (newExpPoints == -1) // The bar has been filled with given exp points. { u8 level; s32 currExp; @@ -1241,16 +1241,16 @@ static void sub_8059400(u8 taskId) if (currExp + gainedExp >= expOnNextLvl) { - u8 savedActiveBank; + u8 savedActiveBattler; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &expOnNextLvl); CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; - savedActiveBank = gActiveBattler; + savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); - gActiveBattler = savedActiveBank; - gTasks[taskId].func = sub_8059544; + gActiveBattler = savedActiveBattler; + gTasks[taskId].func = Task_LaunchLvlUpAnim; } else { @@ -1263,27 +1263,27 @@ static void sub_8059400(u8 taskId) } } -static void sub_8059544(u8 taskId) +static void Task_LaunchLvlUpAnim(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battlerId = gTasks[taskId].tExpTask_battler; u8 monIndex = gTasks[taskId].tExpTask_monId; if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[battlerId ^ BIT_FLANK]) battlerId ^= BIT_FLANK; InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); - gTasks[taskId].func = sub_80595A4; + gTasks[taskId].func = Task_UpdateLvlInHealthbox; } -static void sub_80595A4(u8 taskId) +static void Task_UpdateLvlInHealthbox(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_bank; + u8 battlerId = gTasks[taskId].tExpTask_battler; if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) { u8 monIndex = gTasks[taskId].tExpTask_monId; - GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value + GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[battlerId ^ BIT_FLANK]) UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId ^ BIT_FLANK], &gPlayerParty[monIndex], HEALTHBOX_ALL); @@ -1300,8 +1300,8 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) u8 battlerId; monIndex = gTasks[taskId].tExpTask_monId; - GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - battlerId = gTasks[taskId].tExpTask_bank; + GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. + battlerId = gTasks[taskId].tExpTask_battler; gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } @@ -2466,7 +2466,7 @@ static void PlayerHandleMoveAnimation(void) gWeatherMoveAnim = gBattleBufferA[gActiveBattler][12] | (gBattleBufferA[gActiveBattler][13] << 8); gAnimDisableStructPtr = (struct DisableStruct *)&gBattleBufferA[gActiveBattler][16]; gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // always returns FALSE + if (IsMoveWithoutAnimation(move, gAnimMoveTurn)) // Always returns FALSE. { PlayerBufferExecCompleted(); } @@ -2722,19 +2722,19 @@ static void PlayerHandleExpUpdate(void) u8 taskId; LoadBattleBarGfx(1); - GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // unused return value - expPointsToGive = gBattleBufferA[gActiveBattler][2] | (gBattleBufferA[gActiveBattler][3] << 8); + GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // Unused return value. + expPointsToGive = T1_READ_16(&gBattleBufferA[gActiveBattler][2]); taskId = CreateTask(Task_GiveExpToMon, 10); gTasks[taskId].tExpTask_monId = monId; gTasks[taskId].tExpTask_gainedExp = expPointsToGive; - gTasks[taskId].tExpTask_bank = gActiveBattler; + gTasks[taskId].tExpTask_battler = gActiveBattler; gBattlerControllerFuncs[gActiveBattler] = nullsub_21; } } #undef tExpTask_monId #undef tExpTask_gainedExp -#undef tExpTask_bank +#undef tExpTask_battler #undef tExpTask_frames static void PlayerHandleStatusIconUpdate(void) @@ -2971,7 +2971,7 @@ static void task05_08033660(u8 taskId) } else { - u8 savedActiveBank = gActiveBattler; + u8 savedActiveBattler = gActiveBattler; gActiveBattler = gTasks[taskId].data[0]; if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) @@ -2990,7 +2990,7 @@ static void task05_08033660(u8 taskId) gActiveBattler ^= BIT_FLANK; } gBattlerControllerFuncs[gActiveBattler] = sub_8058B40; - gActiveBattler = savedActiveBank; + gActiveBattler = savedActiveBattler; DestroyTask(taskId); } } -- cgit v1.2.3 From f79ac26ce36197ddf98ab18b6699c76039ec68db Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 5 Jul 2018 20:33:07 -0700 Subject: Rename SetLastTalkedObjectInFrontOfPlayer to CheckObjectGraphicsInFrontOfPlayer --- src/fldeff_cut.c | 4 ++-- src/fldeff_strength.c | 2 +- src/rom6.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index c2f5e7731..9de954e80 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -19,7 +19,7 @@ #include "constants/songs.h" #include "constants/abilities.h" -extern bool8 SetLastTalkedObjectInFrontOfPlayer(u8); +extern bool8 CheckObjectGraphicsInFrontOfPlayer(u8); extern u8 oei_task_add(void); extern void ScriptUnfreezeEventObjects(void); extern bool8 IsMewPlayingHideAndSeek(void); @@ -183,7 +183,7 @@ bool8 SetUpFieldMove_Cut(void) bool8 cutTiles[CUT_NORMAL_AREA]; bool8 ret; - if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) + if (CheckObjectGraphicsInFrontOfPlayer(EVENT_OBJ_GFX_CUTTABLE_TREE) == TRUE) { // Standing in front of cuttable tree. gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/fldeff_strength.c b/src/fldeff_strength.c index ae7b557d8..74eb100bc 100644 --- a/src/fldeff_strength.c +++ b/src/fldeff_strength.c @@ -15,7 +15,7 @@ static void sub_8145E74(void); // text bool8 SetUpFieldMove_Strength(void) { - if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) + if (CheckObjectGraphicsInFrontOfPlayer(EVENT_OBJ_GFX_PUSHABLE_BOULDER) == TRUE) { gSpecialVar_Result = GetCursorSelectionMonId(); gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; diff --git a/src/rom6.c b/src/rom6.c index 6c7439622..78cbbe2de 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -30,7 +30,7 @@ static void sub_8135780(void); extern struct MapPosition gPlayerFacingPosition; // text -bool8 SetLastTalkedObjectInFrontOfPlayer(u8 a) +bool8 CheckObjectGraphicsInFrontOfPlayer(u8 a) { u8 eventObjId; @@ -125,7 +125,7 @@ bool8 SetUpFieldMove_RockSmash(void) gPostMenuFieldCallback = sub_8179834; return TRUE; } - else if (SetLastTalkedObjectInFrontOfPlayer(EVENT_OBJ_GFX_BREAKABLE_ROCK) == TRUE) + else if (CheckObjectGraphicsInFrontOfPlayer(EVENT_OBJ_GFX_BREAKABLE_ROCK) == TRUE) { gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu; gPostMenuFieldCallback = sub_81356C4; -- cgit v1.2.3 From 1c48e585747de0a2273c4b3eb4be114d5214b8a2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 7 Jul 2018 14:24:19 +0200 Subject: small fixes --- src/battle_message.c | 9 ++++++++- src/fieldmap.c | 6 +++--- src/item.c | 2 +- src/item_icon.c | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/battle_message.c b/src/battle_message.c index 7d442ea98..32097fd76 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1197,7 +1197,14 @@ const u8 * const gStatNamesTable2[] = }; const u8 gText_SafariBalls[] = _("{HIGHLIGHT DARK_GREY}SAFARI BALLS"); -const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GREY}Left: $" "{HIGHLIGHT DARK_GREY}");const u8 gText_Sleep[] = _( "sleep");const u8 gText_Poison[] = _( "poison");const u8 gText_Burn[] = _( "burn");const u8 gText_Paralysis[] = _( "paralysis");const u8 gText_Ice[] = _( "ice");const u8 gText_Confusion[] = _( "confusion");const u8 gText_Love[] = _( "love"); +const u8 gText_SafariBallLeft[] = _("{HIGHLIGHT DARK_GREY}Left: $" "{HIGHLIGHT DARK_GREY}"); +const u8 gText_Sleep[] = _("sleep"); +const u8 gText_Poison[] = _("poison"); +const u8 gText_Burn[] = _("burn"); +const u8 gText_Paralysis[] = _("paralysis"); +const u8 gText_Ice[] = _("ice"); +const u8 gText_Confusion[] = _("confusion"); +const u8 gText_Love[] = _("love"); const u8 gText_SpaceAndSpace[] = _(" and "); const u8 gText_CommaSpace[] = _(", "); const u8 gText_Space2[] = _(" "); diff --git a/src/fieldmap.c b/src/fieldmap.c index 2561bceb7..f57c4b48f 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -380,7 +380,7 @@ u8 MapGridGetZCoordAt(int x, int y) { return 0; } - + return block >> 12; } @@ -559,7 +559,7 @@ void mapdata_from_sav2(void) a0 = 1; else a0 = -1; - + for (j = x; j < x + 15; j++) { if (!sub_8088BF0(&gUnknown_02032318[j + width * i], width, a0)) @@ -922,7 +922,7 @@ bool8 sub_8088BF0(u16* a0, u16 a1, u8 a2) { if (a2 == 0xFF) return FALSE; - + if (a2 == 0) a0 -= a1; else diff --git a/src/item.c b/src/item.c index 30710d08a..c94f29910 100644 --- a/src/item.c +++ b/src/item.c @@ -1024,7 +1024,7 @@ bool8 RemovePyramidBagItem(u16 itemId, u16 count) static u16 SanitizeItemId(u16 itemId) { - if (itemId >= ITEM_LAST_ID + 1) + if (itemId >= ITEMS_COUNT) return ITEM_NONE; else return itemId; diff --git a/src/item_icon.c b/src/item_icon.c index d6fedf892..68ec1daf0 100644 --- a/src/item_icon.c +++ b/src/item_icon.c @@ -162,7 +162,7 @@ const void *GetItemIconPicOrPalette(u16 itemId, u8 which) { if (itemId == 0xFFFF) itemId = ITEM_FIELD_ARROW; - else if (itemId > ITEM_LAST_ID) + else if (itemId >= ITEMS_COUNT) itemId = 0; return gItemIconTable[itemId][which]; -- cgit v1.2.3 From 008d961b2a3d2d145f9ff8e7515cfb4f5e04128c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 7 Jul 2018 19:57:09 +0200 Subject: add party menu defines --- src/battle_controller_player.c | 26 +++++++++++++------------- src/battle_controllers.c | 4 ++-- src/battle_main.c | 31 ++++++++++++++++--------------- src/battle_script_commands.c | 7 ++++--- src/battle_util.c | 4 ++-- src/pokemon.c | 12 ++++++------ 6 files changed, 43 insertions(+), 41 deletions(-) (limited to 'src') diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 992d8656c..8f69dab06 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -30,6 +30,7 @@ #include "battle_setup.h" #include "item_use.h" #include "recorded_battle.h" +#include "party_menu.h" extern u8 gUnknown_0203CEE8; extern u8 gUnknown_0203CEE9; @@ -45,7 +46,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon); -extern void sub_81B89AC(u8 arg0); extern void sub_81AABB0(void); extern void sub_81A57E4(u8 battlerId, u16 stringId); extern void sub_81851A8(u8 *); @@ -120,7 +120,7 @@ static void MoveSelectionDisplayMoveType(void); static void MoveSelectionDisplayMoveNames(void); static void HandleMoveSwitchting(void); static void sub_8058FC0(void); -static void sub_8059828(void); +static void WaitForMonSelection(void); static void CompleteWhenChoseItem(void); static void Task_LaunchLvlUpAnim(u8 taskId); static void Task_PrepareToGiveExpWithExpBar(u8 taskId); @@ -1337,21 +1337,21 @@ static void CompleteOnInactiveTextPrinter2(void) PlayerBufferExecCompleted(); } -static void sub_80597CC(void) +static void OpenPartyMenuToChooseMon(void) { if (!gPaletteFade.active) { - u8 r4; + u8 caseId; - gBattlerControllerFuncs[gActiveBattler] = sub_8059828; - r4 = gTasks[gUnknown_03005D7C[gActiveBattler]].data[0]; + gBattlerControllerFuncs[gActiveBattler] = WaitForMonSelection; + caseId = gTasks[gUnknown_03005D7C[gActiveBattler]].data[0]; DestroyTask(gUnknown_03005D7C[gActiveBattler]); FreeAllWindowBuffers(); - sub_81B89AC(r4); + OpenPartyMenuInBattle(caseId); } } -static void sub_8059828(void) +static void WaitForMonSelection(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { @@ -2655,7 +2655,7 @@ static void PlayerHandleChoosePokemon(void) for (i = 0; i < 3; i++) gUnknown_0203CF00[i] = gBattleBufferA[gActiveBattler][4 + i]; - if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != 2) + if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleBufferA[gActiveBattler][1] & 0xF) != PARTY_CANT_SWITCH) { BtlController_EmitChosenMonReturnValue(1, gBattlerPartyIndexes[gActiveBattler] + 1, gUnknown_0203CF00); PlayerBufferExecCompleted(); @@ -2664,11 +2664,11 @@ static void PlayerHandleChoosePokemon(void) { gUnknown_03005D7C[gActiveBattler] = CreateTask(TaskDummy, 0xFF); gTasks[gUnknown_03005D7C[gActiveBattler]].data[0] = gBattleBufferA[gActiveBattler][1] & 0xF; - *(&gBattleStruct->field_49) = gBattleBufferA[gActiveBattler][1] >> 4; + *(&gBattleStruct->battlerPreventingSwitchout) = gBattleBufferA[gActiveBattler][1] >> 4; *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2]; - *(&gBattleStruct->field_B0) = gBattleBufferA[gActiveBattler][3]; - BeginNormalPaletteFade(-1, 0, 0, 16, 0); - gBattlerControllerFuncs[gActiveBattler] = sub_80597CC; + *(&gBattleStruct->abilityPreventingSwitchout) = gBattleBufferA[gActiveBattler][3]; + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon; gBattlerInMenuId = gActiveBattler; } } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index c841aaa03..1ce5d3099 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1181,7 +1181,7 @@ void BtlController_EmitChooseItem(u8 bufferId, u8 *arg1) PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); } -void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4) +void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8 *arg4) { s32 i; @@ -1191,7 +1191,7 @@ void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 ability sBattleBuffersTransferData[3] = abilityId; for (i = 0; i < 3; i++) sBattleBuffersTransferData[4 + i] = arg4[i]; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 8); // but only 7 bytes were written + PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 8); // Only 7 bytes were written. } void BtlController_EmitCmd23(u8 bufferId) diff --git a/src/battle_main.c b/src/battle_main.c index 591c299d7..fe6e62c5d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -51,6 +51,7 @@ #include "decompress.h" #include "international_string_util.h" #include "pokeball.h" +#include "party_menu.h" struct UnknownPokemonStruct4 { @@ -3232,7 +3233,7 @@ void FaintClearSetData(void) gProtectStructs[gActiveBattler].protected = 0; gProtectStructs[gActiveBattler].endured = 0; - gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].noValidMoves = 0; gProtectStructs[gActiveBattler].helpingHand = 0; gProtectStructs[gActiveBattler].bounceMove = 0; gProtectStructs[gActiveBattler].stealMove = 0; @@ -4141,11 +4142,11 @@ static void HandleTurnActionSelectionState(void) u8 position = GetBattlerPosition(gActiveBattler); switch (gBattleCommunication[gActiveBattler]) { - case STATE_TURN_START_RECORD: // recorded battle related on start of every turn + case STATE_TURN_START_RECORD: // Recorded battle related action on start of every turn. RecordedBattle_CopyBattlerMoves(); gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; break; - case STATE_BEFORE_ACTION_CHOSEN: // choose an action + case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI || (position & BIT_FLANK) == B_FLANK_LEFT @@ -4177,7 +4178,7 @@ static void HandleTurnActionSelectionState(void) } } break; - case STATE_WAIT_ACTION_CHOSEN: // try to perform an action + case STATE_WAIT_ACTION_CHOSEN: // Try to perform an action. if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { RecordedBattle_SetBattlerAction(gActiveBattler, gBattleBufferB[gActiveBattler][1]); @@ -4248,7 +4249,7 @@ static void HandleTurnActionSelectionState(void) || gBattleTypeFlags & BATTLE_TYPE_ARENA || gStatuses3[gActiveBattler] & STATUS3_ROOTED) { - BtlController_EmitChoosePokemon(0, 2, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); } else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) @@ -4257,16 +4258,16 @@ static void HandleTurnActionSelectionState(void) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) { - BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | 4, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(0, 0, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(0, 0, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); else - BtlController_EmitChoosePokemon(0, 0, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4304,7 +4305,7 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); } else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_USE_MOVE - && (gProtectStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].onlyStruggle + && (gProtectStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].noValidMoves || gDisableStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].encoredMove)) { RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); @@ -4705,7 +4706,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) { if (gChosenActionByBattler[battler1] == B_ACTION_USE_MOVE) { - if (gProtectStructs[battler1].onlyStruggle) + if (gProtectStructs[battler1].noValidMoves) moveBattler1 = MOVE_STRUGGLE; else moveBattler1 = gBattleMons[battler1].moves[*(gBattleStruct->chosenMovePositions + battler1)]; @@ -4715,7 +4716,7 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) if (gChosenActionByBattler[battler2] == B_ACTION_USE_MOVE) { - if (gProtectStructs[battler2].onlyStruggle) + if (gProtectStructs[battler2].noValidMoves) moveBattler2 = MOVE_STRUGGLE; else moveBattler2 = gBattleMons[battler2].moves[*(gBattleStruct->chosenMovePositions + battler2)]; @@ -4917,7 +4918,7 @@ static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) if (gChosenMoveByBattler[gActiveBattler] == MOVE_FOCUS_PUNCH && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) && !(gDisableStructs[gBattlerAttacker].truantCounter) - && !(gProtectStructs[gActiveBattler].onlyStruggle)) + && !(gProtectStructs[gActiveBattler].noValidMoves)) { BattleScriptExecute(BattleScript_FocusPunchSetUp); return; @@ -5290,9 +5291,9 @@ static void HandleAction_UseMove(void) gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); // choose move - if (gProtectStructs[gBattlerAttacker].onlyStruggle) + if (gProtectStructs[gBattlerAttacker].noValidMoves) { - gProtectStructs[gBattlerAttacker].onlyStruggle = 0; + gProtectStructs[gBattlerAttacker].noValidMoves = 0; gCurrentMove = gChosenMove = MOVE_STRUGGLE; gHitMarker |= HITMARKER_NO_PPDEDUCT; *(gBattleStruct->moveTarget + gBattlerAttacker) = GetMoveTarget(MOVE_STRUGGLE, 0); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index bacaf2bac..eb6feb2a0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -40,6 +40,7 @@ #include "constants/battle_string_ids.h" #include "battle_setup.h" #include "overworld.h" +#include "party_menu.h" extern u16 gBattle_BG1_X; extern u16 gBattle_BG1_Y; @@ -5143,7 +5144,7 @@ static void sub_804CF10(u8 arg0) *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = 6; gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); - BtlController_EmitChoosePokemon(0, 1, arg0, 0, gBattleStruct->field_60[gActiveBattler]); + BtlController_EmitChoosePokemon(0, PARTY_MUST_CHOOSE_MON, arg0, 0, gBattleStruct->field_60[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } @@ -5382,9 +5383,9 @@ static void atk50_openpartyscreen(void) else { if (gBattlescriptCurrInstr[1] & 0x80) - hitmarkerFaintBits = 0; // used here as the caseId for the EmitChoose function + hitmarkerFaintBits = PARTY_CHOOSE_MON; // Used here as the caseId for the EmitChoose function. else - hitmarkerFaintBits = 1; + hitmarkerFaintBits = PARTY_MUST_CHOOSE_MON; battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(0x80)); if (gSpecialStatuses[battlerId].flag40) diff --git a/src/battle_util.c b/src/battle_util.c index 5d2ec62a9..6e3fc3e7f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -455,12 +455,12 @@ bool8 AreAllMovesUnusable(void) if (unusable == 0xF) // All moves are unusable. { - gProtectStructs[gActiveBattler].onlyStruggle = 1; + gProtectStructs[gActiveBattler].noValidMoves = 1; gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft; } else { - gProtectStructs[gActiveBattler].onlyStruggle = 0; + gProtectStructs[gActiveBattler].noValidMoves = 0; } return (unusable == 0xF); diff --git a/src/pokemon.c b/src/pokemon.c index 80c1ab784..5406cfee9 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5582,19 +5582,19 @@ void BoxMonRestorePP(struct BoxPokemon *boxMon) } } -void sub_806E994(void) +void SetMonPreventsSwitchingString(void) { - gLastUsedAbility = gBattleStruct->field_B0; + gLastUsedAbility = gBattleStruct->abilityPreventingSwitchout; gBattleTextBuff1[0] = B_BUFF_PLACEHOLDER_BEGIN; gBattleTextBuff1[1] = B_BUFF_MON_NICK_WITH_PREFIX; - gBattleTextBuff1[2] = gBattleStruct->field_49; + gBattleTextBuff1[2] = gBattleStruct->battlerPreventingSwitchout; gBattleTextBuff1[4] = B_BUFF_EOS; - if (!GetBattlerSide(gBattleStruct->field_49)) - gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->field_49]); + if (GetBattlerSide(gBattleStruct->battlerPreventingSwitchout) == B_SIDE_PLAYER) + gBattleTextBuff1[3] = pokemon_order_func(gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]); else - gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->field_49]; + gBattleTextBuff1[3] = gBattlerPartyIndexes[gBattleStruct->battlerPreventingSwitchout]; PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff2, gBattlerInMenuId, pokemon_order_func(gBattlerPartyIndexes[gBattlerInMenuId])) -- cgit v1.2.3 From ee3d505b585c5d0a8b6a8a68b8ab787d04bdc33a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 7 Jul 2018 21:14:41 +0200 Subject: little touches for HandleTurnActionSelectionState --- src/battle_main.c | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/battle_main.c b/src/battle_main.c index fe6e62c5d..88422574f 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -163,7 +163,7 @@ static void HandleTurnActionSelectionState(void); static void RunTurnActionsFunctions(void); static void SetActionsAndBattlersTurnOrder(void); static void sub_803CDF8(void); -static bool8 sub_803CDB8(void); +static bool8 AllAtActionConfirmed(void); static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void); static void FreeResetData_ReturnToOvOrDoEvolutions(void); static void ReturnFromBattleToOverworld(void); @@ -4286,8 +4286,8 @@ static void HandleTurnActionSelectionState(void) MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: - gBattleCommunication[gActiveBattler] = 7; - gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] = 1; + gBattleCommunication[gActiveBattler] = STATE_WAIT_SET_BEFORE_ACTION; + gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] = STATE_BEFORE_ACTION_CHOSEN; RecordedBattle_ClearBattlerAction(gActiveBattler, 1); if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) @@ -4330,7 +4330,7 @@ static void HandleTurnActionSelectionState(void) && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) { gSelectionBattleScripts[gActiveBattler] = BattleScript_AskIfWantsToForfeitMatch; - gBattleCommunication[gActiveBattler] = 8; + gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT_MAY_RUN; *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; return; @@ -4340,7 +4340,7 @@ static void HandleTurnActionSelectionState(void) && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) { BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); - gBattleCommunication[gActiveBattler] = 1; + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } else if (IsRunningFromBattleImpossible() && gBattleBufferB[gActiveBattler][1] == B_ACTION_RUN) @@ -4382,7 +4382,7 @@ static void HandleTurnActionSelectionState(void) sub_818603C(2); if ((gBattleBufferB[gActiveBattler][2] | (gBattleBufferB[gActiveBattler][3] << 8)) == 0xFFFF) { - gBattleCommunication[gActiveBattler] = 1; + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; RecordedBattle_ClearBattlerAction(gActiveBattler, 1); } else if (TrySetCantSelectMoveBattleScript()) @@ -4412,7 +4412,7 @@ static void HandleTurnActionSelectionState(void) case B_ACTION_USE_ITEM: if ((gBattleBufferB[gActiveBattler][1] | (gBattleBufferB[gActiveBattler][2] << 8)) == 0) { - gBattleCommunication[gActiveBattler] = 1; + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } else { @@ -4423,7 +4423,7 @@ static void HandleTurnActionSelectionState(void) case B_ACTION_SWITCH: if (gBattleBufferB[gActiveBattler][1] == PARTY_SIZE) { - gBattleCommunication[gActiveBattler] = 1; + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; RecordedBattle_ClearBattlerAction(gActiveBattler, 1); } else @@ -4468,10 +4468,13 @@ static void HandleTurnActionSelectionState(void) case STATE_WAIT_ACTION_CONFIRMED_STANDBY: if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { - i = (sub_803CDB8() != 0); + if (AllAtActionConfirmed()) + i = TRUE; + else + i = FALSE; if (((gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_DOUBLE)) != BATTLE_TYPE_DOUBLE) - || (position & BIT_FLANK) + || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->field_91) & gBitTable[GetBattlerAtPosition(position ^ BIT_FLANK)])) { BtlController_EmitLinkStandbyMsg(0, 0, i); @@ -4509,7 +4512,7 @@ static void HandleTurnActionSelectionState(void) case STATE_WAIT_SET_BEFORE_ACTION: if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF0000000) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 0xC)))) { - gBattleCommunication[gActiveBattler] = 1; + gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } break; case STATE_SELECTION_SCRIPT_MAY_RUN: @@ -4541,7 +4544,7 @@ static void HandleTurnActionSelectionState(void) } } - // check if everyone chose actions + // Check if everyone chose actions. if (gBattleCommunication[ACTIONS_CONFIRMED_COUNT] == gBattlersCount) { sub_818603C(1); @@ -4558,17 +4561,17 @@ static void HandleTurnActionSelectionState(void) } } -static bool8 sub_803CDB8(void) +static bool8 AllAtActionConfirmed(void) { - s32 i, var; + s32 i, count; - for (var = 0, i = 0; i < gBattlersCount; i++) + for (count = 0, i = 0; i < gBattlersCount; i++) { - if (gBattleCommunication[i] == 5) - var++; + if (gBattleCommunication[i] == STATE_WAIT_ACTION_CONFIRMED) + count++; } - if (var + 1 == gBattlersCount) + if (count + 1 == gBattlersCount) return TRUE; else return FALSE; -- cgit v1.2.3 From dd228fae5a4f0426c0242b3bb5ac6dfe62673a1f Mon Sep 17 00:00:00 2001 From: Slawter666 <38655737+Slawter666@users.noreply.github.com> Date: Sun, 8 Jul 2018 01:20:01 +0100 Subject: Minor variable labelling --- src/item_menu.c | 4 +- src/pokedex.c | 132 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 68 insertions(+), 68 deletions(-) (limited to 'src') diff --git a/src/item_menu.c b/src/item_menu.c index 0642c771e..e18d8fdd8 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -2116,9 +2116,9 @@ void setup_bag_menu_textboxes(void) schedule_bg_copy_tilemap_to_vram(1); } -void bag_menu_print(u8 a, u8 b, const u8 *str, u8 c, u8 d, u8 e, u8 f, u8 g, u8 h) +void bag_menu_print(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 h) { - AddTextPrinterParameterized2(a, b, c, d, e, f, gUnknown_08614164[h], g, str); + AddTextPrinterParameterized2(windowId, fontId, left, top, letterSpacing, lineSpacing, gUnknown_08614164[h], speed, str); } u8 sub_81AE124(u8 a) diff --git a/src/pokedex.c b/src/pokedex.c index f7a51e75f..37e0515bd 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1630,14 +1630,14 @@ void sub_80BC8D4(u8 dexMode, u8 sortMode) } } -void sub_80BCE2C(u8 a, u8 b, const u8* str, u8 c, u8 d) +void sub_80BCE2C(u8 windowId, u8 fontId, const u8* str, u8 left, u8 top) { - u8 sp14[3]; + u8 color[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 3; - AddTextPrinterParameterized2(a, b, c * 8, (d * 8) + 1, 0, 0, sp14, -1, str); + color[0] = 0; + color[1] = 15; + color[2] = 3; + AddTextPrinterParameterized2(windowId, fontId, left * 8, (top * 8) + 1, 0, 0, color, -1, str); } void sub_80BCE84(u8 a, u16 b, u16 c) @@ -1727,7 +1727,7 @@ void sub_80BCE84(u8 a, u16 b, u16 c) CopyWindowToVram(0, 2); } -void sub_80BD154(u16 a, u8 b, u8 c, u16 unused) +void sub_80BD154(u16 a, u8 left, u8 top, u16 unused) { u8 text[6]; u16 r6; @@ -1739,18 +1739,18 @@ void sub_80BD154(u16 a, u8 b, u8 c, u16 unused) text[2] = CHAR_0 + r6 / 100; text[3] = CHAR_0 + (r6 % 100) / 10; text[4] = CHAR_0 + (r6 % 100) % 10; - sub_80BCE2C(0, 7, text, b, c); + sub_80BCE2C(0, 7, text, left, top); } -void sub_80BD1F4(u16 a, u8 b, u8 c, u16 unused) +void sub_80BD1F4(u16 a, u8 x, u8 y, u16 unused) { if (a) - BlitBitmapToWindow(0, gUnknown_0855D2BE, b * 8, c * 8, 8, 16); + BlitBitmapToWindow(0, gUnknown_0855D2BE, x * 8, y * 8, 8, 16); else - FillWindowPixelRect(0, 0, b * 8, c * 8, 8, 16); + FillWindowPixelRect(0, 0, x * 8, y * 8, 8, 16); } -u8 sub_80BD23C(u16 num, u8 b, u8 c) +u8 sub_80BD23C(u16 num, u8 left, u8 top) { const u8* str; @@ -1759,13 +1759,13 @@ u8 sub_80BD23C(u16 num, u8 b, u8 c) str = gSpeciesNames[num]; else str = sText_TenDashes; - sub_80BCE2C(0, 7, str, b, c); + sub_80BCE2C(0, 7, str, left, top); return StringLength(str); } -void sub_80BD28C(u8 a, u8 b, u16 unused) +void sub_80BD28C(u8 x, u8 y, u16 unused) { - FillWindowPixelRect(0, 0, a * 8, b * 8, 0x60, 16); + FillWindowPixelRect(0, 0, x * 8, y * 8, 0x60, 16); } void sub_80BD2B4(u16 a, u16 b) @@ -1803,7 +1803,7 @@ void sub_80BD2B4(u16 a, u16 b) gSprites[spriteId].callback = sub_80BE4E0; gSprites[spriteId].data[5] = 32; } - + sub_80BCE84(0, a, b); SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_02039B4C->unk62D); @@ -2047,7 +2047,7 @@ u16 sub_80BDA8C(u16 a1) return 0; } -u32 sub_80BDACC(u16 a, s16 b, s16 c) +u32 sub_80BDACC(u16 num, s16 x, s16 y) { u8 i; @@ -2055,13 +2055,13 @@ u32 sub_80BDACC(u16 a, s16 b, s16 c) { if (gUnknown_02039B4C->unk61E[i] == 0xFFFF) { - u8 spriteId = sub_80C0E9C(a, b, c, i); + u8 spriteId = sub_80C0E9C(num, x, y, i); gSprites[spriteId].oam.affineMode = 1; gSprites[spriteId].oam.priority = 3; gSprites[spriteId].data[0] = 0; gSprites[spriteId].data[1] = i; - gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(a); + gSprites[spriteId].data[2] = NationalPokedexNumToSpecies(num); gUnknown_02039B4C->unk61E[i] = spriteId; return spriteId; } @@ -2443,14 +2443,14 @@ void sub_80BE834(struct Sprite *sprite) } } -void sub_80BE8DC(const u8* a, u8 b, u8 c) +void sub_80BE8DC(const u8* str, u8 left, u8 top) { - u8 sp14[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 3; + u8 color[3]; + color[0] = 0; + color[1] = 15; + color[2] = 3; - AddTextPrinterParameterized2(0, 1, b, c, 0, 0, sp14, -1, a); + AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); } u8 sub_80BE91C(struct PokedexListItem* item, u8 b) @@ -3464,7 +3464,7 @@ void sub_80C01CC(struct Sprite *sprite) sprite->pos1.y -= 1; } -void sub_80C020C(u32 num, u32 b, u32 c, u32 d) +void sub_80C020C(u32 num, u32 value, u32 c, u32 d) { u8 str[0x10]; u8 str2[0x20]; @@ -3475,11 +3475,11 @@ void sub_80C020C(u32 num, u32 b, u32 c, u32 d) if (d) sub_80BE8DC(gText_PokedexRegistration, GetStringCenterAlignXOffset(1, gText_PokedexRegistration, 0xF0), 0); - if (b == 0) - b = NationalToHoennOrder(num); + if (value == 0) + value = NationalToHoennOrder(num); else - b = num; - ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), b, 2, 3); + value = num; + ConvertIntToDecimalStringN(StringCopy(str, gText_UnkCtrlF908Clear01), value, 2, 3); sub_80BE8DC(str, 0x60, 0x19); natNum = NationalPokedexNumToSpecies(num); if (natNum) @@ -4058,17 +4058,17 @@ void sub_80C09B0(u16 a) } } -void sub_80C0A88(u8 a, const u8 *b, u8 c, u8 d) +void sub_80C0A88(u8 windowId, const u8 *str, u8 left, u8 top) { - u8 sp14[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 3; + u8 color[3]; + color[0] = 0; + color[1] = 15; + color[2] = 3; - AddTextPrinterParameterized2(a, 1, c, d, 0, 0, sp14, -1, b); + AddTextPrinterParameterized2(windowId, 1, left, top, 0, 0, color, -1, str); } -void sub_80C0AC4(u8 a, u16 order, u8 b, u8 c) +void sub_80C0AC4(u8 windowId, u16 order, u8 left, u8 top) { u8 str[4]; @@ -4076,10 +4076,10 @@ void sub_80C0AC4(u8 a, u16 order, u8 b, u8 c) str[1] = CHAR_0 + (order % 100) / 10; str[2] = CHAR_0 + (order % 100) % 10; str[3] = EOS; - sub_80C0A88(a, str, b, c); + sub_80C0A88(windowId, str, left, top); } -u8 sub_80C0B44(u8 a, u16 num, u8 b, u8 c) +u8 sub_80C0B44(u8 windowId, u16 num, u8 left, u8 top) { u8 str[11]; u8 i; @@ -4098,11 +4098,11 @@ u8 sub_80C0B44(u8 a, u16 num, u8 b, u8 c) str[i] = CHAR_HYPHEN; break; } - sub_80C0A88(a, str, b, c); + sub_80C0A88(windowId, str, left, top); return i; } -void sub_80C0BF0(u8 a, const u8* str, u8 b, u8 c) +void sub_80C0BF0(u8 windowId, const u8* str, u8 left, u8 top) { u8 str2[11]; u8 i; @@ -4115,10 +4115,10 @@ void sub_80C0BF0(u8 a, const u8* str, u8 b, u8 c) for (i = 0; i < count; i++) str2[11 - count + i] = str[i]; str2[11] = EOS; - sub_80C0A88(a, str2, b, c); + sub_80C0A88(windowId, str2, left, top); } -void sub_80C0C6C(u8 a, u16 b, u8 left, u8 top) +void sub_80C0C6C(u8 windowId, u16 b, u8 left, u8 top) { u8 str[6]; bool8 outputted = FALSE; @@ -4152,10 +4152,10 @@ void sub_80C0C6C(u8 a, u16 b, u8 left, u8 top) str[3] = CHAR_PERIOD; str[4] = CHAR_0 + ((b % 1000) % 100) % 10; str[5] = EOS; - sub_80C0A88(a, str, left, top); + sub_80C0A88(windowId, str, left, top); } -void sub_80C0D30(u8 a0, u16 a1) +void sub_80C0D30(u8 windowId, u16 a1) { u8 image[32 * 4]; const u8 * r12 = gMonFootprintTable[NationalPokedexNumToSpecies(a1)]; @@ -4175,7 +4175,7 @@ void sub_80C0D30(u8 a0, u16 a1) r5++; } } - CopyToWindowPixelBuffer(a0, image, sizeof(image), 0); + CopyToWindowPixelBuffer(windowId, image, sizeof(image), 0); } void sub_80C0DC0(u16 a, u16 b) @@ -4229,25 +4229,25 @@ u32 sub_80C0E68(u16 a) } } -u16 sub_80C0E9C(u16 num, s16 a, s16 b, u16 c) +u16 sub_80C0E9C(u16 num, s16 x, s16 y, u16 paletteSlot) { num = NationalPokedexNumToSpecies(num); - return sub_818D7D8(num, 8, sub_80C0E68(num), 1, a, b, c, -1); + return sub_818D7D8(num, 8, sub_80C0E68(num), TRUE, x, y, paletteSlot, 0xFFFF); } -u16 sub_80C0EF8(u16 a, s16 b, s16 c, s8 d) +u16 sub_80C0EF8(u16 species, s16 x, s16 y, s8 paletteSlot) { - return sub_818D8AC(a, 1, b, c, d, -1); + return sub_818D8AC(species, TRUE, x, y, paletteSlot, 0xFFFF); } -int sub_80C0F30(u8 a, u8 b, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2) +int sub_80C0F30(u8 dexMode, u8 sortMode, u8 abcGroup, u8 bodyColor, u8 type1, u8 type2) { u16 species; u16 i; u16 resultsCount; u8 types[2]; - sub_80BC8D4(a, b); + sub_80BC8D4(dexMode, sortMode); for (i = 0, resultsCount = 0; i < NATIONAL_DEX_COUNT; i++) { @@ -4361,19 +4361,19 @@ u8 sub_80C1258(void) return CreateTask(sub_80C12E0, 0); } -void sub_80C1270(const u8 *str, u32 a, u32 b) +void sub_80C1270(const u8 *str, u32 left, u32 top) { - u8 sp14[3]; + u8 color[3]; - sp14[0] = 0; - sp14[1] = 15; - sp14[2] = 2; - AddTextPrinterParameterized2(0, 1, a, b, 0, 0, sp14, -1, str); + color[0] = 0; + color[1] = 15; + color[2] = 2; + AddTextPrinterParameterized2(0, 1, left, top, 0, 0, color, -1, str); } -void sub_80C12B0(u32 a, u32 b, u32 c, u32 d) +void sub_80C12B0(u32 x, u32 y, u32 width, u32 height) { - FillWindowPixelRect(0, 0, a, b, c, d); + FillWindowPixelRect(0, 0, x, y, width, height); } void sub_80C12E0(u8 taskId) @@ -5211,19 +5211,19 @@ void sub_80C2618(const u8* str) sub_80C1270(str, 8, 0x79); } -void sub_80C2638(u32 a) +void sub_80C2638(u32 y) { - sub_80C12B0(0x90, a * 16 + 8, 8, 16); + sub_80C12B0(0x90, y * 16 + 8, 8, 16); } -void sub_80C2650(u32 a) +void sub_80C2650(u32 left) { - sub_80C1270(gText_SelectorArrow, 0x90, a * 16 + 9); + sub_80C1270(gText_SelectorArrow, 0x90, left * 16 + 9); } -void sub_80C2668(u32 a, const u8* str) +void sub_80C2668(u32 left, const u8* str) { - sub_80C1270(str, 0x98, a * 16 + 9); + sub_80C1270(str, 0x98, left * 16 + 9); } void sub_80C267C(void) -- cgit v1.2.3 From d675b7578cff2352796c27d3e6fc882090c9ce21 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Tue, 10 Jul 2018 18:04:41 -0500 Subject: Move movement type constants into include/constants/event_object_movement_constants.h --- src/event_object_movement.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 35b04ea1e..953851108 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -21,6 +21,7 @@ #include "sprite.h" #include "trainer_see.h" #include "util.h" +#include "constants/event_object_movement_constants.h" #include "constants/event_objects.h" // this file was known as evobjmv.c in Game Freak's original source -- cgit v1.2.3 From 7d375972ba0e5a8a17fecbd223dd6de6e87b6090 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 11 Jul 2018 11:12:26 -0500 Subject: Sync bg_event macros with pokeruby --- src/item_use.c | 5 +++-- src/secret_base.c | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/item_use.c b/src/item_use.c index 6bdfe1c54..9031338dd 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -5,6 +5,7 @@ #include "berry.h" #include "bike.h" #include "coins.h" +#include "constants/bg_event_constants.h" #include "constants/flags.h" #include "constants/items.h" #include "constants/songs.h" @@ -371,7 +372,7 @@ bool8 ItemfinderCheckForHiddenItems(const struct MapEvents *events, u8 taskId) gTasks[taskId].data[2] = FALSE; for (i = 0; i < events->bgEventCount; i++) { - if (events->bgEvents[i].kind == 7 && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) + if (events->bgEvents[i].kind == BG_EVENT_HIDDEN_ITEM && !FlagGet(events->bgEvents[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) { distanceX = (u16)events->bgEvents[i].x + 7; newDistanceX = distanceX - x; @@ -398,7 +399,7 @@ bool8 sub_80FD6D4(const struct MapEvents *events, s16 x, s16 y) for (i = 0; i < bgEventCount; i++) { - if (bgEvent[i].kind == 7 && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed? + if (bgEvent[i].kind == BG_EVENT_HIDDEN_ITEM && x == (u16)bgEvent[i].x && y == (u16)bgEvent[i].y) // hidden item and coordinates matches x and y passed? { if (!FlagGet(bgEvent[i].bgUnion.hiddenItem.hiddenItemId + 0x1F4)) return TRUE; diff --git a/src/secret_base.c b/src/secret_base.c index 93b82b3cb..b2fd54eb8 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1,6 +1,7 @@ // Includes #include "global.h" +#include "constants/bg_event_constants.h" #include "constants/decorations.h" #include "malloc.h" #include "main.h" @@ -335,7 +336,7 @@ void sub_80E8EE0(struct MapEvents const *events) for (bgEventIndex = 0; bgEventIndex < events->bgEventCount; bgEventIndex ++) { - if (events->bgEvents[bgEventIndex].kind == 8) + if (events->bgEvents[bgEventIndex].kind == BG_EVENT_SECRET_BASE) { for (j = 0; j < 20; j ++) { @@ -600,7 +601,7 @@ void sub_80E9608(struct Coords16 *coords, struct MapEvents *events) for (bgEventIdx = 0; bgEventIdx < events->bgEventCount; bgEventIdx ++) { - if (events->bgEvents[bgEventIdx].kind == 8 && coords->x == events->bgEvents[bgEventIdx].x + 7 && coords->y == events->bgEvents[bgEventIdx].y + 7) + if (events->bgEvents[bgEventIdx].kind == BG_EVENT_SECRET_BASE && coords->x == events->bgEvents[bgEventIdx].x + 7 && coords->y == events->bgEvents[bgEventIdx].y + 7) { sCurSecretBaseId = events->bgEvents[bgEventIdx].bgUnion.secretBaseId; break; @@ -780,7 +781,7 @@ void sub_80E9AD0(void) events = gMapHeader.events; for (i = 0; i < events->bgEventCount; i ++) { - if (events->bgEvents[i].kind == 8 && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) + if (events->bgEvents[i].kind == BG_EVENT_SECRET_BASE && gSaveBlock1Ptr->secretBases[0].secretBaseId == events->bgEvents[i].bgUnion.secretBaseId) { tile = MapGridGetMetatileIdAt(events->bgEvents[i].x + 7, events->bgEvents[i].y + 7); for (j = 0; j < 7; j ++) -- cgit v1.2.3 From 546819bc722b706a1c49a3d323b3b36d03fa612a Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 12 Jul 2018 22:39:38 -0500 Subject: Use map type constants in map headers --- src/battle_bg.c | 1 + src/battle_setup.c | 1 + src/bike.c | 1 + src/overworld.c | 1 + src/rom6.c | 1 + src/secret_base.c | 1 + 6 files changed, 6 insertions(+) (limited to 'src') diff --git a/src/battle_bg.c b/src/battle_bg.c index d4bfd297a..0af311631 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -18,6 +18,7 @@ #include "text_window.h" #include "menu.h" #include "battle_setup.h" +#include "constants/map_types.h" struct BattleBackground { diff --git a/src/battle_setup.c b/src/battle_setup.c index c8440a35f..16612e24d 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -32,6 +32,7 @@ #include "overworld.h" #include "field_weather.h" #include "gym_leader_rematch.h" +#include "constants/map_types.h" enum { diff --git a/src/bike.c b/src/bike.c index 87110b87b..6ffd479f7 100644 --- a/src/bike.c +++ b/src/bike.c @@ -9,6 +9,7 @@ #include "overworld.h" #include "constants/songs.h" #include "sound.h" +#include "constants/map_types.h" extern bool8 gBikeCyclingChallenge; extern u8 gBikeCollisions; diff --git a/src/overworld.c b/src/overworld.c index d4cb25e6c..9cbc8dc52 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -57,6 +57,7 @@ #include "malloc.h" #include "gpu_regs.h" #include "link_rfu.h" +#include "constants/map_types.h" // event scripts extern const u8 EventScript_WhiteOut[]; diff --git a/src/rom6.c b/src/rom6.c index 78cbbe2de..cc146fc94 100644 --- a/src/rom6.c +++ b/src/rom6.c @@ -15,6 +15,7 @@ #include "sound.h" #include "sprite.h" #include "task.h" +#include "constants/map_types.h" // static functions static void task08_080C9820(u8 taskId); diff --git a/src/secret_base.c b/src/secret_base.c index b2fd54eb8..2e127dd84 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -39,6 +39,7 @@ #include "link.h" #include "tv.h" #include "secret_base.h" +#include "constants/map_types.h" extern void mapldr_default(void); -- cgit v1.2.3 From 731d6d59bc624e0350b3396f135a35f6c9bdc4f8 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 15 Jul 2018 04:23:38 -0700 Subject: Document list_menu.c and main_menu.c --- src/battle_bg.c | 4 +- src/battle_controller_player.c | 8 +- src/battle_controller_safari.c | 2 +- src/battle_controller_wally.c | 2 +- src/battle_main.c | 12 +- src/battle_records.c | 4 +- src/battle_script_commands.c | 4 +- src/battle_transition.c | 10 +- src/berry_blender.c | 16 +- src/berry_tag_screen.c | 4 +- src/clear_save_data_screen.c | 2 +- src/daycare.c | 10 +- src/decoration.c | 2 +- src/diploma.c | 4 +- src/egg_hatch.c | 10 +- src/event_object_movement.c | 2 +- src/evolution_scene.c | 16 +- src/field_region_map.c | 6 +- src/hall_of_fame.c | 8 +- src/item_menu.c | 16 +- src/link.c | 4 +- src/list_menu.c | 611 +++++++++++++++++++++-------------------- src/mail.c | 4 +- src/main_menu.c | 380 +++++++++++++------------ src/map_name_popup.c | 2 +- src/menu.c | 30 +- src/mystery_event_menu.c | 6 +- src/option_menu.c | 4 +- src/player_pc.c | 4 +- src/pokeblock.c | 18 +- src/pokeblock_feed.c | 8 +- src/pokemon_summary_screen.c | 4 +- src/rayquaza_scene.c | 20 +- src/recorded_battle.c | 2 +- src/region_map.c | 6 +- src/reset_rtc_screen.c | 4 +- src/scrcmd.c | 2 +- src/secret_base.c | 2 +- src/start_menu.c | 4 +- src/starter_choose.c | 6 +- src/text.c | 22 +- src/text_window.c | 8 +- src/title_screen.c | 10 +- src/unk_transition.c | 2 +- src/use_pokeblock.c | 2 +- src/wallclock.c | 8 +- 46 files changed, 675 insertions(+), 640 deletions(-) (limited to 'src') diff --git a/src/battle_bg.c b/src/battle_bg.c index d4bfd297a..d4a2c61b2 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -75,8 +75,8 @@ void sub_80356D0(void) void ApplyPlayerChosenFrameToBattleMenu(void) { - sub_809882C(2, 0x12, 0x10); - sub_809882C(2, 0x22, 0x10); + LoadUserWindowBorderGfx(2, 0x12, 0x10); + LoadUserWindowBorderGfx(2, 0x22, 0x10); LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 9fc0c68ea..7f14d5926 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2420,7 +2420,7 @@ static void PlayerHandleFaintAnimation(void) static void PlayerHandlePaletteFade(void) { - BeginNormalPaletteFade(-1, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); PlayerBufferExecCompleted(); } @@ -2640,7 +2640,7 @@ static void PlayerHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; gBattlerInMenuId = gActiveBattler; @@ -2667,7 +2667,7 @@ static void PlayerHandleChoosePokemon(void) *(&gBattleStruct->field_49) = gBattleBufferA[gActiveBattler][1] >> 4; *(&gBattleStruct->field_8B) = gBattleBufferA[gActiveBattler][2]; *(&gBattleStruct->field_B0) = gBattleBufferA[gActiveBattler][3]; - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gBattlerControllerFuncs[gActiveBattler] = sub_80597CC; gBattlerInMenuId = gActiveBattler; } @@ -2676,7 +2676,7 @@ static void PlayerHandleChoosePokemon(void) static void PlayerHandleCmd23(void) { BattleStopLowHpSound(); - BeginNormalPaletteFade(-1, 2, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); PlayerBufferExecCompleted(); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 09776f150..9f83ebcf0 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -478,7 +478,7 @@ static void SafariHandleChooseItem(void) { s32 i; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index ca7b2fd44..20716c679 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1251,7 +1251,7 @@ static void WallyHandleChooseMove(void) static void WallyHandleChooseItem(void) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_main.c b/src/battle_main.c index ace481c26..24d598f4a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1819,7 +1819,7 @@ void BattleMainCB2(void) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; ResetPaletteFadeControl(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_QuitRecordedBattle); } } @@ -2255,7 +2255,7 @@ static void sub_8038F34(void) case 1: if (--gBattleCommunication[1] == 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2312,7 +2312,7 @@ static void sub_8038F34(void) for (i = 0; i < 2; i++) LoadChosenBattleElement(i); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gBattleCommunication[MULTIUSE_STATE]++; break; case 4: @@ -2417,7 +2417,7 @@ static void sub_80392A8(void) gReservedSpritePaletteCount = 4; SetVBlankCallback(VBlankCB_Battle); SetMainCallback2(sub_803937C); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gBattleCommunication[MULTIUSE_STATE] = 0; } @@ -2577,7 +2577,7 @@ static void sub_803939C(void) { if (sub_800A520() == TRUE) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleCommunication[1] = 0x20; gBattleCommunication[MULTIUSE_STATE] = 8; } @@ -2585,7 +2585,7 @@ static void sub_803939C(void) } else { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleCommunication[1] = 0x20; gBattleCommunication[MULTIUSE_STATE] = 8; } diff --git a/src/battle_records.c b/src/battle_records.c index a148f998f..c06005b17 100644 --- a/src/battle_records.c +++ b/src/battle_records.c @@ -348,7 +348,7 @@ static void Task_CloseTrainerHillRecordsOnButton(u8 taskId) static void Task_BeginPaletteFade(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_ExitTrainerHillRecords; } @@ -495,7 +495,7 @@ static void CB2_ShowTrainerHillRecords(void) gMain.state++; break; case 6: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gMain.state++; break; case 7: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 811aba128..89fee825e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5713,7 +5713,7 @@ static void atk5A_yesnoboxlearnmove(void) if (gBattleCommunication[1] == 0) { HandleBattleWindow(0x18, 0x8, 0x1D, 0xD, WINDOW_CLEAR); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleScripting.learnMoveState++; } else @@ -10288,7 +10288,7 @@ static void atkF2_displaydexinfo(void) switch (gBattleCommunication[0]) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gBattleCommunication[0]++; break; case 1: diff --git a/src/battle_transition.c b/src/battle_transition.c index 41729eec9..d1d92cb50 100644 --- a/src/battle_transition.c +++ b/src/battle_transition.c @@ -1080,7 +1080,7 @@ static bool8 Phase2_Blur_Func2(struct Task *task) { task->tData1 = 4; if (++task->tData2 == 10) - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); SetGpuReg(REG_OFFSET_MOSAIC, (task->tData2 & 15) * 17); if (task->tData2 > 14) task->tState++; @@ -1107,7 +1107,7 @@ static bool8 Phase2_Swirl_Func1(struct Task *task) { sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); sub_8149F98(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_14, 0, 2, 0, 160); SetVBlankCallback(VBlankCB_Phase2_Swirl); @@ -1162,7 +1162,7 @@ static bool8 Phase2_Shuffle_Func1(struct Task *task) sub_8149F08(); ScanlineEffect_Clear(); - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); memset(gScanlineEffectRegBuffers[1], sTransitionStructPtr->field_16, 0x140); SetVBlankCallback(VBlankCB_Phase2_Shuffle); @@ -1973,7 +1973,7 @@ static bool8 Phase2_Ripple_Func2(struct Task *task) if (++task->tData3 == 81) { task->tData4++; - BeginNormalPaletteFade(-1, -2, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 0x10, 0); } if (task->tData4 != 0 && !gPaletteFade.active) @@ -3982,7 +3982,7 @@ static bool8 Phase2_30_Func4(struct Task *task) if (++task->tData3 == 101) { task->tData4++; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } if (task->tData4 != 0 && !gPaletteFade.active) diff --git a/src/berry_blender.c b/src/berry_blender.c index 2edb14748..575d6b285 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -153,7 +153,7 @@ extern const u8 gText_234Players[]; extern void sub_800A418(void); extern u8 sub_800A9D8(void); -extern void sub_809882C(u8, u16, u8); +extern void LoadUserWindowBorderGfx(u8, u16, u8); extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); extern void sub_81AABF0(void (*callback)(void)); extern void sub_800B4C0(void); @@ -927,7 +927,7 @@ static void sub_807FAC8(void) InitBgsFromTemplates(1, sBerryBlenderBgTemplates, ARRAY_COUNT(sBerryBlenderBgTemplates)); SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); - sub_809882C(0, 1, 0xD0); + LoadUserWindowBorderGfx(0, 1, 0xD0); copy_textbox_border_tile_patterns_to_vram(0, 0x14, 0xF0); InitBerryBlenderWindows(); @@ -959,7 +959,7 @@ static void sub_807FAC8(void) } break; case 2: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sub_8082D28(); sBerryBlenderData->mainState++; break; @@ -973,7 +973,7 @@ static void sub_807FAC8(void) sBerryBlenderData->mainState++; break; case 5: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sBerryBlenderData->mainState++; break; case 6: @@ -1163,7 +1163,7 @@ static void sub_8080018(void) sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sBerryBlenderData->mainState++; break; case 4: @@ -1331,7 +1331,7 @@ static void sub_8080588(void) SetBgTilemapBuffer(1, sBerryBlenderData->tilemapBuffers[0]); SetBgTilemapBuffer(2, sBerryBlenderData->tilemapBuffers[1]); - sub_809882C(0, 1, 0xD0); + LoadUserWindowBorderGfx(0, 1, 0xD0); copy_textbox_border_tile_patterns_to_vram(0, 0x14, 0xF0); InitBerryBlenderWindows(); @@ -1490,7 +1490,7 @@ static void sub_80808D4(void) sBerryBlenderData->mainState++; break; case 3: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sBerryBlenderData->mainState++; sBerryBlenderData->framesToWait = 0; break; @@ -2656,7 +2656,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) case 9: if (sub_800A520()) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sBerryBlenderData->gameEndState++; } break; diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index a755f4f44..fb4bf6817 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -247,7 +247,7 @@ static bool8 InitBerryTagScreen(void) gMain.state++; break; case 15: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -481,7 +481,7 @@ static void DestroyFlavorCircleSprites(void) static void PrepareToCloseBerryTagScreen(u8 taskId) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_CloseBerryTagScreen; } diff --git a/src/clear_save_data_screen.c b/src/clear_save_data_screen.c index ca2037d2f..266ea8250 100644 --- a/src/clear_save_data_screen.c +++ b/src/clear_save_data_screen.c @@ -202,6 +202,6 @@ static void InitClearSaveDataScreenWindows(void) InitWindows(sClearSaveTextWindow); DeactivateAllTextPrinters(); FillWindowPixelBuffer(0, 0); - sub_80987D4(0, 0, 2, 224); + LoadWindowGfx(0, 0, 2, 224); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); } diff --git a/src/daycare.c b/src/daycare.c index 5a6aa2b40..c73d91521 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -73,20 +73,20 @@ static const struct ListMenuItem sLevelMenuItems[] = static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = { .items = sLevelMenuItems, - .moveCursorFunc = sub_81AF078, - .unk_08 = DaycarePrintMonInfo, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = DaycarePrintMonInfo, .totalItems = 3, .maxShowed = 3, .windowId = 0, - .unk_11 = 0, - .unk_12 = 8, + .header_X = 0, + .item_X = 8, .cursor_X = 0, .upText_Y = 1, .cursorPal = 2, .fillValue = 1, .cursorShadowPal = 3, .lettersSpacing = 1, - .unk_16_3 = 0, + .itemVerticalPadding = 0, .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, .fontId = 1, .cursorKind = 0 diff --git a/src/decoration.c b/src/decoration.c index 0510b9f31..b21d51278 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -838,7 +838,7 @@ void sub_8127500(void) { if (sDecorPCBuffer->unk_522 == 0xFF) { - sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParametrized(0x02, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); + sDecorPCBuffer->unk_522 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x3c, 0x0c, 0x94, sDecorPCBuffer->unk_520 - sDecorPCBuffer->unk_521, 0x6e, 0x6e, &sSecretBasePCSelectDecorPageNo); } } diff --git a/src/diploma.c b/src/diploma.c index 289e0e043..599ceec72 100644 --- a/src/diploma.c +++ b/src/diploma.c @@ -89,7 +89,7 @@ void CB2_ShowDiploma(void) CopyBgTilemapBufferToVram(1); DisplayDiplomaText(); BlendPalettes(-1, 16, 0); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); EnableInterrupts(1); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); @@ -114,7 +114,7 @@ static void Task_DiplomaWaitForKeyPress(u8 taskId) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_DiplomaFadeOut; } } diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 1ed38c67e..575050ca5 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -593,7 +593,7 @@ static void CB2_EggHatch_1(void) switch (sEggHatchData->CB2_state) { case 0: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sEggHatchData->eggSpriteID = CreateSprite(&sSpriteTemplate_EggHatch, 120, 75, 5); ShowBg(0); ShowBg(1); @@ -655,7 +655,7 @@ static void CB2_EggHatch_1(void) case 9: if (!IsTextPrinterActive(sEggHatchData->windowId)) { - sub_809882C(sEggHatchData->windowId, 0x140, 0xE0); + LoadUserWindowBorderGfx(sEggHatchData->windowId, 0x140, 0xE0); CreateYesNoMenu(&sYesNoWinTemplate, 0x140, 0xE, 0); sEggHatchData->CB2_state++; } @@ -676,7 +676,7 @@ static void CB2_EggHatch_1(void) } break; case 11: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sEggHatchData->CB2_state++; break; case 12: @@ -786,7 +786,7 @@ static void SpriteCB_Egg_4(struct Sprite* sprite) { s16 i; if (sprite->data[0] == 0) - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0xFFFF); if (sprite->data[0] < 4u) { for (i = 0; i <= 3; i++) @@ -810,7 +810,7 @@ static void SpriteCB_Egg_5(struct Sprite* sprite) StartSpriteAffineAnim(&gSprites[sEggHatchData->pokeSpriteID], 1); } if (sprite->data[0] == 8) - BeginNormalPaletteFade(-1, -1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0x10, 0, 0xFFFF); if (sprite->data[0] <= 9) gSprites[sEggHatchData->pokeSpriteID].pos1.y -= 1; if (sprite->data[0] > 40) diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 35b04ea1e..8095c23ba 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -1537,7 +1537,7 @@ u8 SpawnSpecialEventObject(struct EventObjectTemplate *eventObjectTemplate) return TrySpawnEventObject(eventObjectTemplate, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, cameraX, cameraY); } -u8 SpawnSpecialEventObjectParametrized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) +u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z) { struct EventObjectTemplate eventObjectTemplate; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 74eac32de..1d350c83a 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -189,7 +189,7 @@ static void Task_BeginEvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskID].tState++; break; case 1: @@ -386,7 +386,7 @@ static void CB2_EvolutionSceneLoadGraphics(void) SetVBlankCallback(VBlankCB_EvolutionScene); SetMainCallback2(CB2_EvolutionSceneUpdate); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); ShowBg(0); ShowBg(1); @@ -470,7 +470,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) gMain.state++; break; case 7: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); sub_807B140(); ShowBg(0); ShowBg(1); @@ -623,7 +623,7 @@ static void Task_EvolutionScene(u8 taskID) switch (gTasks[taskID].tState) { case 0: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gSprites[sEvoStructPtr->preEvoSpriteID].invisible = 0; gTasks[taskID].tState++; ShowBg(0); @@ -771,7 +771,7 @@ static void Task_EvolutionScene(u8 taskID) } else // no move to learn { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskID].tState++; } } @@ -905,7 +905,7 @@ static void Task_EvolutionScene(u8 taskID) { gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } } if (gMain.newKeys & B_BUTTON) @@ -1215,7 +1215,7 @@ static void Task_TradeEvolutionScene(u8 taskID) case 3: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - sub_809882C(0, 0xA8, 0xE0); + LoadUserWindowBorderGfx(0, 0xA8, 0xE0); CreateYesNoMenu(&gUnknown_0833900C, 0xA8, 0xE, 0); sEvoCursorPos = 0; gTasks[taskID].tLearnMoveState++; @@ -1231,7 +1231,7 @@ static void Task_TradeEvolutionScene(u8 taskID) sub_807F1A8(0, gDisplayedStringBattle, 1); gTasks[taskID].tLearnMoveState = gTasks[taskID].tData7; if (gTasks[taskID].tLearnMoveState == 5) - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); break; case 1: case -1: diff --git a/src/field_region_map.c b/src/field_region_map.c index b7d677c90..34b6089df 100644 --- a/src/field_region_map.c +++ b/src/field_region_map.c @@ -89,7 +89,7 @@ static void MCB2_InitRegionMapRegisters(void) InitBgsFromTemplates(1, gUnknown_085E5068, 2); InitWindows(gUnknown_085E5070); DeactivateAllTextPrinters(); - sub_809882C(0, 0x27, 0xd0); + LoadUserWindowBorderGfx(0, 0x27, 0xd0); clear_scheduled_bg_copies_to_vram(); SetMainCallback2(MCB2_FieldUpdateRegionMap); SetVBlankCallback(VBCB_FieldUpdateRegionMap); @@ -130,7 +130,7 @@ static void FieldUpdateRegionMap(void) schedule_bg_copy_tilemap_to_vram(0); SetWindowBorderStyle(0, 0, 0x27, 0xd); PrintRegionMapSecName(); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); sFieldRegionMapHandler->state++; break; case 2: @@ -158,7 +158,7 @@ static void FieldUpdateRegionMap(void) } break; case 5: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); sFieldRegionMapHandler->state++; break; case 6: diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 83df30d05..e6b20f807 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -89,7 +89,7 @@ extern void sub_8197434(u8, u8); extern u16 sub_818D97C(u8 playerGender, u8); extern u16 sub_818D8AC(u16, u8, s16, s16, u8, u16); extern const void* stdpal_get(u8); -extern void sub_80987D4(u8, u8, u16, u8); +extern void LoadWindowGfx(u8, u8, u16, u8); extern u16 sub_818D820(u16); extern u16 sub_818D8F0(u16); extern u16 sub_818D7D8(u16 species, u32 trainerId, u32 personality, u8 arg3, s16 sp0, s16 sp1, u8 sp2, u16 sp3); @@ -414,7 +414,7 @@ static bool8 InitHallOfFameScreen(void) if (!sub_8175024()) { SetVBlankCallback(VBlankCB_HallOfFame); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gMain.state++; } break; @@ -725,7 +725,7 @@ static void sub_8173EE4(u8 taskId) ShowBg(3); gTasks[taskId].tPlayerSpriteID = sub_818D8AC(sub_818D97C(gSaveBlock2Ptr->playerGender, 1), 1, 120, 72, 6, 0xFFFF); AddWindow(&sHof_WindowTemplate); - sub_80987D4(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); + LoadWindowGfx(1, gSaveBlock2Ptr->optionsWindowFrameType, 0x21D, 0xD0); LoadPalette(stdpal_get(1), 0xE0, 0x20); gTasks[taskId].tFrameCount = 120; gTasks[taskId].func = Task_Hof_WaitAndPrintPlayerInfo; @@ -764,7 +764,7 @@ static void Task_Hof_ExitOnKeyPressed(u8 taskId) static void Task_Hof_HandlePaletteOnExit(u8 taskId) { CpuCopy16(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); - BeginNormalPaletteFade(-1, 8, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 8, 0, 0x10, 0); gTasks[taskId].func = Task_Hof_HandleExit; } diff --git a/src/item_menu.c b/src/item_menu.c index e18d8fdd8..b45e1f4db 100755 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -209,7 +209,7 @@ const struct YesNoFuncTable gUnknown_08614084 = {BagMenuActuallyToss, BagMenuCan const struct YesNoFuncTable gUnknown_0861408C = {sub_81AD84C, sub_81AD6FC}; -const struct ArrowStruct gUnknown_08614094 = {0, 0x1C, 16, 1, 100, 16, -1, -1, 0x6F, 0x6F, 0}; +const struct ScrollArrowsTemplate gUnknown_08614094 = {SCROLL_ARROW_LEFT, 0x1C, 16, SCROLL_ARROW_RIGHT, 100, 16, -1, -1, 0x6F, 0x6F, 0}; const u8 gUnknown_086140A4[] = INCBIN_U8("graphics/interface/select_button.4bpp"); @@ -488,7 +488,7 @@ bool8 setup_bag_menu(void) gMain.state++; break; case 20: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = FALSE; gMain.state++; break; @@ -733,7 +733,7 @@ void bag_menu_print_cursor(u8 a, u8 b) void bag_menu_add_pocket_scroll_arrow_indicators_maybe(void) { if (gUnknown_0203CE54->unk81E == 0xFF) - gUnknown_0203CE54->unk81E = AddScrollIndicatorArrowPairParametrized(2, 0xAC, 12, 0x94, gUnknown_0203CE54->unk829[gUnknown_0203CE58.pocket] - gUnknown_0203CE54->unk82E[gUnknown_0203CE58.pocket], 0x6E, 0x6E, &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket]); + gUnknown_0203CE54->unk81E = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xAC, 12, 0x94, gUnknown_0203CE54->unk829[gUnknown_0203CE58.pocket] - gUnknown_0203CE54->unk82E[gUnknown_0203CE58.pocket], 0x6E, 0x6E, &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket]); } void sub_81AB824(void) @@ -771,7 +771,7 @@ void free_bag_item_list_buffers(void) void unknown_ItemMenu_Confirm(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = task_close_bag_menu_2; } @@ -1114,7 +1114,7 @@ void bag_menu_swap_items(u8 taskId) { s16* data = gTasks[taskId].data; - sub_81AF15C(data[0], 16, 1); + ListMenuSetUnkIndicatorsStructField(data[0], 16, 1); data[1] = gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket] + gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]; gUnknown_0203CE54->unk81A = data[1]; CopyItemName(BagGetItemIdByPocketPosition(gUnknown_0203CE58.pocket + 1, data[1]), gStringVar1); @@ -2078,7 +2078,7 @@ void bag_menu_print_pocket_names(u8 *pocketName1, u8 *pocketName2) offset = GetStringCenterAlignXOffset(1, pocketName2, 0x40); bag_menu_print(windowId, 1, pocketName2, offset + 0x40, 1, 0, 0, -1, 1); } - CpuCopy32((u8*)GetWindowAttribute(windowId, 7), gUnknown_0203CE54->unk844, 0x400); + CpuCopy32((u8*)GetWindowAttribute(windowId, WINDOW_TILE_DATA), gUnknown_0203CE54->unk844, 0x400); RemoveWindow(windowId); } @@ -2090,7 +2090,7 @@ void bag_menu_copy_pocket_name_to_window(u32 a) if (a > 8) a = 8; r4 = &gUnknown_0203CE54->unk844; - windowAttribute = (u8*)GetWindowAttribute(2, 7); + windowAttribute = (u8*)GetWindowAttribute(2, WINDOW_TILE_DATA); CpuCopy32(r4[0][a], windowAttribute, 0x100); b = a + 16; CpuCopy32(r4[0][b], windowAttribute + 0x100, 0x100); @@ -2103,7 +2103,7 @@ void setup_bag_menu_textboxes(void) InitWindows(gUnknown_08614174); DeactivateAllTextPrinters(); - sub_809882C(0, 1, -32); + LoadUserWindowBorderGfx(0, 1, -32); copy_textbox_border_tile_patterns_to_vram(0, 10, -48); sub_819A2BC(-64, 1); LoadPalette(&gUnknown_0860F074, 0xF0, 0x20); diff --git a/src/link.c b/src/link.c index acdb6cae0..ca9a5bb13 100644 --- a/src/link.c +++ b/src/link.c @@ -219,7 +219,7 @@ const u8 gUnknown_082ED224[] = { // .text -bool8 sub_80093CC(void) +bool8 IsWirelessAdapterConnected(void) { sub_800B488(); sub_800E700(); @@ -444,7 +444,7 @@ static void LinkTestProcessKeyInput(void) } if (gMain.newKeys & L_BUTTON) { - BeginNormalPaletteFade(-1, 0, 16, 0, 2); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 2); } if (gMain.newKeys & START_BUTTON) { diff --git a/src/list_menu.c b/src/list_menu.c index de7de8269..933d9835f 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -13,27 +13,6 @@ #include "sound.h" #include "constants/songs.h" -// This file needs better labels and function names. - -struct UnknownMysteryGiftLinkMenuStruct -{ - s32 field_0; - u8 field_4; - u8 field_5; - u8 field_6; -}; - -struct UnknownListMenuPals -{ - u8 cursorPal:4; - u8 fillValue:4; - u8 cursorShadowPal:4; - u8 lettersSpacing:6; - u8 field_2_2:6; // unused - u8 fontId:7; - u8 field_3_7:1; -}; - struct UnkIndicatorsStruct { u8 field_0; @@ -57,26 +36,19 @@ struct UnkIndicatorsStruct u8 field_17_1:2; }; -struct UnkIndicatorsStruct2 +struct ScrollIndicatorPair { u8 field_0; - u16 *field_4; - u16 field_8; - u16 field_A; - u8 field_C; - u8 field_D; + u16 *currItemPtr; + u16 fullyUpThreshold; + u16 fullyDownThreshold; + u8 topSpriteId; + u8 bottomSpriteId; u16 tileTag; u16 palTag; - u16 field_12; - u16 field_14; - u16 field_16; - u16 field_18; - u16 field_1A; - u16 field_1C; - s16 field_1E; }; -struct UnkIndicatorsStruct3 +struct RedOutlineCursor { struct SubspriteTable subspriteTable; struct Subsprite *subspritesPtr; // not a const pointer @@ -85,27 +57,19 @@ struct UnkIndicatorsStruct3 u16 palTag; }; -struct UnkIndicatorsStruct4 +struct RedArrowCursor { - u8 field_0; + u8 spriteId; u16 tileTag; u16 palTag; }; -struct UnkSmallIndicatorsStruct -{ - u8 field_0_0:4; - u8 field_0_1:4; - u8 field_1; - u16 field_2; -}; - // this file's functions static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow); static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown); static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOffset, u16 count); static void ListMenuDrawCursor(struct ListMenu *list); -static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 a2); +static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit); static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind); static void Task_ScrollIndicatorArrowPair(u8 taskId); static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor); @@ -117,19 +81,40 @@ static void ListMenuRemoveRedArrowCursorObject(u8 taskId); static u8 ListMenuAddCursorObjectInternal(struct CursorStruct *cursor, u32 cursorKind); static void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 cursorKind); static void ListMenuRemoveCursorObject(u8 taskId, u32 cursorKind); -static void sub_81AF264(struct Sprite *sprite); -static void ObjectCB_RedArrowCursor(struct Sprite *sprite); +static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite); +static void SpriteCallback_RedArrowCursor(struct Sprite *sprite); // EWRAM vars - EWRAM_DATA struct UnknownMysteryGiftLinkMenuStruct gUnknown_0203CE84 = {0}; - EWRAM_DATA struct ArrowStruct gUnknown_0203CE8C = {0}; +static EWRAM_DATA struct { + s32 currItemId; + u8 state; + u8 windowId; + u8 listTaskId; +} sMysteryGiftLinkMenu = {0}; + +EWRAM_DATA struct ScrollArrowsTemplate gTempScrollArrowTemplate = {0}; // IWRAM common -struct UnknownListMenuPals gUnknown_03006300; +struct { + u8 cursorPal:4; + u8 fillValue:4; + u8 cursorShadowPal:4; + u8 lettersSpacing:6; + u8 field_2_2:6; // unused + u8 fontId:7; + bool8 enabled:1; +} gListMenuOverride; + struct ListMenuTemplate gMultiuseListMenuTemplate; // const rom data -static const struct UnkSmallIndicatorsStruct gUnknown_086141FC[] = +static const struct +{ + u8 animNum:4; + u8 bounceDir:4; + u8 multiplier; + u16 frequency; +} sScrollIndicatorTemplates[] = { {0, 0, 2, 8}, {1, 0, 2, -8}, @@ -137,7 +122,7 @@ static const struct UnkSmallIndicatorsStruct gUnknown_086141FC[] = {3, 1, 2, -8}, }; -static const struct OamData sOamData_861420C = +static const struct OamData sOamData_ScrollArrowIndicator = { .y = 0, .affineMode = 0, @@ -154,50 +139,50 @@ static const struct OamData sOamData_861420C = .affineParam = 0 }; -static const union AnimCmd sSpriteAnim_8614214[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator0[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_861421C[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator1[] = { ANIMCMD_FRAME(0, 30, 1, 0), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_8614224[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator2[] = { ANIMCMD_FRAME(4, 30), ANIMCMD_END }; -static const union AnimCmd sSpriteAnim_861422C[] = +static const union AnimCmd sSpriteAnim_ScrollArrowIndicator3[] = { ANIMCMD_FRAME(4, 30, 0, 1), ANIMCMD_END }; -static const union AnimCmd *const sSpriteAnimTable_8614234[] = +static const union AnimCmd *const sSpriteAnimTable_ScrollArrowIndicator[] = { - sSpriteAnim_8614214, - sSpriteAnim_861421C, - sSpriteAnim_8614224, - sSpriteAnim_861422C + sSpriteAnim_ScrollArrowIndicator0, + sSpriteAnim_ScrollArrowIndicator1, + sSpriteAnim_ScrollArrowIndicator2, + sSpriteAnim_ScrollArrowIndicator3 }; -static const struct SpriteTemplate gUnknown_08614244 = +static const struct SpriteTemplate sSpriteTemplate_ScrollArrowIndicator = { .tileTag = 0, .paletteTag = 0, - .oam = &sOamData_861420C, - .anims = sSpriteAnimTable_8614234, + .oam = &sOamData_ScrollArrowIndicator, + .anims = sSpriteAnimTable_ScrollArrowIndicator, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81AF264, + .callback = SpriteCallback_ScrollIndicatorArrow, }; -static const struct Subsprite sSubsprite_861425C = +static const struct Subsprite sSubsprite_RedOutline1 = { .x = 0, .y = 0, @@ -207,7 +192,7 @@ static const struct Subsprite sSubsprite_861425C = .priority = 0, }; -static const struct Subsprite sSubsprite_8614260 = +static const struct Subsprite sSubsprite_RedOutline2 = { .x = 0, .y = 0, @@ -217,7 +202,7 @@ static const struct Subsprite sSubsprite_8614260 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614264 = +static const struct Subsprite sSubsprite_RedOutline3 = { .x = 0, .y = 0, @@ -227,7 +212,7 @@ static const struct Subsprite sSubsprite_8614264 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614268 = +static const struct Subsprite sSubsprite_RedOutline4 = { .x = 0, .y = 0, @@ -237,7 +222,7 @@ static const struct Subsprite sSubsprite_8614268 = .priority = 0, }; -static const struct Subsprite sSubsprite_861426C = +static const struct Subsprite sSubsprite_RedOutline5 = { .x = 0, .y = 0, @@ -247,7 +232,7 @@ static const struct Subsprite sSubsprite_861426C = .priority = 0, }; -static const struct Subsprite sSubsprite_8614270 = +static const struct Subsprite sSubsprite_RedOutline6 = { .x = 0, .y = 0, @@ -257,7 +242,7 @@ static const struct Subsprite sSubsprite_8614270 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614274 = +static const struct Subsprite sSubsprite_RedOutline7 = { .x = 0, .y = 0, @@ -267,7 +252,7 @@ static const struct Subsprite sSubsprite_8614274 = .priority = 0, }; -static const struct Subsprite sSubsprite_8614278 = +static const struct Subsprite sSubsprite_RedOutline8 = { .x = 0, .y = 0, @@ -277,7 +262,7 @@ static const struct Subsprite sSubsprite_8614278 = .priority = 0, }; -static const struct OamData sOamData_861427C = +static const struct OamData sOamData_RedArrowCursor = { .y = 0, .affineMode = 0, @@ -294,32 +279,32 @@ static const struct OamData sOamData_861427C = .affineParam = 0 }; -static const union AnimCmd sSpriteAnim_8614284[] = +static const union AnimCmd sSpriteAnim_RedArrowCursor[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_END }; -static const union AnimCmd *const sSpriteAnimTable_861428C[] = +static const union AnimCmd *const sSpriteAnimTable_RedArrowCursor[] = { - sSpriteAnim_8614284 + sSpriteAnim_RedArrowCursor }; -static const struct SpriteTemplate gUnknown_08614290 = +static const struct SpriteTemplate sSpriteTemplate_RedArrowCursor = { .tileTag = 0, .paletteTag = 0, - .oam = &sOamData_861427C, - .anims = sSpriteAnimTable_861428C, + .oam = &sOamData_RedArrowCursor, + .anims = sSpriteAnimTable_RedArrowCursor, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = ObjectCB_RedArrowCursor, + .callback = SpriteCallback_RedArrowCursor, }; -static const u16 gUnknown_086142A8[] = INCBIN_U16("graphics/interface/red_arrow.gbapal"); -static const u8 gUnknown_086142C8[] = INCBIN_U8("graphics/interface/red_arrow_other.4bpp.lz"); -static const u8 gUnknown_08614338[] = INCBIN_U8("graphics/interface/selector_outline.4bpp.lz"); -static const u8 gUnknown_08614378[] = INCBIN_U8("graphics/interface/red_arrow.4bpp.lz"); +static const u16 sRedArrowPal[] = INCBIN_U16("graphics/interface/red_arrow.gbapal"); +static const u8 sRedArrowOtherGfx[] = INCBIN_U8("graphics/interface/red_arrow_other.4bpp.lz"); +static const u8 sSelectorOutlineGfx[] = INCBIN_U8("graphics/interface/selector_outline.4bpp.lz"); +static const u8 sRedArrowGfx[] = INCBIN_U8("graphics/interface/red_arrow.4bpp.lz"); // code static void ListMenuDummyTask(u8 taskId) @@ -329,67 +314,67 @@ static void ListMenuDummyTask(u8 taskId) s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum) { - switch (gUnknown_0203CE84.field_4) + switch (sMysteryGiftLinkMenu.state) { case 0: default: - gUnknown_0203CE84.field_5 = AddWindow(windowTemplate); + sMysteryGiftLinkMenu.windowId = AddWindow(windowTemplate); switch (arg2) { case 2: - sub_809882C(gUnknown_0203CE84.field_5, tileNum, palNum); + LoadUserWindowBorderGfx(sMysteryGiftLinkMenu.windowId, tileNum, palNum); case 1: - sub_8098858(gUnknown_0203CE84.field_5, tileNum, palNum / 16); + sub_8098858(sMysteryGiftLinkMenu.windowId, tileNum, palNum / 16); break; } gMultiuseListMenuTemplate = *listMenuTemplate; - gMultiuseListMenuTemplate.windowId = gUnknown_0203CE84.field_5; - gUnknown_0203CE84.field_6 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - CopyWindowToVram(gUnknown_0203CE84.field_5, 1); - gUnknown_0203CE84.field_4 = 1; + gMultiuseListMenuTemplate.windowId = sMysteryGiftLinkMenu.windowId; + sMysteryGiftLinkMenu.listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1); + sMysteryGiftLinkMenu.state = 1; break; case 1: - gUnknown_0203CE84.field_0 = ListMenuHandleInputGetItemId(gUnknown_0203CE84.field_6); + sMysteryGiftLinkMenu.currItemId = ListMenuHandleInputGetItemId(sMysteryGiftLinkMenu.listTaskId); if (gMain.newKeys & A_BUTTON) { - gUnknown_0203CE84.field_4 = 2; + sMysteryGiftLinkMenu.state = 2; } if (gMain.newKeys & B_BUTTON) { - gUnknown_0203CE84.field_0 = LIST_B_PRESSED; - gUnknown_0203CE84.field_4 = 2; + sMysteryGiftLinkMenu.currItemId = LIST_B_PRESSED; + sMysteryGiftLinkMenu.state = 2; } - if (gUnknown_0203CE84.field_4 == 2) + if (sMysteryGiftLinkMenu.state == 2) { if (arg2 == 0) { - ClearWindowTilemap(gUnknown_0203CE84.field_5); + ClearWindowTilemap(sMysteryGiftLinkMenu.windowId); } else { switch (arg2) { case 0: // can never be reached, because of the if statement above - sub_819746C(gUnknown_0203CE84.field_5, FALSE); + sub_819746C(sMysteryGiftLinkMenu.windowId, FALSE); break; case 2: case 1: - sub_819746C(gUnknown_0203CE84.field_5, FALSE); + sub_819746C(sMysteryGiftLinkMenu.windowId, FALSE); break; } } - CopyWindowToVram(gUnknown_0203CE84.field_5, 1); + CopyWindowToVram(sMysteryGiftLinkMenu.windowId, 1); } break; case 2: - DestroyListMenuTask(gUnknown_0203CE84.field_6, NULL, NULL); - RemoveWindow(gUnknown_0203CE84.field_5); - gUnknown_0203CE84.field_4 = 0; - return gUnknown_0203CE84.field_0; + DestroyListMenuTask(sMysteryGiftLinkMenu.listTaskId, NULL, NULL); + RemoveWindow(sMysteryGiftLinkMenu.windowId); + sMysteryGiftLinkMenu.state = 0; + return sMysteryGiftLinkMenu.currItemId; } - return -1; + return LIST_NOTHING_CHOSEN; } u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow) @@ -402,19 +387,19 @@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 } // unused -u8 ListMenuInitWithWindows(struct ListMenuTemplate *listMenuTemplate, struct UnknownListMenuWindowStruct *arg1, u16 scrollOffset, u16 selectedRow) +u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *rect, u16 scrollOffset, u16 selectedRow) { s32 i; u8 taskId = ListMenuInitInternal(listMenuTemplate, scrollOffset, selectedRow); - for (i = 0; arg1[i].palNum != 0xFF; i++) + for (i = 0; rect[i].palNum != 0xFF; i++) { PutWindowRectTilemapOverridePalette(listMenuTemplate->windowId, - arg1[i].x, - arg1[i].y, - arg1[i].width, - arg1[i].height, - arg1[i].palNum); + rect[i].x, + rect[i].y, + rect[i].width, + rect[i].height, + rect[i].palNum); } CopyWindowToVram(listMenuTemplate->windowId, 2); @@ -480,6 +465,8 @@ s32 ListMenuHandleInputGetItemId(u8 listTaskId) } } +#define TASK_NONE 0xFF + void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) { struct ListMenu *list = (void*) gTasks[listTaskId].data; @@ -489,13 +476,13 @@ void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) if (selectedRow != NULL) *selectedRow = list->selectedRow; - if (list->unk_1E != 0xFF) - ListMenuRemoveCursorObject(list->unk_1E, list->template.cursorKind - 2); + if (list->taskId != TASK_NONE) + ListMenuRemoveCursorObject(list->taskId, list->template.cursorKind - 2); DestroyTask(listTaskId); } -void sub_81AE70C(u8 listTaskId) +void RedrawListMenu(u8 listTaskId) { struct ListMenu *list = (void*) gTasks[listTaskId].data; @@ -569,7 +556,7 @@ void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow) u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId) { struct ListMenu *list = (void*) gTasks[listTaskId].data; - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; return list->selectedRow * yMultiplier + list->template.upText_Y; } @@ -584,15 +571,15 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc list->selectedRow = selectedRow; list->unk_1C = 0; list->unk_1D = 0; - list->unk_1E = 0xFF; + list->taskId = TASK_NONE; list->unk_1F = 0; - gUnknown_03006300.cursorPal = list->template.cursorPal; - gUnknown_03006300.fillValue = list->template.fillValue; - gUnknown_03006300.cursorShadowPal = list->template.cursorShadowPal; - gUnknown_03006300.lettersSpacing = list->template.lettersSpacing; - gUnknown_03006300.fontId = list->template.fontId; - gUnknown_03006300.field_3_7 = 0; + gListMenuOverride.cursorPal = list->template.cursorPal; + gListMenuOverride.fillValue = list->template.fillValue; + gListMenuOverride.cursorShadowPal = list->template.cursorShadowPal; + gListMenuOverride.lettersSpacing = list->template.lettersSpacing; + gListMenuOverride.fontId = list->template.fontId; + gListMenuOverride.enabled = FALSE; if (list->template.totalItems < list->template.maxShowed) list->template.maxShowed = list->template.totalItems; @@ -600,7 +587,7 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc FillWindowPixelBuffer(list->template.windowId, (list->template.fillValue << 4) | (list->template.fillValue)); ListMenuPrintEntries(list, list->scrollOffset, 0, list->template.maxShowed); ListMenuDrawCursor(list); - ListMenuCallSelectionChangedCallback(list, 1); + ListMenuCallSelectionChangedCallback(list, TRUE); return listTaskId; } @@ -608,18 +595,18 @@ static u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 sc static void ListMenuPrint(struct ListMenu *list, const u8 *str, u8 x, u8 y) { u8 colors[3]; - if (gUnknown_03006300.field_3_7) + if (gListMenuOverride.enabled) { - colors[0] = gUnknown_03006300.fillValue; - colors[1] = gUnknown_03006300.cursorPal; - colors[2] = gUnknown_03006300.cursorShadowPal; + colors[0] = gListMenuOverride.fillValue; + colors[1] = gListMenuOverride.cursorPal; + colors[2] = gListMenuOverride.cursorShadowPal; AddTextPrinterParameterized2(list->template.windowId, - gUnknown_03006300.fontId, + gListMenuOverride.fontId, x, y, - gUnknown_03006300.lettersSpacing, + gListMenuOverride.lettersSpacing, 0, colors, TEXT_SPEED_FF, str); - gUnknown_03006300.field_3_7 = 0; + gListMenuOverride.enabled = FALSE; } else { @@ -638,18 +625,18 @@ static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOff { s32 i; u8 x, y; - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; for (i = 0; i < count; i++) { - if (list->template.items[startIndex].id != -3) - x = list->template.unk_12; + if (list->template.items[startIndex].id != LIST_HEADER) + x = list->template.item_X; else - x = list->template.unk_11; + x = list->template.header_X; y = (yOffset + i) * yMultiplier + list->template.upText_Y; - if (list->template.unk_08 != NULL) - list->template.unk_08(list->template.windowId, list->template.items[startIndex].id, y); + if (list->template.itemPrintFunc != NULL) + list->template.itemPrintFunc(list->template.windowId, list->template.items[startIndex].id, y); ListMenuPrint(list, list->template.items[startIndex].name, x, y); startIndex++; @@ -658,7 +645,7 @@ static void ListMenuPrintEntries(struct ListMenu *list, u16 startIndex, u16 yOff static void ListMenuDrawCursor(struct ListMenu *list) { - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; u8 x = list->template.cursor_X; u8 y = list->selectedRow * yMultiplier + list->template.upText_Y; switch (list->template.cursorKind) @@ -669,33 +656,35 @@ static void ListMenuDrawCursor(struct ListMenu *list) case 1: break; case 2: - if (list->unk_1E == 0xFF) - list->unk_1E = ListMenuAddCursorObject(list, 0); - ListMenuUpdateCursorObject(list->unk_1E, + if (list->taskId == TASK_NONE) + list->taskId = ListMenuAddCursorObject(list, 0); + ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 - 1, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y - 1, 0); break; case 3: - if (list->unk_1E == 0xFF) - list->unk_1E = ListMenuAddCursorObject(list, 1); - ListMenuUpdateCursorObject(list->unk_1E, + if (list->taskId == TASK_NONE) + list->taskId = ListMenuAddCursorObject(list, 1); + ListMenuUpdateCursorObject(list->taskId, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_LEFT) * 8 + x, GetWindowAttribute(list->template.windowId, WINDOW_TILEMAP_TOP) * 8 + y, 1); break; } } +#undef TASK_NONE + static u8 ListMenuAddCursorObject(struct ListMenu *list, u32 cursorKind) { struct CursorStruct cursor; - cursor.unk0 = 0; - cursor.unk1 = 0xA0; - cursor.unk2 = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8 + 2; - cursor.unk4 = GetFontAttribute(list->template.fontId, 1) + 2; + cursor.left = 0; + cursor.top = 160; + cursor.rowWidth = GetWindowAttribute(list->template.windowId, WINDOW_WIDTH) * 8 + 2; + cursor.rowHeight = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + 2; cursor.tileTag = 0x4000; - cursor.palTag = 0xFFFF; - cursor.palNum = 0xF; + cursor.palTag = SPRITE_INVALID_TAG; + cursor.palNum = 15; return ListMenuAddCursorObjectInternal(&cursor, cursorKind); } @@ -705,7 +694,7 @@ static void ListMenuErasePrintedCursor(struct ListMenu *list, u16 selectedRow) u8 cursorKind = list->template.cursorKind; if (cursorKind == 0) { - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; u8 width = GetMenuCursorDimensionByFont(list->template.fontId, 0); u8 height = GetMenuCursorDimensionByFont(list->template.fontId, 1); FillWindowPixelRect(list->template.windowId, @@ -736,7 +725,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow != 0) { selectedRow--; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -750,7 +739,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow > newRow) { selectedRow--; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -772,7 +761,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow < list->template.maxShowed - 1) { selectedRow++; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -786,7 +775,7 @@ static u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, b while (selectedRow < newRow) { selectedRow++; - if (list->template.items[scrollOffset + selectedRow].id != -3) + if (list->template.items[scrollOffset + selectedRow].id != LIST_HEADER) { list->selectedRow = selectedRow; return 1; @@ -811,7 +800,7 @@ static void ListMenuScroll(struct ListMenu *list, u8 count, bool8 movingDown) } else { - u8 yMultiplier = GetFontAttribute(list->template.fontId, 1) + list->template.unk_16_3; + u8 yMultiplier = GetFontAttribute(list->template.fontId, FONTATTR_MAX_LETTER_HEIGHT) + list->template.itemVerticalPadding; if (!movingDown) { @@ -859,7 +848,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn if (ret != 2) break; cursorCount++; - } while (list->template.items[list->scrollOffset + list->selectedRow].id == -3); + } while (list->template.items[list->scrollOffset + list->selectedRow].id == LIST_HEADER); } if (updateCursorAndCallCallback) @@ -872,7 +861,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn case 1: ListMenuErasePrintedCursor(list, oldSelectedRow); ListMenuDrawCursor(list); - ListMenuCallSelectionChangedCallback(list, 0); + ListMenuCallSelectionChangedCallback(list, FALSE); CopyWindowToVram(list->template.windowId, 2); break; case 2: @@ -880,7 +869,7 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn ListMenuErasePrintedCursor(list, oldSelectedRow); ListMenuScroll(list, cursorCount, movingDown); ListMenuDrawCursor(list); - ListMenuCallSelectionChangedCallback(list, 0); + ListMenuCallSelectionChangedCallback(list, FALSE); CopyWindowToVram(list->template.windowId, 2); break; } @@ -889,29 +878,29 @@ static bool8 ListMenuChangeSelection(struct ListMenu *list, bool8 updateCursorAn return FALSE; } -static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 a2) +static void ListMenuCallSelectionChangedCallback(struct ListMenu *list, u8 onInit) { if (list->template.moveCursorFunc != NULL) - list->template.moveCursorFunc(list->template.items[list->scrollOffset + list->selectedRow].id, a2, list); + list->template.moveCursorFunc(list->template.items[list->scrollOffset + list->selectedRow].id, onInit, list); } // unused -void sub_81AF028(u8 cursorPal, u8 fillValue, u8 cursorShadowPal) +void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal) { - gUnknown_03006300.cursorPal = cursorPal; - gUnknown_03006300.fillValue = fillValue; - gUnknown_03006300.cursorShadowPal = cursorShadowPal; - gUnknown_03006300.field_3_7 = 1; + gListMenuOverride.cursorPal = cursorPal; + gListMenuOverride.fillValue = fillValue; + gListMenuOverride.cursorShadowPal = cursorShadowPal; + gListMenuOverride.enabled = TRUE; } -void sub_81AF078(s32 arg0, u8 arg1, struct ListMenu *list) +void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) { - if (!arg1) + if (!onInit) PlaySE(SE_SELECT); } // unused -s32 sub_81AF08C(u8 taskId, u8 field) +s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field) { struct UnkIndicatorsStruct *data = (void*) gTasks[taskId].data; @@ -955,8 +944,7 @@ s32 sub_81AF08C(u8 taskId, u8 field) } } -// unused -void sub_81AF15C(u8 taskId, u8 field, s32 value) +void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value) { struct UnkIndicatorsStruct *data = (void*) &gTasks[taskId].data; @@ -1014,73 +1002,87 @@ void sub_81AF15C(u8 taskId, u8 field, s32 value) } } -static void sub_81AF264(struct Sprite *sprite) +#define tState data[0] +#define tAnimNum data[1] +#define tBounceDir data[2] +#define tMultiplier data[3] +#define tFrequency data[4] +#define tSinePos data[5] + +static void SpriteCallback_ScrollIndicatorArrow(struct Sprite *sprite) { s32 multiplier; - switch (sprite->data[0]) + switch (sprite->tState) { case 0: - StartSpriteAnim(sprite, sprite->data[1]); - sprite->data[0]++; + StartSpriteAnim(sprite, sprite->tAnimNum); + sprite->tState++; break; case 1: - switch (sprite->data[2]) + switch (sprite->tBounceDir) { case 0: - multiplier = sprite->data[3]; - sprite->pos2.x = (gSineTable[(u8)(sprite->data[5])] * multiplier) / 256; + multiplier = sprite->tMultiplier; + sprite->pos2.x = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256; break; case 1: - multiplier = sprite->data[3]; - sprite->pos2.y = (gSineTable[(u8)(sprite->data[5])] * multiplier) / 256; + multiplier = sprite->tMultiplier; + sprite->pos2.y = (gSineTable[(u8)(sprite->tSinePos)] * multiplier) / 256; break; } - sprite->data[5] += sprite->data[4]; + sprite->tSinePos += sprite->tFrequency; break; } } -static u8 AddScrollIndicatorArrowObject(u8 arg0, u8 x, u8 y, u16 tileTag, u16 palTag) +static u8 AddScrollIndicatorArrowObject(u8 arrowDir, u8 x, u8 y, u16 tileTag, u16 palTag) { u8 spriteId; struct SpriteTemplate spriteTemplate; - spriteTemplate = gUnknown_08614244; + spriteTemplate = sSpriteTemplate_ScrollArrowIndicator; spriteTemplate.tileTag = tileTag; spriteTemplate.paletteTag = palTag; spriteId = CreateSprite(&spriteTemplate, x, y, 0); - gSprites[spriteId].invisible = 1; - gSprites[spriteId].data[0] = 0; - gSprites[spriteId].data[1] = gUnknown_086141FC[arg0].field_0_0; - gSprites[spriteId].data[2] = gUnknown_086141FC[arg0].field_0_1; - gSprites[spriteId].data[3] = gUnknown_086141FC[arg0].field_1; - gSprites[spriteId].data[4] = gUnknown_086141FC[arg0].field_2; - gSprites[spriteId].data[5] = 0; + gSprites[spriteId].invisible = TRUE; + gSprites[spriteId].tState = 0; + gSprites[spriteId].tAnimNum = sScrollIndicatorTemplates[arrowDir].animNum; + gSprites[spriteId].tBounceDir = sScrollIndicatorTemplates[arrowDir].bounceDir; + gSprites[spriteId].tMultiplier = sScrollIndicatorTemplates[arrowDir].multiplier; + gSprites[spriteId].tFrequency = sScrollIndicatorTemplates[arrowDir].frequency; + gSprites[spriteId].tSinePos = 0; return spriteId; } -u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1) +#undef tState +#undef tAnimNum +#undef tBounceDir +#undef tMultiplier +#undef tFrequency +#undef tSinePos + +u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *currItemPtr) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; - struct UnkIndicatorsStruct2 *data; + struct ScrollIndicatorPair *data; u8 taskId; - spriteSheet.data = gUnknown_086142C8; + spriteSheet.data = sRedArrowOtherGfx; spriteSheet.size = 0x100; spriteSheet.tag = arrowInfo->tileTag; LoadCompressedObjectPic(&spriteSheet); - if (arrowInfo->palTag == 0xFFFF) + if (arrowInfo->palTag == SPRITE_INVALID_TAG) { - LoadPalette(gUnknown_086142A8, (16 * arrowInfo->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, (16 * arrowInfo->palNum) + 0x100, 0x20); } else { - spritePal.data = gUnknown_086142A8; + spritePal.data = sRedArrowPal; spritePal.tag = arrowInfo->palTag; LoadSpritePalette(&spritePal); } @@ -1089,96 +1091,101 @@ u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1) data = (void*) gTasks[taskId].data; data->field_0 = 0; - data->field_4 = arg1; - data->field_8 = arrowInfo->unk6; - data->field_A = arrowInfo->unk8; + data->currItemPtr = currItemPtr; + data->fullyUpThreshold = arrowInfo->fullyUpThreshold; + data->fullyDownThreshold = arrowInfo->fullyDownThreshold; data->tileTag = arrowInfo->tileTag; data->palTag = arrowInfo->palTag; - data->field_C = AddScrollIndicatorArrowObject(arrowInfo->unk0, arrowInfo->unk1, arrowInfo->unk2, arrowInfo->tileTag, arrowInfo->palTag); - data->field_D = AddScrollIndicatorArrowObject(arrowInfo->unk3, arrowInfo->unk4, arrowInfo->unk5, arrowInfo->tileTag, arrowInfo->palTag); + data->topSpriteId = AddScrollIndicatorArrowObject(arrowInfo->firstArrowType, arrowInfo->firstX, arrowInfo->firstY, arrowInfo->tileTag, arrowInfo->palTag); + data->bottomSpriteId = AddScrollIndicatorArrowObject(arrowInfo->secondArrowType, arrowInfo->secondX, arrowInfo->secondY, arrowInfo->tileTag, arrowInfo->palTag); - if (arrowInfo->palTag == 0xFFFF) + if (arrowInfo->palTag == SPRITE_INVALID_TAG) { - gSprites[data->field_C].oam.paletteNum = arrowInfo->palNum; - gSprites[data->field_D].oam.paletteNum = arrowInfo->palNum; + gSprites[data->topSpriteId].oam.paletteNum = arrowInfo->palNum; + gSprites[data->bottomSpriteId].oam.paletteNum = arrowInfo->palNum; } return taskId; } -u8 AddScrollIndicatorArrowPairParametrized(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 tileTag, s32 palTag, void *arg7) +u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *currItemPtr) { - if (arg0 == 2 || arg0 == 3) + if (arrowType == SCROLL_ARROW_UP || arrowType == SCROLL_ARROW_DOWN) { - gUnknown_0203CE8C.unk0 = 2; - gUnknown_0203CE8C.unk1 = arg1; - gUnknown_0203CE8C.unk2 = arg2; - gUnknown_0203CE8C.unk3 = 3; - gUnknown_0203CE8C.unk4 = arg1; - gUnknown_0203CE8C.unk5 = arg3; + gTempScrollArrowTemplate.firstArrowType = SCROLL_ARROW_UP; + gTempScrollArrowTemplate.firstX = commonPos; + gTempScrollArrowTemplate.firstY = firstPos; + gTempScrollArrowTemplate.secondArrowType = SCROLL_ARROW_DOWN; + gTempScrollArrowTemplate.secondX = commonPos; + gTempScrollArrowTemplate.secondY = secondPos; } else { - gUnknown_0203CE8C.unk0 = 0; - gUnknown_0203CE8C.unk1 = arg2; - gUnknown_0203CE8C.unk2 = arg1; - gUnknown_0203CE8C.unk3 = 1; - gUnknown_0203CE8C.unk4 = arg3; - gUnknown_0203CE8C.unk5 = arg1; + gTempScrollArrowTemplate.firstArrowType = SCROLL_ARROW_LEFT; + gTempScrollArrowTemplate.firstX = firstPos; + gTempScrollArrowTemplate.firstY = commonPos; + gTempScrollArrowTemplate.secondArrowType = SCROLL_ARROW_RIGHT; + gTempScrollArrowTemplate.secondX = secondPos; + gTempScrollArrowTemplate.secondY = commonPos; } - gUnknown_0203CE8C.unk6 = 0; - gUnknown_0203CE8C.unk8 = arg4; - gUnknown_0203CE8C.tileTag = tileTag; - gUnknown_0203CE8C.palTag = palTag; - gUnknown_0203CE8C.palNum = 0; + gTempScrollArrowTemplate.fullyUpThreshold = 0; + gTempScrollArrowTemplate.fullyDownThreshold = fullyDownThreshold; + gTempScrollArrowTemplate.tileTag = tileTag; + gTempScrollArrowTemplate.palTag = palTag; + gTempScrollArrowTemplate.palNum = 0; - return AddScrollIndicatorArrowPair(&gUnknown_0203CE8C, arg7); + return AddScrollIndicatorArrowPair(&gTempScrollArrowTemplate, currItemPtr); } static void Task_ScrollIndicatorArrowPair(u8 taskId) { - struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; - u16 var = (*data->field_4); + struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; + u16 currItem = (*data->currItemPtr); - if (var == data->field_8 && var != 0xFFFF) - gSprites[data->field_C].invisible = 1; + if (currItem == data->fullyUpThreshold && currItem != 0xFFFF) + gSprites[data->topSpriteId].invisible = TRUE; else - gSprites[data->field_C].invisible = 0; + gSprites[data->topSpriteId].invisible = FALSE; - if (var == data->field_A) - gSprites[data->field_D].invisible = 1; + if (currItem == data->fullyDownThreshold) + gSprites[data->bottomSpriteId].invisible = TRUE; else - gSprites[data->field_D].invisible = 0; + gSprites[data->bottomSpriteId].invisible = FALSE; } +#define tIsScrolled data[15] + void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId) { - struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + s16 *data = gTasks[taskId].data; + struct ScrollIndicatorPair *scrollData = (void*) data; - if (data->field_1E != 0) + if (tIsScrolled) { - gSprites[data->field_C].invisible = 0; - gSprites[data->field_D].invisible = 1; + gSprites[scrollData->topSpriteId].invisible = FALSE; + gSprites[scrollData->bottomSpriteId].invisible = TRUE; } else { - gSprites[data->field_C].invisible = 1; - gSprites[data->field_D].invisible = 0; + gSprites[scrollData->topSpriteId].invisible = TRUE; + gSprites[scrollData->bottomSpriteId].invisible = FALSE; } } +#undef tIsScrolled + void RemoveScrollIndicatorArrowPair(u8 taskId) { - struct UnkIndicatorsStruct2 *data = (void*) gTasks[taskId].data; + struct ScrollIndicatorPair *data = (void*) gTasks[taskId].data; - if (data->tileTag != 0xFFFF) + if (data->tileTag != SPRITE_INVALID_TAG) FreeSpriteTilesByTag(data->tileTag); - if (data->palTag != 0xFFFF) + if (data->palTag != SPRITE_INVALID_TAG) FreeSpritePaletteByTag(data->palTag); - DestroySprite(&gSprites[data->field_C]); - DestroySprite(&gSprites[data->field_D]); + DestroySprite(&gSprites[data->topSpriteId]); + DestroySprite(&gSprites[data->bottomSpriteId]); DestroyTask(taskId); } @@ -1226,76 +1233,76 @@ static void Task_RedOutlineCursor(u8 taskId) } -u8 ListMenuGetRedOutlineCursorSpriteCount(u16 arg0, u16 arg1) +u8 ListMenuGetRedOutlineCursorSpriteCount(u16 rowWidth, u16 rowHeight) { s32 i; s32 count = 4; - if (arg0 > 16) + if (rowWidth > 16) { - for (i = 8; i < (arg0 - 8); i += 8) + for (i = 8; i < (rowWidth - 8); i += 8) count += 2; } - if (arg1 > 16) + if (rowHeight > 16) { - for (i = 8; i < (arg1 - 8); i += 8) + for (i = 8; i < (rowHeight - 8); i += 8) count += 2; } return count; } -void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 arg0, u16 arg1, struct Subsprite *subsprites) +void ListMenuSetUpRedOutlineCursorSpriteOamTable(u16 rowWidth, u16 rowHeight, struct Subsprite *subsprites) { s32 i, j, id = 0; - subsprites[id] = sSubsprite_861425C; + subsprites[id] = sSubsprite_RedOutline1; subsprites[id].x = 136; subsprites[id].y = 136; id++; - subsprites[id] = sSubsprite_8614260; - subsprites[id].x = arg0 + 128; + subsprites[id] = sSubsprite_RedOutline2; + subsprites[id].x = rowWidth + 128; subsprites[id].y = 136; id++; - subsprites[id] = sSubsprite_8614274; + subsprites[id] = sSubsprite_RedOutline7; subsprites[id].x = 136; - subsprites[id].y = arg1 + 128; + subsprites[id].y = rowHeight + 128; id++; - subsprites[id] = sSubsprite_8614278; - subsprites[id].x = arg0 + 128; - subsprites[id].y = arg1 + 128; + subsprites[id] = sSubsprite_RedOutline8; + subsprites[id].x = rowWidth + 128; + subsprites[id].y = rowHeight + 128; id++; - if (arg0 > 16) + if (rowWidth > 16) { - for (i = 8; i < arg0 - 8; i += 8) + for (i = 8; i < rowWidth - 8; i += 8) { - subsprites[id] = sSubsprite_8614264; + subsprites[id] = sSubsprite_RedOutline3; subsprites[id].x = i - 120; subsprites[id].y = 136; id++; - subsprites[id] = sSubsprite_8614270; + subsprites[id] = sSubsprite_RedOutline6; subsprites[id].x = i - 120; - subsprites[id].y = arg1 + 128; + subsprites[id].y = rowHeight + 128; id++; } } - if (arg1 > 16) + if (rowHeight > 16) { - for (j = 8; j < arg1 - 8; j += 8) + for (j = 8; j < rowHeight - 8; j += 8) { - subsprites[id] = sSubsprite_8614268; + subsprites[id] = sSubsprite_RedOutline4; subsprites[id].x = 136; subsprites[id].y = j - 120; id++; - subsprites[id] = sSubsprite_861426C; - subsprites[id].x = arg0 + 128; + subsprites[id] = sSubsprite_RedOutline5; + subsprites[id].x = rowWidth + 128; subsprites[id].y = j - 120; id++; } @@ -1306,22 +1313,22 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; - struct UnkIndicatorsStruct3 *data; + struct RedOutlineCursor *data; struct SpriteTemplate spriteTemplate; u8 taskId; - spriteSheet.data = gUnknown_08614338; + spriteSheet.data = sSelectorOutlineGfx; spriteSheet.size = 0x100; spriteSheet.tag = cursor->tileTag; LoadCompressedObjectPic(&spriteSheet); - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { - LoadPalette(gUnknown_086142A8, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); } else { - spritePal.data = gUnknown_086142A8; + spritePal.data = sRedArrowPal; spritePal.tag = cursor->palTag; LoadSpritePalette(&spritePal); } @@ -1331,21 +1338,21 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) data->tileTag = cursor->tileTag; data->palTag = cursor->palTag; - data->subspriteTable.subspriteCount = ListMenuGetRedOutlineCursorSpriteCount(cursor->unk2, cursor->unk4); + data->subspriteTable.subspriteCount = ListMenuGetRedOutlineCursorSpriteCount(cursor->rowWidth, cursor->rowHeight); data->subspriteTable.subsprites = data->subspritesPtr = Alloc(data->subspriteTable.subspriteCount * 4); - ListMenuSetUpRedOutlineCursorSpriteOamTable(cursor->unk2, cursor->unk4, data->subspritesPtr); + ListMenuSetUpRedOutlineCursorSpriteOamTable(cursor->rowWidth, cursor->rowHeight, data->subspritesPtr); spriteTemplate = gDummySpriteTemplate; spriteTemplate.tileTag = cursor->tileTag; spriteTemplate.paletteTag = cursor->palTag; - data->spriteId = CreateSprite(&spriteTemplate, cursor->unk0 + 120, cursor->unk1 + 120, 0); + data->spriteId = CreateSprite(&spriteTemplate, cursor->left + 120, cursor->top + 120, 0); SetSubspriteTables(&gSprites[data->spriteId], &data->subspriteTable); gSprites[data->spriteId].oam.priority = 0; gSprites[data->spriteId].subpriority = 0; gSprites[data->spriteId].subspriteTableNum = 0; - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { gSprites[data->spriteId].oam.paletteNum = cursor->palNum; } @@ -1355,7 +1362,7 @@ static u8 ListMenuAddRedOutlineCursorObject(struct CursorStruct *cursor) static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) { - struct UnkIndicatorsStruct3 *data = (void*) gTasks[taskId].data; + struct RedOutlineCursor *data = (void*) gTasks[taskId].data; gSprites[data->spriteId].pos1.x = x + 120; gSprites[data->spriteId].pos1.y = y + 120; @@ -1363,20 +1370,20 @@ static void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y) static void ListMenuRemoveRedOutlineCursorObject(u8 taskId) { - struct UnkIndicatorsStruct3 *data = (void*) gTasks[taskId].data; + struct RedOutlineCursor *data = (void*) gTasks[taskId].data; Free(data->subspritesPtr); - if (data->tileTag != 0xFFFF) + if (data->tileTag != SPRITE_INVALID_TAG) FreeSpriteTilesByTag(data->tileTag); - if (data->palTag != 0xFFFF) + if (data->palTag != SPRITE_INVALID_TAG) FreeSpritePaletteByTag(data->palTag); DestroySprite(&gSprites[data->spriteId]); DestroyTask(taskId); } -static void ObjectCB_RedArrowCursor(struct Sprite *sprite) +static void SpriteCallback_RedArrowCursor(struct Sprite *sprite) { sprite->pos2.x = gSineTable[(u8)(sprite->data[0])] / 64; sprite->data[0] += 8; @@ -1391,22 +1398,22 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) { struct CompressedSpriteSheet spriteSheet; struct SpritePalette spritePal; - struct UnkIndicatorsStruct4 *data; + struct RedArrowCursor *data; struct SpriteTemplate spriteTemplate; u8 taskId; - spriteSheet.data = gUnknown_08614378; + spriteSheet.data = sRedArrowGfx; spriteSheet.size = 0x80; spriteSheet.tag = cursor->tileTag; LoadCompressedObjectPic(&spriteSheet); - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { - LoadPalette(gUnknown_086142A8, (16 * cursor->palNum) + 0x100, 0x20); + LoadPalette(sRedArrowPal, (16 * cursor->palNum) + 0x100, 0x20); } else { - spritePal.data = gUnknown_086142A8; + spritePal.data = sRedArrowPal; spritePal.tag = cursor->palTag; LoadSpritePalette(&spritePal); } @@ -1417,17 +1424,17 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) data->tileTag = cursor->tileTag; data->palTag = cursor->palTag; - spriteTemplate = gUnknown_08614290; + spriteTemplate = sSpriteTemplate_RedArrowCursor; spriteTemplate.tileTag = cursor->tileTag; spriteTemplate.paletteTag = cursor->palTag; - data->field_0 = CreateSprite(&spriteTemplate, cursor->unk0, cursor->unk1, 0); - gSprites[data->field_0].pos2.x = 8; - gSprites[data->field_0].pos2.y = 8; + data->spriteId = CreateSprite(&spriteTemplate, cursor->left, cursor->top, 0); + gSprites[data->spriteId].pos2.x = 8; + gSprites[data->spriteId].pos2.y = 8; - if (cursor->palTag == 0xFFFF) + if (cursor->palTag == SPRITE_INVALID_TAG) { - gSprites[data->field_0].oam.paletteNum = cursor->palNum; + gSprites[data->spriteId].oam.paletteNum = cursor->palNum; } return taskId; @@ -1435,21 +1442,21 @@ static u8 ListMenuAddRedArrowCursorObject(struct CursorStruct *cursor) static void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y) { - struct UnkIndicatorsStruct4 *data = (void*) gTasks[taskId].data; + struct RedArrowCursor *data = (void*) gTasks[taskId].data; - gSprites[data->field_0].pos1.x = x; - gSprites[data->field_0].pos1.y = y; + gSprites[data->spriteId].pos1.x = x; + gSprites[data->spriteId].pos1.y = y; } static void ListMenuRemoveRedArrowCursorObject(u8 taskId) { - struct UnkIndicatorsStruct4 *data = (void*) gTasks[taskId].data; + struct RedArrowCursor *data = (void*) gTasks[taskId].data; - if (data->tileTag != 0xFFFF) + if (data->tileTag != SPRITE_INVALID_TAG) FreeSpriteTilesByTag(data->tileTag); - if (data->palTag != 0xFFFF) + if (data->palTag != SPRITE_INVALID_TAG) FreeSpritePaletteByTag(data->palTag); - DestroySprite(&gSprites[data->field_0]); + DestroySprite(&gSprites[data->spriteId]); DestroyTask(taskId); } diff --git a/src/mail.c b/src/mail.c index 8fddc7045..625b52de3 100644 --- a/src/mail.c +++ b/src/mail.c @@ -417,7 +417,7 @@ static bool8 MailReadBuildGraphics(void) ShowBg(0); ShowBg(1); ShowBg(2); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = FALSE; sMailRead->callback2 = CB2_WaitForPaletteExitOnKeyPress; return TRUE; @@ -526,7 +526,7 @@ static void CB2_ExitOnKeyPress(void) { if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); sMailRead->callback2 = CB2_ExitMailReadFreeVars; } } diff --git a/src/main_menu.c b/src/main_menu.c index 3490424af..91a5eba53 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -44,10 +44,10 @@ // Static RAM declarations -EWRAM_DATA u8 gUnknown_02022D04 = 0; -EWRAM_DATA u16 gUnknown_02022D06 = 0; +static EWRAM_DATA u8 gUnknown_02022D04 = 0; +static EWRAM_DATA u16 sCurrItemAndOptionMenuCheck = 0; -IWRAM_DATA u8 gUnknown_03000DD0; +static IWRAM_DATA u8 gUnknown_03000DD0; // Static ROM declarations @@ -56,7 +56,7 @@ void Task_MainMenuCheckSaveFile(u8); void Task_MainMenuCheckBattery(u8); void Task_WaitForSaveFileErrorWindow(u8); void CreateMainMenuErrorWindow(const u8*); -void sub_8032250(const struct WindowTemplate*); +static void ClearMainMenuWindowTilemap(const struct WindowTemplate*); void Task_DisplayMainMenu(u8); void Task_WaitForBatteryDryErrorWindow(u8); void fmt_savegame(void); @@ -133,12 +133,12 @@ const u8 gUnknown_082FEEF0[] = INCBIN_U8("graphics/birch_speech/map.bin.lz"); const u16 gUnknown_082FF018[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal"); const u16 gUnknown_082FF028[] = {0, 0, 0, 0, 0, 0, 0, 0}; -const struct WindowTemplate gUnknown_082FF038[] = { +const struct WindowTemplate sWindowTemplates_NoSavedGame[] = { {0, 2, 1, 26, 2, 15, 1}, {0, 2, 5, 26, 2, 15, 0x35} }; -const struct WindowTemplate gUnknown_082FF048[] = { +const struct WindowTemplate sWindowTemplates_HasSavedGame[] = { {0, 2, 1, 26, 6, 15, 1}, {0, 2, 9, 26, 2, 15, 0x9D}, {0, 2, 13, 26, 2, 15, 0xD1}, @@ -146,7 +146,7 @@ const struct WindowTemplate gUnknown_082FF048[] = { {0, 2, 21, 26, 2, 15, 0x139} }; -const struct WindowTemplate gUnknown_082FF070[] = { +const struct WindowTemplate sWindowTemplate_ErrorWindow[] = { {0, 2, 15, 26, 4, 15, 0x16D}, {0xFF, 0, 0, 0, 0, 0, 0} }; @@ -161,7 +161,7 @@ const struct WindowTemplate gUnknown_082FF080[] = { const u16 gMainMenuBgPal[] = INCBIN_U16("graphics/misc/main_menu_bg.gbapal"); const u16 gMainMenuTextPal[] = INCBIN_U16("graphics/misc/main_menu_text.gbapal"); -const u8 gUnknown_082FF0E0[] = {10, 11, 12}; +const u8 gTextColor_Headers[] = {10, 11, 12}; const u8 gUnknown_082FF0E3[] = {10, 1, 12}; const struct BgTemplate gUnknown_082FF0E8[] = { @@ -195,7 +195,7 @@ const struct BgTemplate gUnknown_082FF0F0 = { .baseTile = 0 }; -const struct ArrowStruct gUnknown_082FF0F4 = {2, 0x78, 8, 3, 0x78, 0x98, 3, 4, 1, 1, 0}; +const struct ScrollArrowsTemplate sScrollArrowsTemplate_MainMenu = {2, 0x78, 8, 3, 0x78, 0x98, 3, 4, 1, 1, 0}; const union AffineAnimCmd gUnknown_082FF104[] = { AFFINEANIMCMD_FRAME(-2, -2, 0, 0x30), @@ -265,6 +265,16 @@ enum HAS_MYSTERY_EVENTS, }; +enum { + ACTION_NEW_GAME, + ACTION_CONTINUE, + ACTION_OPTIONS, + ACTION_MYSTERY_GIFT, + ACTION_MYSTERY_EVENTS, + ACTION_UNKNOWN, // TODO: change when rom_8011DC0 decompiled + ACTION_INVALID +}; + #define MAIN_MENU_BORDER_TILE 0x1D5 void CB2_MainMenu(void) @@ -319,16 +329,16 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) ResetSpriteData(); FreeAllSpritePalettes(); if (returningFromOptionsMenu) - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0x0000); // fade to black + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0x0000); // fade to black else - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0xFFFF); // fade to white + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0xFFFF); // fade to white ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_082FF0E8, 2); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); ChangeBgY(1, 0, 0); - InitWindows(gUnknown_082FF038); + InitWindows(sWindowTemplates_NoSavedGame); DeactivateAllTextPrinters(); LoadMainMenuWindowFrameTiles(0, MAIN_MENU_BORDER_TILE); @@ -351,6 +361,15 @@ u32 InitMainMenu(bool8 returningFromOptionsMenu) return 0; } +#define tMenuType data[0] +#define tCurrItem data[1] +#define tItemCount data[12] +#define tScrollArrowTaskId data[13] +#define tIsScrolled data[14] +#define tWirelessAdapterConnected data[15] + +#define tArrowTaskIsScrolled data[15] // For scroll indicator arrow task + void Task_MainMenuCheckSaveFile(u8 taskId) { s16* data = gTasks[taskId].data; @@ -359,64 +378,64 @@ void Task_MainMenuCheckSaveFile(u8 taskId) { SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 17); - SetGpuReg(REG_OFFSET_WINOUT, 0x31); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); - if (sub_80093CC()) - data[15] = 1; + if (IsWirelessAdapterConnected()) + tWirelessAdapterConnected = TRUE; switch (gSaveFileStatus) { case 1: - data[0] = HAS_SAVED_GAME; + tMenuType = HAS_SAVED_GAME; if (IsMysteryGiftEnabled()) - data[0]++; + tMenuType++; gTasks[taskId].func = Task_MainMenuCheckBattery; break; case 2: CreateMainMenuErrorWindow(gText_SaveFileErased); - data[0] = 0; + tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; break; case 0xFF: CreateMainMenuErrorWindow(gText_SaveFileCorrupted); gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; - data[0] = HAS_SAVED_GAME; + tMenuType = HAS_SAVED_GAME; if (IsMysteryGiftEnabled() == TRUE) - data[0]++; + tMenuType++; break; case 0: default: - data[0] = HAS_NO_SAVED_GAME; + tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_MainMenuCheckBattery; break; case 4: CreateMainMenuErrorWindow(gJPText_No1MSubCircuit); - gTasks[taskId].data[0] = HAS_NO_SAVED_GAME; + gTasks[taskId].tMenuType = HAS_NO_SAVED_GAME; gTasks[taskId].func = Task_WaitForSaveFileErrorWindow; break; } - if (gUnknown_02022D06 & 0x8000) + if (sCurrItemAndOptionMenuCheck & 0x8000) // are we returning from the options menu? { - switch (data[0]) + switch (tMenuType) // if so, highlight the OPTIONS item { case HAS_NO_SAVED_GAME: case HAS_SAVED_GAME: - gUnknown_02022D06 = data[0] + 1; + sCurrItemAndOptionMenuCheck = tMenuType + 1; break; case HAS_MYSTERY_GIFT: - gUnknown_02022D06 = 3; + sCurrItemAndOptionMenuCheck = 3; break; - case 3: - gUnknown_02022D06 = 4; + case HAS_MYSTERY_EVENTS: + sCurrItemAndOptionMenuCheck = 4; break; } } - gUnknown_02022D06 &= 0x7FFF; - data[1] = gUnknown_02022D06; - data[12] = data[0] + 2; + sCurrItemAndOptionMenuCheck &= 0x7FFF; // turn off the "returning from options menu" flag + tCurrItem = sCurrItemAndOptionMenuCheck; + tItemCount = tMenuType + 2; } } @@ -426,7 +445,7 @@ void Task_WaitForSaveFileErrorWindow(u8 taskId) if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) { ClearWindowTilemap(7); - sub_8032250(gUnknown_082FF070); + ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow); gTasks[taskId].func = Task_MainMenuCheckBattery; } } @@ -437,8 +456,8 @@ void Task_MainMenuCheckBattery(u8 taskId) { SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 17); - SetGpuReg(REG_OFFSET_WINOUT, 0x31); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); @@ -461,7 +480,7 @@ void Task_WaitForBatteryDryErrorWindow(u8 taskId) if (!IsTextPrinterActive(7) && (gMain.newKeys & A_BUTTON)) { ClearWindowTilemap(7); - sub_8032250(gUnknown_082FF070); + ClearMainMenuWindowTilemap(sWindowTemplate_ErrorWindow); gTasks[taskId].func = Task_DisplayMainMenu; } } @@ -475,8 +494,8 @@ void Task_DisplayMainMenu(u8 taskId) { SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_WININ, 17); - SetGpuReg(REG_OFFSET_WINOUT, 0x31); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | WININ_WIN0_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_DARKEN | BLDCNT_TGT1_BG0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); @@ -504,28 +523,28 @@ void Task_DisplayMainMenu(u8 taskId) LoadPalette(&palette, 241, 2); } - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tMenuType) { case HAS_NO_SAVED_GAME: default: FillWindowPixelBuffer(0, 0xAA); FillWindowPixelBuffer(1, 0xAA); - box_print(0, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(1, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); PutWindowTilemap(0); PutWindowTilemap(1); CopyWindowToVram(0, 2); CopyWindowToVram(1, 2); - DrawMainMenuWindowBorder(gUnknown_082FF038, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF038[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_NoSavedGame[1], MAIN_MENU_BORDER_TILE); break; case HAS_SAVED_GAME: FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); - box_print(2, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -533,19 +552,19 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(2, 2); CopyWindowToVram(3, 2); CopyWindowToVram(4, 2); - DrawMainMenuWindowBorder(gUnknown_082FF048, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); break; case HAS_MYSTERY_GIFT: FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); - box_print(2, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuMysteryGift); - box_print(5, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift); + box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -555,10 +574,10 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(3, 2); CopyWindowToVram(4, 2); CopyWindowToVram(5, 2); - DrawMainMenuWindowBorder(gUnknown_082FF048, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[2], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(sWindowTemplates_HasSavedGame, MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE); break; case HAS_MYSTERY_EVENTS: FillWindowPixelBuffer(2, 0xAA); @@ -566,11 +585,11 @@ void Task_DisplayMainMenu(u8 taskId) FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(5, 0xAA); FillWindowPixelBuffer(6, 0xAA); - box_print(2, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuContinue); - box_print(3, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuNewGame); - box_print(4, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuMysteryGift2); - box_print(5, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuMysteryEvents); - box_print(6, 1, 0, 1, gUnknown_082FF0E0, -1, gText_MainMenuOption); + box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); + box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); + box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2); + box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents); + box_print(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); fmt_savegame(); PutWindowTilemap(2); PutWindowTilemap(3); @@ -582,19 +601,19 @@ void Task_DisplayMainMenu(u8 taskId) CopyWindowToVram(4, 2); CopyWindowToVram(5, 2); CopyWindowToVram(6, 2); - DrawMainMenuWindowBorder(gUnknown_082FF048, MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[1], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[2], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[3], MAIN_MENU_BORDER_TILE); - DrawMainMenuWindowBorder(&gUnknown_082FF048[4], MAIN_MENU_BORDER_TILE); - data[13] = AddScrollIndicatorArrowPair(&gUnknown_082FF0F4, &gUnknown_02022D06); - gTasks[data[13]].func = Task_ScrollIndicatorArrowPairOnMainMenu; - if (gUnknown_02022D06 == 4) + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[0], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[1], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[2], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[3], MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(&sWindowTemplates_HasSavedGame[4], MAIN_MENU_BORDER_TILE); + tScrollArrowTaskId = AddScrollIndicatorArrowPair(&sScrollArrowsTemplate_MainMenu, &sCurrItemAndOptionMenuCheck); + gTasks[tScrollArrowTaskId].func = Task_ScrollIndicatorArrowPairOnMainMenu; + if (sCurrItemAndOptionMenuCheck == 4) { ChangeBgY(0, 0x2000, 1); ChangeBgY(1, 0x2000, 1); - data[14] = 1; - gTasks[data[13]].data[15] = 1; + tIsScrolled = TRUE; + gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = TRUE; } break; } @@ -604,7 +623,7 @@ void Task_DisplayMainMenu(u8 taskId) void Task_HighlightSelectedMainMenuItem(u8 taskId) { - HighlightSelectedMainMenuItem(gTasks[taskId].data[0], gTasks[taskId].data[1], gTasks[taskId].data[14]); + HighlightSelectedMainMenuItem(gTasks[taskId].tMenuType, gTasks[taskId].tCurrItem, gTasks[taskId].tIsScrolled); gTasks[taskId].func = Task_HandleMainMenuInput; } @@ -615,40 +634,40 @@ bool8 HandleMainMenuInput(u8 taskId) if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - sub_80093CC(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + IsWirelessAdapterConnected(); // why bother calling this here? debug? Task_HandleMainMenuAPressed will check too + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gTasks[taskId].func = Task_HandleMainMenuAPressed; } else if (gMain.newKeys & B_BUTTON) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_WHITEALPHA); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_WHITEALPHA); SetGpuReg(REG_OFFSET_WIN0H, 0xF0); SetGpuReg(REG_OFFSET_WIN0V, 0xA0); gTasks[taskId].func = Task_HandleMainMenuBPressed; } - else if ((gMain.newKeys & DPAD_UP) && data[1] > 0) + else if ((gMain.newKeys & DPAD_UP) && tCurrItem > 0) { - if (data[0] == 3 && data[14] == 1 && data[1] == 1) + if (tMenuType == HAS_MYSTERY_EVENTS && tIsScrolled == TRUE && tCurrItem == 1) { ChangeBgY(0, 0x2000, 2); ChangeBgY(1, 0x2000, 2); - gTasks[data[13]].data[15] = data[14] = 0; + gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = tIsScrolled = FALSE; } - data[1]--; - gUnknown_02022D06 = data[1]; + tCurrItem--; + sCurrItemAndOptionMenuCheck = tCurrItem; return TRUE; } - else if ((gMain.newKeys & DPAD_DOWN) && data[1] < data[12] - 1) + else if ((gMain.newKeys & DPAD_DOWN) && tCurrItem < tItemCount - 1) { - if (data[0] == 3 && data[1] == 3 && data[14] == 0) + if (tMenuType == HAS_MYSTERY_EVENTS && tCurrItem == 3 && tIsScrolled == FALSE) { ChangeBgY(0, 0x2000, 1); ChangeBgY(1, 0x2000, 1); - gTasks[data[13]].data[15] = data[14] = 1; + gTasks[tScrollArrowTaskId].tArrowTaskIsScrolled = tIsScrolled = TRUE; } - data[1]++; - gUnknown_02022D06 = data[1]; + tCurrItem++; + sCurrItemAndOptionMenuCheck = tCurrItem; return TRUE; } return FALSE; @@ -662,13 +681,13 @@ void Task_HandleMainMenuInput(u8 taskId) void Task_HandleMainMenuAPressed(u8 taskId) { - bool8 r2; + bool8 wirelessAdapterConnected; u8 action; if (!gPaletteFade.active) { - if (gTasks[taskId].data[0] == 3) - RemoveScrollIndicatorArrowPair(gTasks[taskId].data[13]); + if (gTasks[taskId].tMenuType == HAS_MYSTERY_EVENTS) + RemoveScrollIndicatorArrowPair(gTasks[taskId].tScrollArrowTaskId); sub_819746C(0, 1); sub_819746C(1, 1); sub_819746C(2, 1); @@ -677,103 +696,103 @@ void Task_HandleMainMenuAPressed(u8 taskId) sub_819746C(5, 1); sub_819746C(6, 1); sub_819746C(7, 1); - r2 = sub_80093CC(); - switch (gTasks[taskId].data[0]) + wirelessAdapterConnected = IsWirelessAdapterConnected(); + switch (gTasks[taskId].tMenuType) { case HAS_NO_SAVED_GAME: default: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 0; + action = ACTION_NEW_GAME; break; case 1: - action = 2; + action = ACTION_OPTIONS; break; } break; case HAS_SAVED_GAME: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 1; + action = ACTION_CONTINUE; break; case 1: - action = 0; + action = ACTION_NEW_GAME; break; case 2: - action = 2; + action = ACTION_OPTIONS; break; } break; case HAS_MYSTERY_GIFT: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 1; + action = ACTION_CONTINUE; break; case 1: - action = 0; + action = ACTION_NEW_GAME; break; case 2: - action = 3; - if (r2 == FALSE) + action = ACTION_MYSTERY_GIFT; + if (!wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 0; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 0; } break; case 3: - action = 2; + action = ACTION_OPTIONS; break; } break; case HAS_MYSTERY_EVENTS: - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: default: - action = 1; + action = ACTION_CONTINUE; break; case 1: - action = 0; + action = ACTION_NEW_GAME; break; case 2: - if (gTasks[taskId].data[15]) + if (gTasks[taskId].tWirelessAdapterConnected) { - action = 3; - if (r2 == FALSE) + action = ACTION_MYSTERY_GIFT; + if (!wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 0; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 0; } } - else if (r2) + else if (wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 1; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 1; } else { - action = 5; + action = ACTION_UNKNOWN; } break; case 3: - if (r2) + if (wirelessAdapterConnected) { - action = 6; - gTasks[taskId].data[0] = 2; + action = ACTION_INVALID; + gTasks[taskId].tMenuType = 2; } else { - action = 4; + action = ACTION_MYSTERY_EVENTS; } break; case 4: - action = 2; + action = ACTION_OPTIONS; break; } break; @@ -782,37 +801,37 @@ void Task_HandleMainMenuAPressed(u8 taskId) ChangeBgY(1, 0, 0); switch (action) { - case 0: + case ACTION_NEW_GAME: default: gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; gTasks[taskId].func = task_new_game_prof_birch_speech_1; break; - case 1: + case ACTION_CONTINUE: gPlttBufferUnfaded[0] = RGB_BLACK; gPlttBufferFaded[0] = RGB_BLACK; SetMainCallback2(CB2_ContinueSavedGame); DestroyTask(taskId); break; - case 2: + case ACTION_OPTIONS: gMain.savedCallback = CB2_ReinitMainMenu; SetMainCallback2(CB2_InitOptionMenu); DestroyTask(taskId); break; - case 3: + case ACTION_MYSTERY_GIFT: SetMainCallback2(c2_mystery_gift); DestroyTask(taskId); break; - case 4: + case ACTION_MYSTERY_EVENTS: SetMainCallback2(CB2_InitMysteryEventMenu); DestroyTask(taskId); break; - case 5: + case ACTION_UNKNOWN: SetMainCallback2(sub_801867C); DestroyTask(taskId); break; - case 6: - gTasks[taskId].data[1] = 0; + case ACTION_INVALID: + gTasks[taskId].tCurrItem = 0; gTasks[taskId].func = Task_DisplayMainMenuInvalidActionError; gPlttBufferUnfaded[0xF1] = RGB_WHITE; gPlttBufferFaded[0xF1] = RGB_WHITE; @@ -822,14 +841,14 @@ void Task_HandleMainMenuAPressed(u8 taskId) SetGpuReg(REG_OFFSET_BG1VOFS, 0); SetGpuReg(REG_OFFSET_BG0HOFS, 0); SetGpuReg(REG_OFFSET_BG0VOFS, 0); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); return; } FreeAllWindowBuffers(); - if (action != 2) - gUnknown_02022D06 = 0; + if (action != ACTION_OPTIONS) + sCurrItemAndOptionMenuCheck = 0; else - gUnknown_02022D06 |= 0x8000; + sCurrItemAndOptionMenuCheck |= 0x8000; // entering the options menu } } @@ -837,9 +856,9 @@ void Task_HandleMainMenuBPressed(u8 taskId) { if (!gPaletteFade.active) { - if (gTasks[taskId].data[0] == 3) - RemoveScrollIndicatorArrowPair(gTasks[taskId].data[13]); - gUnknown_02022D06 = 0; + if (gTasks[taskId].tMenuType == 3) + RemoveScrollIndicatorArrowPair(gTasks[taskId].tScrollArrowTaskId); + sCurrItemAndOptionMenuCheck = 0; FreeAllWindowBuffers(); SetMainCallback2(CB2_InitTitleScreen); DestroyTask(taskId); @@ -848,11 +867,11 @@ void Task_HandleMainMenuBPressed(u8 taskId) void Task_DisplayMainMenuInvalidActionError(u8 taskId) { - switch (gTasks[taskId].data[1]) + switch (gTasks[taskId].tCurrItem) { case 0: FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); - switch (gTasks[taskId].data[0]) + switch (gTasks[taskId].tMenuType) { case 0: CreateMainMenuErrorWindow(gText_WirelessNotConnected); @@ -864,30 +883,39 @@ void Task_DisplayMainMenuInvalidActionError(u8 taskId) CreateMainMenuErrorWindow(gText_MysteryEventsCantUse); break; } - gTasks[taskId].data[1]++; + gTasks[taskId].tCurrItem++; break; case 1: if (!gPaletteFade.active) - gTasks[taskId].data[1]++; + gTasks[taskId].tCurrItem++; break; case 2: RunTextPrinters(); if (!IsTextPrinterActive(7)) - gTasks[taskId].data[1]++; + gTasks[taskId].tCurrItem++; break; case 3: if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { PlaySE(SE_SELECT); - BeginNormalPaletteFade(-1, 0, 0, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = Task_HandleMainMenuBPressed; } } } -void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) +#undef tMenuType +#undef tCurrItem +#undef tItemCount +#undef tScrollArrowTaskId +#undef tIsScrolled +#undef tWirelessAdapterConnected + +#undef tArrowTaskIsScrolled + +void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 isScrolled) { - SetGpuReg(REG_OFFSET_WIN0H, 0x9E7); + SetGpuReg(REG_OFFSET_WIN0H, WINHV_COORDS(9, 231)); switch (menuType) { @@ -897,10 +925,10 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x11F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 31)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, 0x213F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63)); break; } break; @@ -909,13 +937,13 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x13F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); break; case 2: - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); break; } break; @@ -924,16 +952,16 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x13F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); break; case 1: - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); break; case 2: - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); break; case 3: - SetGpuReg(REG_OFFSET_WIN0V, 0x819F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); break; } break; @@ -942,28 +970,28 @@ void HighlightSelectedMainMenuItem(u8 menuType, u8 selectedMenuItem, s16 a) { case 0: default: - SetGpuReg(REG_OFFSET_WIN0V, 0x13F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(1, 63)); break; case 1: - if (a) - SetGpuReg(REG_OFFSET_WIN0V, 0x213F); + if (isScrolled) + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(33, 63)); else - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); break; case 2: - if (a) - SetGpuReg(REG_OFFSET_WIN0V, 0x415F); + if (isScrolled) + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(65, 95)); else - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); break; case 3: - if (a) - SetGpuReg(REG_OFFSET_WIN0V, 0x617F); + if (isScrolled) + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(97, 127)); else - SetGpuReg(REG_OFFSET_WIN0V, 0x819F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); break; case 4: - SetGpuReg(REG_OFFSET_WIN0V, 0x819F); + SetGpuReg(REG_OFFSET_WIN0V, WINHV_COORDS(129, 159)); break; } break; @@ -992,7 +1020,7 @@ void task_new_game_prof_birch_speech_1(u8 taskId) FreeAllSpritePalettes(); dp13_810BB8C(); AddBirchSpeechObjects(taskId); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gTasks[taskId].data[4] = 0; gTasks[taskId].func = task_new_game_prof_birch_speech_2; gTasks[taskId].data[2] = 0xFF; @@ -1298,7 +1326,7 @@ void task_new_game_prof_birch_speech_16(u8 taskId) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { - BeginNormalPaletteFade(-1, 0, 0, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = task_new_game_prof_birch_speech_17; } } @@ -1547,7 +1575,7 @@ void new_game_prof_birch_speech_part2_start(void) gSprites[spriteId].invisible = 0; gTasks[taskId].data[2] = spriteId; SetGpuReg(REG_OFFSET_BG1HOFS, -60); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); SetGpuReg(REG_OFFSET_WININ, 0); @@ -1797,7 +1825,7 @@ void CreateMainMenuErrorWindow(const u8* str) PrintTextOnWindow(7, 1, str, 0, 1, 2, 0); PutWindowTilemap(7); CopyWindowToVram(7, 2); - DrawMainMenuWindowBorder(gUnknown_082FF070, MAIN_MENU_BORDER_TILE); + DrawMainMenuWindowBorder(sWindowTemplate_ErrorWindow, MAIN_MENU_BORDER_TILE); SetGpuReg(REG_OFFSET_WIN0H, 0x9E7); SetGpuReg(REG_OFFSET_WIN0V, 0x719F); } @@ -1892,7 +1920,7 @@ void DrawMainMenuWindowBorder(const struct WindowTemplate *template, u16 baseTil CopyBgTilemapBufferToVram(template->priority); } -void sub_8032250(const struct WindowTemplate *template) +static void ClearMainMenuWindowTilemap(const struct WindowTemplate *template) { FillBgTilemapBufferRect(template->priority, 0, template->tilemapLeft - 1, template->tilemapTop - 1, template->tilemapLeft + template->width + 1, template->tilemapTop + template->height + 1, 2); CopyBgTilemapBufferToVram(template->priority); @@ -1914,11 +1942,11 @@ void sub_80322E0(u8 windowId, u8 a) void sub_8032318(u8 a) { - u8 fontAttribute = GetFontAttribute(1, 6); - u8 fontAttribute2 = GetFontAttribute(1, 0); - u8 fontAttribute3 = GetFontAttribute(1, 1); - u8 windowAttribute = GetWindowAttribute(a, 3); - u8 windowAttribute2 = GetWindowAttribute(a, 4); + u8 fontAttribute = GetFontAttribute(1, FONTATTR_COLOR_BACKGROUND); + u8 fontAttribute2 = GetFontAttribute(1, FONTATTR_MAX_LETTER_WIDTH); + u8 fontAttribute3 = GetFontAttribute(1, FONTATTR_MAX_LETTER_HEIGHT); + u8 windowAttribute = GetWindowAttribute(a, WINDOW_WIDTH); + u8 windowAttribute2 = GetWindowAttribute(a, WINDOW_HEIGHT); FillWindowPixelRect(a, fontAttribute, 0, 0, fontAttribute2 * windowAttribute, fontAttribute3 * windowAttribute2); CopyWindowToVram(a, 2); diff --git a/src/map_name_popup.c b/src/map_name_popup.c index 758ce3b3d..578636d40 100644 --- a/src/map_name_popup.c +++ b/src/map_name_popup.c @@ -463,7 +463,7 @@ static void LoadMapNamePopUpWindowBg(void) } popUpThemeId = gRegionMapSectionId_To_PopUpThemeIdMapping[regionMapSectionId]; - LoadBgTiles(GetWindowAttribute(popupWindowId, 0), &(gMapPopUp_Outline_Table[popUpThemeId][0]), 0x400, 0x21D); + LoadBgTiles(GetWindowAttribute(popupWindowId, WINDOW_PRIORITY), &(gMapPopUp_Outline_Table[popUpThemeId][0]), 0x400, 0x21D); CallWindowFunction(popupWindowId, sub_80D4A78); PutWindowTilemap(popupWindowId); if(gMapHeader.weather == WEATHER_BUBBLES) diff --git a/src/menu.c b/src/menu.c index dedfcc3be..2f21dbe52 100644 --- a/src/menu.c +++ b/src/menu.c @@ -194,7 +194,7 @@ void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonP void sub_81973A4(void) { copy_textbox_border_tile_patterns_to_vram(0, DLG_WINDOW_BASE_TILE_NUM, DLG_WINDOW_PALETTE_NUM * 0x10); - sub_809882C(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); + LoadUserWindowBorderGfx(0, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM * 0x10); } void NewMenuHelpers_DrawDialogueFrame(u8 windowId, bool8 copyToVram) @@ -1107,12 +1107,12 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l printer.windowId = windowId; printer.fontId = fontId; - printer.fgColor = GetFontAttribute(fontId, 5); - printer.bgColor = GetFontAttribute(fontId, 6); - printer.shadowColor = GetFontAttribute(fontId, 7); - printer.fontColor_l = GetFontAttribute(fontId, 4); + printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND); + printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND); + printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW); + printer.fontColor_l = GetFontAttribute(fontId, FONTATTR_COLOR_LOWNIBBLE); printer.letterSpacing = letterSpacing; - printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING); printer.x = left; printer.currentX = left; @@ -1129,7 +1129,7 @@ void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 l void sub_81989B8(u8 windowId, u8 fontId, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a5) { - AddItemMenuActionTextPrinters(windowId, fontId, GetFontAttribute(fontId, 0), 1, GetFontAttribute(fontId, 2), lineHeight, itemCount, strs, a5); + AddItemMenuActionTextPrinters(windowId, fontId, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH), 1, GetFontAttribute(fontId, FONTATTR_LETTER_SPACING), lineHeight, itemCount, strs, a5); } void SetWindowTemplateFields(struct WindowTemplate *template, u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock) @@ -1167,20 +1167,20 @@ void sub_8198AF8(const struct WindowTemplate *window, u8 fontId, u8 left, u8 top printer.current_text_offset = gText_YesNo; printer.windowId = gUnknown_0203CD9F; printer.fontId = fontId; - printer.x = GetFontAttribute(fontId, 0) + left; + printer.x = GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + left; printer.y = top; printer.currentX = printer.x; printer.currentY = printer.y; - printer.fgColor = GetFontAttribute(fontId, 5); - printer.bgColor = GetFontAttribute(fontId, 6); - printer.shadowColor = GetFontAttribute(fontId, 7); - printer.fontColor_l = GetFontAttribute(fontId, 4); - printer.letterSpacing = GetFontAttribute(fontId, 2); - printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.fgColor = GetFontAttribute(fontId, FONTATTR_COLOR_FOREGROUND); + printer.bgColor = GetFontAttribute(fontId, FONTATTR_COLOR_BACKGROUND); + printer.shadowColor = GetFontAttribute(fontId, FONTATTR_COLOR_SHADOW); + printer.fontColor_l = GetFontAttribute(fontId, FONTATTR_COLOR_LOWNIBBLE); + printer.letterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING); + printer.lineSpacing = GetFontAttribute(fontId, FONTATTR_LINE_SPACING); AddTextPrinter(&printer, 0xFF, NULL); - sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, 1), 2, initialCursorPos); + sub_81983AC(gUnknown_0203CD9F, fontId, left, top, GetFontAttribute(fontId, FONTATTR_MAX_LETTER_HEIGHT), 2, initialCursorPos); } void sub_8198C34(const struct WindowTemplate *window, u8 fontId, u16 baseTileNum, u8 paletteNum) diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c index 8a7671c5b..68f31584b 100644 --- a/src/mystery_event_menu.c +++ b/src/mystery_event_menu.c @@ -77,7 +77,7 @@ void CB2_InitMysteryEventMenu(void) FillWindowPixelBuffer(i, 0); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x1E, 0x14); - sub_809882C(0, 1u, 0xD0u); + LoadUserWindowBorderGfx(0, 1u, 0xD0u); sub_81978B0(0xE0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON); SetGpuReg(REG_OFFSET_BLDCNT, 0); @@ -121,7 +121,7 @@ static void CB2_MysteryEventMenu(void) PutWindowTilemap(0); CopyWindowToVram(0, 3); ShowBg(0); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gMain.state++; break; case 1: @@ -264,7 +264,7 @@ static void CB2_MysteryEventMenu(void) } break; case 15: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gMain.state++; break; case 16: diff --git a/src/option_menu.c b/src/option_menu.c index de9a216a6..fc0c0c24e 100644 --- a/src/option_menu.c +++ b/src/option_menu.c @@ -235,7 +235,7 @@ void CB2_InitOptionMenu(void) break; } case 11: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetVBlankCallback(VBlankCB); SetMainCallback2(MainCB2); return; @@ -344,7 +344,7 @@ static void Task_OptionMenuSave(u8 taskId) gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE]; gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE]; - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_OptionMenuFadeOut; } diff --git a/src/player_pc.c b/src/player_pc.c index 48be0633f..ba18b45ab 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -903,7 +903,7 @@ static void sub_816BEF0(s32 id) static void ItemStorage_StartScrollIndicator(void) { if(playerPCItemPageInfo.scrollIndicatorId == 0xFF) - playerPCItemPageInfo.scrollIndicatorId = AddScrollIndicatorArrowPairParametrized(0x2, 0xB0, 0xC, 0x94, playerPCItemPageInfo.count - playerPCItemPageInfo.pageItems, 0x13F8, 0x13F8, &(playerPCItemPageInfo.itemsAbove)); + playerPCItemPageInfo.scrollIndicatorId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xB0, 0xC, 0x94, playerPCItemPageInfo.count - playerPCItemPageInfo.pageItems, 0x13F8, 0x13F8, &(playerPCItemPageInfo.itemsAbove)); } static void ItemStorage_RemoveScrollIndicator(void) @@ -1116,7 +1116,7 @@ static void ItemStorage_ItemSwapChoosePrompt(u8 taskId) s16 *data; data = gTasks[taskId].data; - sub_81AF15C(data[5], 16, 1); + ListMenuSetUnkIndicatorsStructField(data[5], 16, 1); gUnknown_0203BCC4->unk666 = (playerPCItemPageInfo.itemsAbove + playerPCItemPageInfo.cursorPos); sub_816BFB8(data[5], 0, 0); sub_816C690(gUnknown_0203BCC4->unk666); diff --git a/src/pokeblock.c b/src/pokeblock.c index 216c9e2c5..36f2c8293 100644 --- a/src/pokeblock.c +++ b/src/pokeblock.c @@ -75,7 +75,7 @@ extern const u16 gUnknown_0860F074[]; extern void CB2_ReturnToField(void); extern bool8 sub_81221EC(void); -extern void sub_809882C(u8, u16, u8); +extern void LoadUserWindowBorderGfx(u8, u16, u8); extern void copy_textbox_border_tile_patterns_to_vram(u8, u16, u8); extern void sub_80AF168(void); @@ -315,19 +315,19 @@ static const struct ListMenuTemplate sPokeblockListMenuTemplate = { .items = NULL, .moveCursorFunc = MovePokeblockMenuCursor, - .unk_08 = NULL, + .itemPrintFunc = NULL, .totalItems = 0, .maxShowed = 0, .windowId = 1, - .unk_11 = 0, - .unk_12 = 1, + .header_X = 0, + .item_X = 1, .cursor_X = 0, .upText_Y = 1, .cursorPal = 2, .fillValue = 0, .cursorShadowPal = 3, .lettersSpacing = 0, - .unk_16_3 = 0, + .itemVerticalPadding = 0, .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, .fontId = 1, .cursorKind = 1 @@ -492,7 +492,7 @@ static bool8 InitPokeblockMenu(void) gMain.state++; break; case 18: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -566,7 +566,7 @@ static void HandleInitWindows(void) InitWindows(sWindowTemplatesForPokeblockMenu); DeactivateAllTextPrinters(); - sub_809882C(0, 1, 0xE0); + LoadUserWindowBorderGfx(0, 1, 0xE0); copy_textbox_border_tile_patterns_to_vram(0, 0xA, 0xD0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); @@ -807,7 +807,7 @@ static void sub_81363BC(void) { if (sPokeblockMenu->unkTaskId == 0xFF) { - sPokeblockMenu->unkTaskId = AddScrollIndicatorArrowPairParametrized(2, 0xB0, 8, 0x98, sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed, + sPokeblockMenu->unkTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xB0, 8, 0x98, sPokeblockMenu->itemsNo - sPokeblockMenu->maxShowed, 0x456, 0x456, &sSavedPokeblockData.lastItemPage); } } @@ -855,7 +855,7 @@ static void sub_8136470(struct Sprite *sprite) static void FadePaletteAndSetTaskToClosePokeblockCase(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_FreeDataAndExitPokeblockCase; } diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c index db92d56a8..463e821e5 100644 --- a/src/pokeblock_feed.c +++ b/src/pokeblock_feed.c @@ -59,7 +59,7 @@ extern const u16 gUnknown_0860F074[]; extern bool8 sub_81221EC(void); extern void sub_806A068(u16, u8); -extern void sub_809882C(u8, u16, u8); +extern void LoadUserWindowBorderGfx(u8, u16, u8); // this file's functions static void HandleInitBackgrounds(void); @@ -597,7 +597,7 @@ static bool8 TransitionToPokeblockFeedScene(void) gMain.state++; break; case 13: - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -706,7 +706,7 @@ static void HandleInitWindows(void) { InitWindows(sWindowTemplates); DeactivateAllTextPrinters(); - sub_809882C(0, 1, 0xE0); + LoadUserWindowBorderGfx(0, 1, 0xE0); LoadPalette(gUnknown_0860F074, 0xF0, 0x20); FillWindowPixelBuffer(0, 0); PutWindowTilemap(0); @@ -811,7 +811,7 @@ static void Task_ReturnAfterPaletteFade(u8 taskId) static void Task_PaletteFadeToReturn(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_ReturnAfterPaletteFade; } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 74dc11973..0cbbba4dd 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -541,7 +541,7 @@ bool8 sub_81BFB10(void) gMain.state++; break; case 24: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gPaletteFade.bufferTransferDisabled = 0; gMain.state++; break; @@ -761,7 +761,7 @@ void sub_81C0434() void sub_81C044C(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = sub_81C0484; } diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index 25b9ccd53..4783f73c0 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1563,7 +1563,7 @@ static void Task_DuoFightAnim(u8 taskId) } BlendPalettes(-1, 0x10, 0); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); SetVBlankCallback(VBlankCB_DuoFight); PlaySE(SE_T_OOAME); } @@ -1715,7 +1715,7 @@ static void sub_81D752C(u8 taskId) static void DuoFightEnd(u8 taskId, s8 palDelay) { PlaySE(SE_T_OOAME_E); - BeginNormalPaletteFade(-1, palDelay, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, palDelay, 0, 0x10, 0); gTasks[taskId].func = Task_DuoFightEnd; } @@ -1971,7 +1971,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[2] = 0; data[3] = 30; data[4] = 0; @@ -2012,7 +2012,7 @@ static void Task_HandleRayTakesFlight(u8 taskId) if (data[1] > 295) { data[0]++; - BeginNormalPaletteFade(-1, 6, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 6, 0, 0x10, 0); } } break; @@ -2174,7 +2174,7 @@ static void Task_HandleRayDescends(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[1] = 0; data[0]++; } @@ -2219,7 +2219,7 @@ static void Task_HandleRayDescends(u8 taskId) } break; case 4: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_RayDescendsEnd; break; } @@ -2366,7 +2366,7 @@ static void Task_HandleRayCharges(u8 taskId) case 0: if (data[1] == 8) { - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[1] = 0; data[0]++; } @@ -2399,7 +2399,7 @@ static void Task_HandleRayCharges(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); gTasks[taskId].func = Task_RayChargesEnd; break; } @@ -2532,7 +2532,7 @@ static void Task_HandleRayChasesAway(u8 taskId) if (data[1] == 8) { sub_81D90A8(taskId); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); data[1] = 0; data[0]++; } @@ -2574,7 +2574,7 @@ static void Task_HandleRayChasesAway(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 4, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 4, 0, 0x10, 0); gTasks[taskId].func = Task_RayChasesAwayEnd; break; } diff --git a/src/recorded_battle.c b/src/recorded_battle.c index a9360d49a..eb8d0e060 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -219,7 +219,7 @@ u8 RecordedBattle_GetBattlerAction(u8 battlerId) { gSpecialVar_Result = gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; // hah ResetPaletteFadeControl(); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_QuitRecordedBattle); return -1; } diff --git a/src/region_map.c b/src/region_map.c index 0dcccfdab..5176d4996 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1603,7 +1603,7 @@ void MCB2_FlyMap(void) gMain.state++; break; case 3: - sub_809882C(0, 0x65, 0xd0); + LoadUserWindowBorderGfx(0, 0x65, 0xd0); clear_scheduled_bg_copies_to_vram(); gMain.state++; break; @@ -1849,7 +1849,7 @@ static void sub_8124D14(void) switch (gUnknown_0203A148->unk_004) { case 0: - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); gUnknown_0203A148->unk_004++; break; case 1: @@ -1896,7 +1896,7 @@ static void sub_8124E0C(void) switch (gUnknown_0203A148->unk_004) { case 0: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gUnknown_0203A148->unk_004++; break; case 1: diff --git a/src/reset_rtc_screen.c b/src/reset_rtc_screen.c index 9bd462b60..416a8da9d 100644 --- a/src/reset_rtc_screen.c +++ b/src/reset_rtc_screen.c @@ -552,7 +552,7 @@ static void Task_ResetRtcScreen(u8 taskId) switch (data[0]) { case 0: - BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); data[0] = 1; break; case 1: @@ -621,7 +621,7 @@ static void Task_ResetRtcScreen(u8 taskId) case 5: if (gMain.newKeys & A_BUTTON) { - BeginNormalPaletteFade(-1, 1, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0, 0x10, 0xFFFF); data[0] = 6; } else diff --git a/src/scrcmd.c b/src/scrcmd.c index 4e3fceb10..57ae9cffa 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1517,7 +1517,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) winTemplate = sub_8198A50(0, xWindow, yWindow + 1, width, height, 0xF, 0x1); gUnknown_03000F30 = AddWindow(&winTemplate); - sub_809882C(gUnknown_03000F30, 0x214, 0xE0); + LoadUserWindowBorderGfx(gUnknown_03000F30, 0x214, 0xE0); NewMenuHelpers_DrawStdWindowFrame(gUnknown_03000F30, 0); PutWindowTilemap(gUnknown_03000F30); FillWindowPixelBuffer(gUnknown_03000F30, 0x11); diff --git a/src/secret_base.c b/src/secret_base.c index 93b82b3cb..ea2b3b614 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -940,7 +940,7 @@ void sub_80E9E44(u8 taskId) s16 *data; data = gTasks[taskId].data; - data[8] = AddScrollIndicatorArrowPairParametrized(0x02, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); + data[8] = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0xbc, 0x0c, 0x94, data[0] - data[3], 0x13f8, 0x13f8, &data[2]); } void sub_80E9E90(u8 taskId) diff --git a/src/start_menu.c b/src/start_menu.c index 37cafc0ff..7e343e031 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1261,7 +1261,7 @@ static void sub_80A0550(u8 taskId) sub_8098858(0, 8, 14); PutWindowTilemap(0); CopyWindowToVram(0, 3); - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); if (gWirelessCommType != 0 && InUnionRoom()) { @@ -1294,7 +1294,7 @@ static void sub_80A0550(u8 taskId) } break; case 3: - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); *step = 4; break; case 4: diff --git a/src/starter_choose.c b/src/starter_choose.c index 480edbcb7..14592dac1 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -46,7 +46,7 @@ extern const u8 gStarterChoose_LabelCoords[][2]; extern const u8 gUnknown_085B1E0C[]; extern const u8 gUnknown_085B1E28[][2]; -extern void sub_809882C(u8, u16, u8); +extern void LoadUserWindowBorderGfx(u8, u16, u8); extern void ScanlineEffect_Stop(void); extern void clear_scheduled_bg_copies_to_vram(void); extern void dp13_810BB8C(void); @@ -126,7 +126,7 @@ void CB2_ChooseStarter(void) InitWindows(gUnknown_085B1DCC); DeactivateAllTextPrinters(); - sub_809882C(0, 0x2A8, 0xD0); + LoadUserWindowBorderGfx(0, 0x2A8, 0xD0); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); ResetTasks(); @@ -140,7 +140,7 @@ void CB2_ChooseStarter(void) LoadCompressedObjectPic(&gUnknown_085B1ED8[0]); LoadCompressedObjectPic(&gUnknown_085B1EE8[0]); LoadSpritePalettes(gUnknown_085B1EF8); - BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); EnableInterrupts(DISPSTAT_VBLANK); SetVBlankCallback(VblankCB_StarterChoose); diff --git a/src/text.c b/src/text.c index f7c68f549..0fc00c9b9 100644 --- a/src/text.c +++ b/src/text.c @@ -3157,7 +3157,7 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing) width = lineWidths[strPos]; } - return (u8)(GetFontAttribute(fontId, 0) + letterSpacing) * width; + return (u8)(GetFontAttribute(fontId, FONTATTR_MAX_LETTER_WIDTH) + letterSpacing) * width; } u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32) @@ -3193,7 +3193,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) return 0; if (letterSpacing == -1) - localLetterSpacing = GetFontAttribute(fontId, 2); + localLetterSpacing = GetFontAttribute(fontId, FONTATTR_LETTER_SPACING); else localLetterSpacing = letterSpacing; @@ -3269,7 +3269,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing) if (func == NULL) return 0; if (letterSpacing == -1) - localLetterSpacing = GetFontAttribute(*str, 2); + localLetterSpacing = GetFontAttribute(*str, FONTATTR_LETTER_SPACING); break; case 0x11: glyphWidth = *++str; @@ -3497,28 +3497,28 @@ u8 GetFontAttribute(u8 fontId, u8 attributeId) int result = 0; switch (attributeId) { - case 0: + case FONTATTR_MAX_LETTER_WIDTH: result = gFontInfos[fontId].maxLetterWidth; break; - case 1: + case FONTATTR_MAX_LETTER_HEIGHT: result = gFontInfos[fontId].maxLetterHeight; break; - case 2: + case FONTATTR_LETTER_SPACING: result = gFontInfos[fontId].letterSpacing; break; - case 3: + case FONTATTR_LINE_SPACING: result = gFontInfos[fontId].lineSpacing; break; - case 4: + case FONTATTR_COLOR_LOWNIBBLE: result = gFontInfos[fontId].fontColor_l; break; - case 5: + case FONTATTR_COLOR_FOREGROUND: result = gFontInfos[fontId].fgColor; break; - case 6: + case FONTATTR_COLOR_BACKGROUND: result = gFontInfos[fontId].bgColor; break; - case 7: + case FONTATTR_COLOR_SHADOW: result = gFontInfos[fontId].shadowColor; break; } diff --git a/src/text_window.c b/src/text_window.c index c3b9f7197..54bae6055 100644 --- a/src/text_window.c +++ b/src/text_window.c @@ -99,18 +99,18 @@ void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 p void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset) { - sub_809882C(windowId, destOffset, palOffset); + LoadUserWindowBorderGfx(windowId, destOffset, palOffset); } -void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) +void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset) { LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), sWindowFrames[frameId].tiles, 0x120, destOffset); LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20); } -void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset) +void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset) { - sub_80987D4(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); + LoadWindowGfx(windowId, gSaveBlock2Ptr->optionsWindowFrameType, destOffset, palOffset); } void sub_8098858(u8 windowId, u16 tileNum, u8 palNum) diff --git a/src/title_screen.c b/src/title_screen.c index 15a0482dc..8a2c01192 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -546,7 +546,7 @@ void CB2_InitTitleScreen(void) break; } case 3: - BeginNormalPaletteFade(-1, 1, 0x10, 0, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 1, 0x10, 0, 0xFFFF); SetVBlankCallback(VBlankCB); gMain.state = 4; break; @@ -696,7 +696,7 @@ static void Task_TitleScreenPhase3(u8 taskId) if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & START_BUTTON)) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); SetMainCallback2(CB2_GoToMainMenu); } else if ((gMain.heldKeys & CLEAR_SAVE_BUTTON_COMBO) == CLEAR_SAVE_BUTTON_COMBO) @@ -707,13 +707,13 @@ static void Task_TitleScreenPhase3(u8 taskId) && CanResetRTC() == TRUE) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_GoToResetRtcScreen); } else if ((gMain.heldKeys & BERRY_UPDATE_BUTTON_COMBO) == BERRY_UPDATE_BUTTON_COMBO) { FadeOutBGM(4); - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); SetMainCallback2(CB2_GoToBerryFixScreen); } else @@ -730,7 +730,7 @@ static void Task_TitleScreenPhase3(u8 taskId) UpdateLegendaryMarkingColor(gTasks[taskId].tCounter); if ((gMPlayInfo_BGM.status & 0xFFFF) == 0) { - BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF); SetMainCallback2(CB2_GoToCopyrightScreen); } } diff --git a/src/unk_transition.c b/src/unk_transition.c index feaddc8ce..20692bb7c 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -356,7 +356,7 @@ static bool8 sub_81DAB4C(struct Task *task) { if (task->data[3] == 31) { - BeginNormalPaletteFade(-1, -1, 0, 0x10, 0); + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 0x10, 0); task->tState++; } else diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c index c8898d08f..72c33100f 100644 --- a/src/use_pokeblock.c +++ b/src/use_pokeblock.c @@ -164,7 +164,7 @@ void sub_8166380(void) InitBgsFromTemplates(0, gUnknown_085DFCCC, ARRAY_COUNT(gUnknown_085DFCCC)); InitWindows(gUnknown_085DFCDC); DeactivateAllTextPrinters(); - sub_809882C(0, 0x97, 0xE0); + LoadUserWindowBorderGfx(0, 0x97, 0xE0); gUnknown_0203BC90->field_50++; break; case 4: diff --git a/src/wallclock.c b/src/wallclock.c index f15bbbc27..9b96d416c 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -576,7 +576,7 @@ static void LoadWallClockGraphics(void) InitBgsFromTemplates(0, gUnknown_085B21FC, 3); InitWindows(gUnknown_085B21DC); DeactivateAllTextPrinters(); - sub_809882C(0, 0x250, 0xd0); + LoadUserWindowBorderGfx(0, 0x250, 0xd0); clear_scheduled_bg_copies_to_vram(); ScanlineEffect_Stop(); ResetTasks(); @@ -589,7 +589,7 @@ static void LoadWallClockGraphics(void) static void WallClockInit(void) { - BeginNormalPaletteFade(-1, 0, 16, 0, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(WallClockVblankCallback); SetMainCallback2(WallClockMainCallback); @@ -782,7 +782,7 @@ static void Task_SetClock4(u8 taskId) static void Task_SetClock5(u8 taskId) { RtcInitLocalTimeOffset(gTasks[taskId].tHours, gTasks[taskId].tMinutes); - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_SetClock6; } @@ -814,7 +814,7 @@ static void Task_ViewClock2(u8 taskId) static void Task_ViewClock3(u8 taskId) { - BeginNormalPaletteFade(-1, 0, 0, 16, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); gTasks[taskId].func = Task_ViewClock4; } -- cgit v1.2.3 From bf0178238a179b298f465b64a4f23ff43db48fc9 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 16 Jul 2018 20:47:30 +0200 Subject: Battle files - review changes --- src/battle_ai_script_commands.c | 10 ++--- src/battle_controller_player.c | 4 +- src/battle_controller_player_partner.c | 4 +- src/battle_interface.c | 4 +- src/battle_message.c | 8 ++-- src/battle_script_commands.c | 8 ++-- src/battle_util.c | 80 +++++++++++++++++----------------- src/braille_puzzles.c | 20 +++++++-- src/pokemon.c | 21 +++++---- 9 files changed, 85 insertions(+), 74 deletions(-) (limited to 'src') diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index e82d22576..74247f8a2 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -352,7 +352,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves) if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget ^= BIT_FLANK; } - // There's only one choice in signle battles. + // There's only one choice in single battles. else { gBattlerTarget = sBattler_AI ^ BIT_SIDE; @@ -774,7 +774,7 @@ static void BattleAICmd_if_status(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gBattleMons[battlerId].status1 & status)) + if (gBattleMons[battlerId].status1 & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -846,7 +846,7 @@ static void BattleAICmd_if_status3(void) status = T1_READ_32(gAIScriptPtr + 2); - if ((gStatuses3[battlerId] & status)) + if (gStatuses3[battlerId] & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -883,7 +883,7 @@ static void BattleAICmd_if_side_affecting(void) side = GET_BATTLER_SIDE(battlerId); status = T1_READ_32(gAIScriptPtr + 2); - if ((gSideStatuses[side] & status)) + if (gSideStatuses[side] & status) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); else gAIScriptPtr += 10; @@ -1949,7 +1949,7 @@ static void BattleAICmd_if_curr_move_disabled_or_encored(void) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); else gAIScriptPtr += 6; - break;; + break; case 1: if (gDisableStructs[gActiveBattler].encoredMove == AI_THINKING_STRUCT->moveConsidered) gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 843d241ce..6ab19e368 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1169,7 +1169,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE @@ -1248,7 +1248,7 @@ static void sub_8059400(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBattler = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBattler; gTasks[taskId].func = Task_LaunchLvlUpAnim; } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index cd3a94692..601b8dcc1 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -345,7 +345,7 @@ static void Task_GiveExpToMon(u8 taskId) gainedExp -= nextLvlExp - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; if (IsDoubleBattle() == TRUE @@ -424,7 +424,7 @@ static void sub_81BB4E4(u8 taskId) gainedExp -= expOnNextLvl - currExp; savedActiveBank = gActiveBattler; gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELLED_UP, gainedExp); + BtlController_EmitTwoReturnValues(1, RET_VALUE_LEVELED_UP, gainedExp); gActiveBattler = savedActiveBank; gTasks[taskId].func = sub_81BB628; } diff --git a/src/battle_interface.c b/src/battle_interface.c index a6032adc3..278edb6f4 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1710,8 +1710,8 @@ void Task_HidePartyStatusSummary(u8 taskId) for (i = 0; i < PARTY_SIZE; i++) ballIconSpriteIds[i] = gTasks[taskId].tBallIconSpriteId(i); - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F40); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); gTasks[taskId].tData15 = 16; diff --git a/src/battle_message.c b/src/battle_message.c index 32097fd76..4f5190dec 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2940,19 +2940,19 @@ static void ChooseTypeOfMoveUsedString(u8* dst) void BattlePutTextOnWindow(const u8 *text, u8 windowId) { const struct BattleWindowText *textInfo = sBattleTextOnWindowsInfo[gBattleScripting.windowsType]; - bool32 toVram; + bool32 copyToVram; struct TextSubPrinter textSubPrinter; u8 speed; if (windowId & 0x80) { windowId &= ~(0x80); - toVram = FALSE; + copyToVram = FALSE; } else { FillWindowPixelBuffer(windowId, textInfo[windowId].fillValue); - toVram = TRUE; + copyToVram = TRUE; } textSubPrinter.current_text_offset = text; @@ -3005,7 +3005,7 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) AddTextPrinter(&textSubPrinter, speed, NULL); - if (toVram) + if (copyToVram) { PutWindowTilemap(windowId); CopyWindowToVram(windowId, 3); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index eb31c22dc..87244ff5a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3449,7 +3449,7 @@ static void atk23_getexp(void) if (gBattleControllerExecFlags == 0) { gActiveBattler = gBattleStruct->expGetterBattlerId; - if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELLED_UP) + if (gBattleBufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleBufferB[gActiveBattler][1] == RET_VALUE_LEVELED_UP) { if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); @@ -4649,14 +4649,14 @@ static void atk49_moveend(void) BtlController_EmitSpriteInvisibility(0, FALSE); MarkBattlerForControllerExec(gActiveBattler); gStatuses3[gBattlerAttacker] &= ~(STATUS3_SEMI_INVULNERABLE); - gSpecialStatuses[gBattlerAttacker].restoredBankSprite = 1; + gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = 1; gBattleScripting.atk49_state++; return; } gBattleScripting.atk49_state++; break; case 10: // make target sprite visible - if (!gSpecialStatuses[gBattlerTarget].restoredBankSprite && gBattlerTarget < gBattlersCount + if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { gActiveBattler = gBattlerTarget; @@ -6632,7 +6632,7 @@ static void atk76_various(void) gBattleCommunication[0] = 0; break; case VARIOUS_RESET_INTIMIDATE_TRACE_BITS: - gSpecialStatuses[gActiveBattler].intimidatedPoke = 0; + gSpecialStatuses[gActiveBattler].intimidatedMon = 0; gSpecialStatuses[gActiveBattler].traced = 0; break; case VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP: diff --git a/src/battle_util.c b/src/battle_util.c index 6e3fc3e7f..c739c648c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -470,11 +470,11 @@ u8 GetImprisonedMovesCount(u8 battlerId, u16 move) { s32 i; u8 imprisionedMoves = 0; - u8 BattlerSide = GetBattlerSide(battlerId); + u8 battlerSide = GetBattlerSide(battlerId); for (i = 0; i < gBattlersCount; i++) { - if (BattlerSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) + if (battlerSide != GetBattlerSide(i) && gStatuses3[i] & STATUS3_IMPRISONED_OTHERS) { s32 j; for (j = 0; j < 4; j++) @@ -1840,10 +1840,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA } break; case ABILITY_INTIMIDATE: - if (!(gSpecialStatuses[battler].intimidatedPoke)) + if (!(gSpecialStatuses[battler].intimidatedMon)) { gStatuses3[battler] |= STATUS3_INTIMIDATE_POKES; - gSpecialStatuses[battler].intimidatedPoke = 1; + gSpecialStatuses[battler].intimidatedMon = 1; } break; case ABILITY_FORECAST: @@ -2511,32 +2511,32 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) int i = 0; u8 effect = ITEM_NO_EFFECT; u8 changedPP = 0; - u8 BattlerHoldEffect, atkHoldEffect, defHoldEffect; - u8 BattlerQuality, atkQuality, defQuality; + u8 battlerHoldEffect, atkHoldEffect, defHoldEffect; + u8 battlerHoldEffectParam, atkHoldEffectParam, defHoldEffectParam; u16 atkItem, defItem; gLastUsedItem = gBattleMons[battlerId].item; if (gLastUsedItem == ITEM_ENIGMA_BERRY) { - BattlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; - BattlerQuality = gEnigmaBerries[battlerId].holdEffectParam; + battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; + battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam; } else { - BattlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - BattlerQuality = ItemId_GetHoldEffectParam(gLastUsedItem); + battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); + battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem); } atkItem = gBattleMons[gBattlerAttacker].item; if (atkItem == ITEM_ENIGMA_BERRY) { atkHoldEffect = gEnigmaBerries[gBattlerAttacker].holdEffect; - atkQuality = gEnigmaBerries[gBattlerAttacker].holdEffectParam; + atkHoldEffectParam = gEnigmaBerries[gBattlerAttacker].holdEffectParam; } else { atkHoldEffect = ItemId_GetHoldEffect(atkItem); - atkQuality = ItemId_GetHoldEffectParam(atkItem); + atkHoldEffectParam = ItemId_GetHoldEffectParam(atkItem); } // def variables are unused @@ -2544,18 +2544,18 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (defItem == ITEM_ENIGMA_BERRY) { defHoldEffect = gEnigmaBerries[gBattlerTarget].holdEffect; - defQuality = gEnigmaBerries[gBattlerTarget].holdEffectParam; + defHoldEffectParam = gEnigmaBerries[gBattlerTarget].holdEffectParam; } else { defHoldEffect = ItemId_GetHoldEffect(defItem); - defQuality = ItemId_GetHoldEffectParam(defItem); + defHoldEffectParam = ItemId_GetHoldEffectParam(defItem); } switch (caseID) { case ITEMEFFECT_ON_SWITCH_IN: - switch (BattlerHoldEffect) + switch (battlerHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) @@ -2583,13 +2583,13 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case 1: if (gBattleMons[battlerId].hp) { - switch (BattlerHoldEffect) + switch (battlerHoldEffect) { case HOLD_EFFECT_RESTORE_HP: if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2 && !moveTurn) { - gBattleMoveDamage = BattlerQuality; - if (gBattleMons[battlerId].hp + BattlerQuality > gBattleMons[battlerId].maxHP) + gBattleMoveDamage = battlerHoldEffectParam; + if (gBattleMons[battlerId].hp + battlerHoldEffectParam > gBattleMons[battlerId].maxHP) gBattleMoveDamage = gBattleMons[battlerId].maxHP - gBattleMons[battlerId].hp; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_RemoveItem); @@ -2618,10 +2618,10 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (i != 4) { u8 maxPP = CalculatePPWithBonus(move, ppBonuses, i); - if (changedPP + BattlerQuality > maxPP) + if (changedPP + battlerHoldEffectParam > maxPP) changedPP = maxPP; else - changedPP = changedPP + BattlerQuality; + changedPP = changedPP + battlerHoldEffectParam; PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); @@ -2660,7 +2660,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, BattlerHoldEffect); + RecordItemEffectBattle(battlerId, battlerHoldEffect); } break; // nice copy/paste there gamefreak, making a function for confuse berries was too much eh? @@ -2669,7 +2669,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SPICY); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2687,7 +2687,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_DRY); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2705,7 +2705,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SWEET); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2723,7 +2723,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_BITTER); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2741,7 +2741,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, FLAVOR_SOUR); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / BattlerQuality; + gBattleMoveDamage = gBattleMons[battlerId].maxHP / battlerHoldEffectParam; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; if (gBattleMons[battlerId].hp + gBattleMoveDamage > gBattleMons[battlerId].maxHP) @@ -2756,7 +2756,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; // copy/paste again, smh case HOLD_EFFECT_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn && gBattleMons[battlerId].statStages[STAT_ATK] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); @@ -2770,7 +2770,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_DEFENSE_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_DEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn && gBattleMons[battlerId].statStages[STAT_DEF] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF); @@ -2783,7 +2783,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SPEED_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPEED] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPEED] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPEED); @@ -2796,7 +2796,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SP_ATTACK_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPATK] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPATK] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK); @@ -2809,7 +2809,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SP_DEFENSE_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPDEF] < 0xC) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn && gBattleMons[battlerId].statStages[STAT_SPDEF] < 0xC) { PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF); @@ -2822,7 +2822,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CRITICAL_UP: - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality && !moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) + if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam && !moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY)) { gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); @@ -2830,7 +2830,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_RANDOM_STAT_UP: - if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / BattlerQuality) + if (!moveTurn && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / battlerHoldEffectParam) { for (i = 0; i < 5; i++) { @@ -2996,15 +2996,15 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gLastUsedItem = gBattleMons[battlerId].item; if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY) { - BattlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; - BattlerQuality = gEnigmaBerries[battlerId].holdEffectParam; + battlerHoldEffect = gEnigmaBerries[battlerId].holdEffect; + battlerHoldEffectParam = gEnigmaBerries[battlerId].holdEffectParam; } else { - BattlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); - BattlerQuality = ItemId_GetHoldEffectParam(gLastUsedItem); + battlerHoldEffect = ItemId_GetHoldEffect(gLastUsedItem); + battlerHoldEffectParam = ItemId_GetHoldEffectParam(gLastUsedItem); } - switch (BattlerHoldEffect) + switch (battlerHoldEffect) { case HOLD_EFFECT_CURE_PAR: if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) @@ -3146,7 +3146,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_FLINCH: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && TARGET_TURN_DAMAGED - && (Random() % 100) < atkQuality + && (Random() % 100) < atkHoldEffectParam && gBattleMoves[gCurrentMove].flags & FLAG_KINGSROCK_AFFECTED && gBattleMons[gBattlerTarget].hp) { @@ -3167,7 +3167,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gLastUsedItem = atkItem; gPotentialItemEffectBattler = gBattlerAttacker; gBattleScripting.battler = gBattlerAttacker; - gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].dmg / atkQuality) * -1; + gBattleMoveDamage = (gSpecialStatuses[gBattlerTarget].dmg / atkHoldEffectParam) * -1; if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; gSpecialStatuses[gBattlerTarget].dmg = 0; diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 91fcf8c46..b7ed1f713 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -7,6 +7,7 @@ #include "task.h" #include "field_effect.h" #include "constants/flags.h" +#include "constants/maps.h" extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); // fieldmap extern void DrawWholeMapView(); // field_camera @@ -205,14 +206,25 @@ void SealedChamberShakingEffect(u8 taskId) // moved later in the function because it was rewritten. bool8 ShouldDoBrailleStrengthEffect(void) { - if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) && (gSaveBlock1Ptr->location.mapGroup == 0x18 && gSaveBlock1Ptr->location.mapNum == 0x06)) + if (!FlagGet(FLAG_SYS_BRAILLE_STRENGTH) + && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(DESERT_RUINS) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(DESERT_RUINS)) { if (gSaveBlock1Ptr->pos.x == 6 && gSaveBlock1Ptr->pos.y == 23) - { sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } + { + sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; + return TRUE; + } else if (gSaveBlock1Ptr->pos.x == 5 && gSaveBlock1Ptr->pos.y == 23) - { sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } + { + sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; + return TRUE; + } else if (gSaveBlock1Ptr->pos.x == 7 && gSaveBlock1Ptr->pos.y == 23) - { sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; return TRUE; } + { + sBraillePuzzleCallbackFlag = STRENGTH_PUZZLE; + return TRUE; + } } return FALSE; diff --git a/src/pokemon.c b/src/pokemon.c index 5406cfee9..bb2959eda 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2265,7 +2265,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (attackerHoldEffect == sHoldEffectToType[i][0] && type == sHoldEffectToType[i][1]) { - if (type <= 8) + if (IS_MOVE_PHYSICAL(type)) attack = (attack * (attackerHoldEffectParam + 100)) / 100; else spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100; @@ -2293,9 +2293,9 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de spAttack /= 2; if (attacker->ability == ABILITY_HUSTLE) attack = (150 * attack) / 100; - if (attacker->ability == ABILITY_PLUS && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_MINUS, 0, 0)) + if (attacker->ability == ABILITY_PLUS && ABILITY_ON_FIELD2(ABILITY_MINUS)) spAttack = (150 * spAttack) / 100; - if (attacker->ability == ABILITY_MINUS && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_PLUS, 0, 0)) + if (attacker->ability == ABILITY_MINUS && ABILITY_ON_FIELD2(ABILITY_PLUS)) spAttack = (150 * spAttack) / 100; if (attacker->ability == ABILITY_GUTS && attacker->status1) attack = (150 * attack) / 100; @@ -2316,7 +2316,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (gBattleMoves[gCurrentMove].effect == EFFECT_EXPLOSION) defense /= 2; - if (type < TYPE_MYSTERY) // is physical + if (IS_MOVE_PHYSICAL(type) && type != TYPE_MYSTERY) { if (gCritMultiplier == 2) { @@ -2366,7 +2366,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (type == TYPE_MYSTERY) damage = 0; // is ??? type. does 0 damage. - if (type > TYPE_MYSTERY) // is special? + if (IS_MOVE_SPECIAL(type)) { if (gCritMultiplier == 2) { @@ -2406,8 +2406,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de damage /= 2; // are effects of weather negated with cloud nine or air lock - if (!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) - && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0)) + if (WEATHER_HAS_EFFECT2) { if (gBattleWeather & WEATHER_RAIN_TEMPORARY) { @@ -4514,7 +4513,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) holdEffect = ItemId_GetHoldEffect(heldItem); if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && type != 3) - return 0; + return SPECIES_NONE; switch (type) { @@ -4522,7 +4521,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) level = GetMonData(mon, MON_DATA_LEVEL, 0); friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, 0); - for (i = 0; i < 5; i++) + for (i = 0; i < EVOS_PER_MON; i++) { switch (gEvolutionTable[species][i].method) { @@ -4579,7 +4578,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) } break; case 1: - for (i = 0; i < 5; i++) + for (i = 0; i < EVOS_PER_MON; i++) { switch (gEvolutionTable[species][i].method) { @@ -4599,7 +4598,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) break; case 2: case 3: - for (i = 0; i < 5; i++) + for (i = 0; i < EVOS_PER_MON; i++) { if (gEvolutionTable[species][i].method == EVO_ITEM && gEvolutionTable[species][i].param == evolutionItem) -- cgit v1.2.3 From 118fa3afcee68deb3eeb2bc876a9afd02a45677c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 16 Jul 2018 22:00:27 +0200 Subject: IS_MOVE_PHYSICAL to IS_TYPE_PHYSIAL --- src/battle_script_commands.c | 6 +++--- src/pokemon.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 87244ff5a..3af03a5e0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1173,7 +1173,7 @@ static void atk01_accuracycheck(void) calc = (calc * 130) / 100; // 1.3 compound eyes boost if (WEATHER_HAS_EFFECT && gBattleMons[gBattlerTarget].ability == ABILITY_SAND_VEIL && gBattleWeather & WEATHER_SANDSTORM_ANY) calc = (calc * 80) / 100; // 1.2 sand veil loss - if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && IS_MOVE_PHYSICAL(type)) + if (gBattleMons[gBattlerAttacker].ability == ABILITY_HUSTLE && IS_TYPE_PHYSICAL(type)) calc = (calc * 80) / 100; // 1.2 hustle loss if (gBattleMons[gBattlerTarget].item == ITEM_ENIGMA_BERRY) @@ -1945,7 +1945,7 @@ static void atk0C_datahpupdate(void) if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_x100000)) gSpecialStatuses[gActiveBattler].dmg = gHpDealt; - if (IS_MOVE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) + if (IS_TYPE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000) && gCurrentMove != MOVE_PAIN_SPLIT) { gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; gSpecialStatuses[gActiveBattler].physicalDmg = gHpDealt; @@ -1960,7 +1960,7 @@ static void atk0C_datahpupdate(void) gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerTarget; } } - else if (!IS_MOVE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000)) + else if (!IS_TYPE_PHYSICAL(moveType) && !(gHitMarker & HITMARKER_x100000)) { gProtectStructs[gActiveBattler].specialDmg = gHpDealt; gSpecialStatuses[gActiveBattler].specialDmg = gHpDealt; diff --git a/src/pokemon.c b/src/pokemon.c index bb2959eda..c572ee10e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2265,7 +2265,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (attackerHoldEffect == sHoldEffectToType[i][0] && type == sHoldEffectToType[i][1]) { - if (IS_MOVE_PHYSICAL(type)) + if (IS_TYPE_PHYSICAL(type)) attack = (attack * (attackerHoldEffectParam + 100)) / 100; else spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100; @@ -2316,7 +2316,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (gBattleMoves[gCurrentMove].effect == EFFECT_EXPLOSION) defense /= 2; - if (IS_MOVE_PHYSICAL(type) && type != TYPE_MYSTERY) + if (IS_TYPE_PHYSICAL(type)) { if (gCritMultiplier == 2) { @@ -2366,7 +2366,7 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de if (type == TYPE_MYSTERY) damage = 0; // is ??? type. does 0 damage. - if (IS_MOVE_SPECIAL(type)) + if (IS_TYPE_SPECIAL(type)) { if (gCritMultiplier == 2) { -- cgit v1.2.3