From 7daa78311b936152a612bae4be6745e10238c931 Mon Sep 17 00:00:00 2001 From: Ariel A <24759293+aarant@users.noreply.github.com> Date: Mon, 7 Feb 2022 21:57:24 -0500 Subject: [PATCH 1/2] Added more follower footprint types. Credit: Sonikku-DatH https://www.pokecommunity.com/showthread.php?p=10410294#post10410294 --- data/field_effect_scripts.s | 15 ++ graphics/field_effects/pics/bug_tracks.png | Bin 0 -> 275 bytes .../field_effects/pics/slither_tracks.png | Bin 0 -> 354 bytes graphics/field_effects/pics/spot_tracks.png | Bin 0 -> 269 bytes include/constants/event_objects.h | 3 + include/constants/field_effects.h | 7 + spritesheet_rules.mk | 10 ++ .../field_effect_object_template_pointers.h | 6 + src/data/field_effects/field_effect_objects.h | 49 ++++++ .../object_events/object_event_graphics.h | 3 + .../object_event_graphics_info_followers.h | 160 +++++++++--------- src/event_object_movement.c | 68 ++++++++ src/field_effect_helpers.c | 54 ++++++ 13 files changed, 295 insertions(+), 80 deletions(-) create mode 100644 graphics/field_effects/pics/bug_tracks.png create mode 100644 graphics/field_effects/pics/slither_tracks.png create mode 100644 graphics/field_effects/pics/spot_tracks.png diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index 49fcf798b6..117ae710ca 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -72,6 +72,9 @@ gFieldEffectScriptPointers:: .4byte gFieldEffectScript_RayquazaSpotlight @ FLDEFF_RAYQUAZA_SPOTLIGHT .4byte gFieldEffectScript_DestroyDeoxysRock @ FLDEFF_DESTROY_DEOXYS_ROCK .4byte gFieldEffectScript_MoveDeoxysRock @ FLDEFF_MOVE_DEOXYS_ROCK + .4byte gFieldEffectScript_TracksSlither @ FLDEFF_TRACKS_SLITHER + .4byte gFieldEffectScript_TracksBug @ FLDEFF_TRACKS_BUG + .4byte gFieldEffectScript_TracksSpot @ FLDEFF_TRACKS_SPOT gFieldEffectScript_ExclamationMarkIcon1:: field_eff_callnative FldEff_ExclamationMarkIcon @@ -129,6 +132,14 @@ gFieldEffectScript_SandFootprints:: field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_SandFootprints field_eff_end +gFieldEffectScript_TracksBug:: + field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_TracksBug + field_eff_end + +gFieldEffectScript_TracksSpot:: + field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_TracksSpot + field_eff_end + gFieldEffectScript_JumpBigSplash:: field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_JumpBigSplash field_eff_end @@ -218,6 +229,10 @@ gFieldEffectScript_BikeTireTracks:: field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_BikeTireTracks field_eff_end +gFieldEffectScript_TracksSlither:: + field_eff_loadfadedpal_callnative gSpritePalette_GeneralFieldEffect0, FldEff_TracksSlither + field_eff_end + gFieldEffectScript_SandDisguisePlaceholder:: field_eff_callnative ShowSandDisguiseFieldEffect field_eff_end diff --git a/graphics/field_effects/pics/bug_tracks.png b/graphics/field_effects/pics/bug_tracks.png new file mode 100644 index 0000000000000000000000000000000000000000..b7062d253f68cd83d17f7e356850f9f4b47bb163 GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgggPDy5E6|D{BGC(2m z64!{5;QX|b^2DN426rD9pfL(%sYMFLdM1UfOCAE1aFi7IxdUa4fouk^22FV&#ggvm z>&U>cv7h@-A}f$@5a1KynzZKKw`WJ+UEOkT%as5B|KEG|ZtvM=bGF<|nzQBq-e*8n z@18BWceeTJmaMaLKOLC z@v3_<&z>L46J9N{{kvjCupr0An@3hg*Dm7DDtYXbt-r@;M1& literal 0 HcmV?d00001 diff --git a/graphics/field_effects/pics/spot_tracks.png b/graphics/field_effects/pics/spot_tracks.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8c9c0cf4ba7ff95fc87f06ec3c4fb7d51140ab GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!VDx^^%Amx6nlxMuPgggPDy5IruRyIQa~Z` z64!{5;QX|b^2DN426rD9pfL(%sYMFLdM1UfOCAE1aFi7IxdUa4fouk^22FV&#ggvm z>&U>cv7h@-A}f$@5a1KynzZKKw`WJ+UEOkT%as5B|KEG|ZtvM=bGF<|nzQBq-e*8n z@18BWceeTJmaMaLKkyAQ5E-N7?N2WG8`EhW-^NWZME4T3e?Qt>FVdQ&MBb@ E08~6)ssI20 literal 0 HcmV?d00001 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 384893a531..b07aee7c96 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -279,6 +279,9 @@ #define TRACKS_NONE 0 #define TRACKS_FOOT 1 #define TRACKS_BIKE_TIRE 2 +#define TRACKS_SLITHER 3 +#define TRACKS_SPOT 4 +#define TRACKS_BUG 5 #define FIRST_DECORATION_SPRITE_GFX OBJ_EVENT_GFX_PICHU_DOLL diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index 75b4326e80..65ccc3ec7e 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -69,6 +69,9 @@ #define FLDEFF_RAYQUAZA_SPOTLIGHT 64 #define FLDEFF_DESTROY_DEOXYS_ROCK 65 #define FLDEFF_MOVE_DEOXYS_ROCK 66 +#define FLDEFF_TRACKS_SLITHER 67 +#define FLDEFF_TRACKS_SPOT 68 +#define FLDEFF_TRACKS_BUG 69 #define FLDEFFOBJ_SHADOW_S 0 #define FLDEFFOBJ_SHADOW_M 1 @@ -108,6 +111,10 @@ #define FLDEFFOBJ_SMALL_SPARKLE 35 #define FLDEFFOBJ_RAYQUAZA 36 +#define FLDEFFOBJ_TRACKS_SLITHER 37 +#define FLDEFFOBJ_TRACKS_SPOT 38 +#define FLDEFFOBJ_TRACKS_BUG 39 + #define FLDEFF_PAL_TAG_CUT_GRASS 0x1000 #define FLDEFF_PAL_TAG_SECRET_POWER_TREE 0x1003 #define FLDEFF_PAL_TAG_GENERAL_0 0x1004 diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk index fe015fc85d..3deb282e0e 100644 --- a/spritesheet_rules.mk +++ b/spritesheet_rules.mk @@ -599,6 +599,16 @@ $(FLDEFFGFXDIR)/jump_tall_grass.4bpp: %.4bpp: %.png $(FLDEFFGFXDIR)/bike_tire_tracks.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(FLDEFFGFXDIR)/slither_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(FLDEFFGFXDIR)/bug_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + +$(FLDEFFGFXDIR)/spot_tracks.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 2 -mheight 2 + $(FLDEFFGFXDIR)/bubbles.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 2 -mheight 4 diff --git a/src/data/field_effects/field_effect_object_template_pointers.h b/src/data/field_effects/field_effect_object_template_pointers.h index 41d6271bf2..5e7b2a1f84 100755 --- a/src/data/field_effects/field_effect_object_template_pointers.h +++ b/src/data/field_effects/field_effect_object_template_pointers.h @@ -35,6 +35,9 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_AshLaunch; const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles; const struct SpriteTemplate gFieldEffectObjectTemplate_SmallSparkle; const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza; +const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks; +const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks; +const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks; const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { [FLDEFFOBJ_SHADOW_S] = &gFieldEffectObjectTemplate_ShadowSmall, @@ -74,4 +77,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = { [FLDEFFOBJ_BUBBLES] = &gFieldEffectObjectTemplate_Bubbles, [FLDEFFOBJ_SMALL_SPARKLE] = &gFieldEffectObjectTemplate_SmallSparkle, [FLDEFFOBJ_RAYQUAZA] = &gFieldEffectObjectTemplate_Rayquaza, + [FLDEFFOBJ_TRACKS_SLITHER] = &gFieldEffectObjectTemplate_SlitherTracks, + [FLDEFFOBJ_TRACKS_SPOT] = &gFieldEffectObjectTemplate_SpotTracks, + [FLDEFFOBJ_TRACKS_BUG] = &gFieldEffectObjectTemplate_BugTracks, }; diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index b50faedc46..9e22ec05eb 100755 --- a/src/data/field_effects/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -431,6 +431,36 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = { .callback = UpdateFootprintsTireTracksFieldEffect, }; +static const struct SpriteFrameImage sPicTable_BugTracks[] = { + overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 1), +}; + +static const struct SpriteFrameImage sPicTable_SpotTracks[] = { + overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 1), +}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks = { + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_DeepSandFootprints, + .images = sPicTable_BugTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, +}; + +const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks = { + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_DeepSandFootprints, + .images = sPicTable_SpotTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, +}; + static const struct SpriteFrameImage sPicTable_BikeTireTracks[] = { overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 1), @@ -438,6 +468,14 @@ static const struct SpriteFrameImage sPicTable_BikeTireTracks[] = { overworld_frame(gFieldEffectObjectPic_BikeTireTracks, 2, 2, 3), }; + +static const struct SpriteFrameImage sPicTable_SlitherTracks[] = { + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 3), +}; + static const union AnimCmd sBikeTireTracksAnim_South[] = { ANIMCMD_FRAME(2, 1), @@ -509,6 +547,17 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = { .callback = UpdateFootprintsTireTracksFieldEffect, }; + +const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks = { + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_BikeTireTracks, + .images = sPicTable_SlitherTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, +}; + static const struct SpriteFrameImage sPicTable_JumpBigSplash[] = { overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 0), overworld_frame(gFieldEffectObjectPic_JumpBigSplash, 2, 2, 1), diff --git a/src/data/object_events/object_event_graphics.h b/src/data/object_events/object_event_graphics.h index 43ccdcff77..7779a57fb6 100755 --- a/src/data/object_events/object_event_graphics.h +++ b/src/data/object_events/object_event_graphics.h @@ -302,6 +302,9 @@ const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/field_effect const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/field_effects/pics/sand_footprints.4bpp"); const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/field_effects/pics/deep_sand_footprints.4bpp"); const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/field_effects/pics/bike_tire_tracks.4bpp"); +const u32 gFieldEffectObjectPic_SlitherTracks[] = INCBIN_U32("graphics/field_effects/pics/slither_tracks.4bpp"); +const u32 gFieldEffectObjectPic_SpotTracks[] = INCBIN_U32("graphics/field_effects/pics/spot_tracks.4bpp"); +const u32 gFieldEffectObjectPic_BugTracks[] = INCBIN_U32("graphics/field_effects/pics/bug_tracks.4bpp"); const u32 gFieldEffectObjectPic_UnusedSand[] = INCBIN_U32("graphics/field_effects/pics/unused_sand.4bpp"); const u32 gFieldEffectObjectPic_SandPile[] = INCBIN_U32("graphics/field_effects/pics/sand_pile.4bpp"); const u32 gFieldEffectObjectPic_JumpBigSplash[] = INCBIN_U32("graphics/field_effects/pics/jump_big_splash.4bpp"); diff --git a/src/data/object_events/object_event_graphics_info_followers.h b/src/data/object_events/object_event_graphics_info_followers.h index 0b6ad8563e..17df71178a 100644 --- a/src/data/object_events/object_event_graphics_info_followers.h +++ b/src/data/object_events/object_event_graphics_info_followers.h @@ -9,11 +9,11 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_SQUIRTLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Squirtle, gDummySpriteAffineAnimTable}, [SPECIES_WARTORTLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wartortle, gDummySpriteAffineAnimTable}, [SPECIES_BLASTOISE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Blastoise, gDummySpriteAffineAnimTable}, - [SPECIES_CATERPIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Caterpie, gDummySpriteAffineAnimTable}, - [SPECIES_METAPOD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metapod, gDummySpriteAffineAnimTable}, + [SPECIES_CATERPIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Caterpie, gDummySpriteAffineAnimTable}, + [SPECIES_METAPOD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Metapod, gDummySpriteAffineAnimTable}, [SPECIES_BUTTERFREE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Butterfree, gDummySpriteAffineAnimTable}, - [SPECIES_WEEDLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weedle, gDummySpriteAffineAnimTable}, - [SPECIES_KAKUNA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kakuna, gDummySpriteAffineAnimTable}, + [SPECIES_WEEDLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weedle, gDummySpriteAffineAnimTable}, + [SPECIES_KAKUNA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kakuna, gDummySpriteAffineAnimTable}, [SPECIES_BEEDRILL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beedrill, gDummySpriteAffineAnimTable}, [SPECIES_PIDGEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgey, gDummySpriteAffineAnimTable}, [SPECIES_PIDGEOTTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pidgeotto, gDummySpriteAffineAnimTable}, @@ -22,8 +22,8 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_RATICATE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raticate, gDummySpriteAffineAnimTable}, [SPECIES_SPEAROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spearow, gDummySpriteAffineAnimTable}, [SPECIES_FEAROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Fearow, gDummySpriteAffineAnimTable}, - [SPECIES_EKANS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ekans, gDummySpriteAffineAnimTable}, - [SPECIES_ARBOK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Arbok, gDummySpriteAffineAnimTable}, + [SPECIES_EKANS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ekans, gDummySpriteAffineAnimTable}, + [SPECIES_ARBOK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Arbok, gDummySpriteAffineAnimTable}, [SPECIES_PIKACHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pikachu, gDummySpriteAffineAnimTable}, [SPECIES_RAICHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Raichu, gDummySpriteAffineAnimTable}, [SPECIES_SANDSHREW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sandshrew, gDummySpriteAffineAnimTable}, @@ -45,8 +45,8 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_ODDISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Oddish, gDummySpriteAffineAnimTable}, [SPECIES_GLOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gloom, gDummySpriteAffineAnimTable}, [SPECIES_VILEPLUME] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vileplume, gDummySpriteAffineAnimTable}, - [SPECIES_PARAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Paras, gDummySpriteAffineAnimTable}, - [SPECIES_PARASECT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Parasect, gDummySpriteAffineAnimTable}, + [SPECIES_PARAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Paras, gDummySpriteAffineAnimTable}, + [SPECIES_PARASECT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Parasect, gDummySpriteAffineAnimTable}, [SPECIES_VENONAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venonat, gDummySpriteAffineAnimTable}, [SPECIES_VENOMOTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Venomoth, gDummySpriteAffineAnimTable}, [SPECIES_DIGLETT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Diglett, gDummySpriteAffineAnimTable}, @@ -69,11 +69,11 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_MACHOKE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machoke, gDummySpriteAffineAnimTable}, [SPECIES_MACHAMP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Machamp, gDummySpriteAffineAnimTable}, [SPECIES_BELLSPROUT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bellsprout, gDummySpriteAffineAnimTable}, - [SPECIES_WEEPINBELL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weepinbell, gDummySpriteAffineAnimTable}, - [SPECIES_VICTREEBEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Victreebel, gDummySpriteAffineAnimTable}, - [SPECIES_TENTACOOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacool, gDummySpriteAffineAnimTable}, - [SPECIES_TENTACRUEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacruel, gDummySpriteAffineAnimTable}, - [SPECIES_GEODUDE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Geodude, gDummySpriteAffineAnimTable}, + [SPECIES_WEEPINBELL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Weepinbell, gDummySpriteAffineAnimTable}, + [SPECIES_VICTREEBEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Victreebel, gDummySpriteAffineAnimTable}, + [SPECIES_TENTACOOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacool, gDummySpriteAffineAnimTable}, + [SPECIES_TENTACRUEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tentacruel, gDummySpriteAffineAnimTable}, + [SPECIES_GEODUDE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Geodude, gDummySpriteAffineAnimTable}, [SPECIES_GRAVELER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Graveler, gDummySpriteAffineAnimTable}, [SPECIES_GOLEM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Golem, gDummySpriteAffineAnimTable}, [SPECIES_PONYTA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ponyta, gDummySpriteAffineAnimTable}, @@ -85,23 +85,23 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_FARFETCHD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Farfetchd, gDummySpriteAffineAnimTable}, [SPECIES_DODUO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Doduo, gDummySpriteAffineAnimTable}, [SPECIES_DODRIO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dodrio, gDummySpriteAffineAnimTable}, - [SPECIES_SEEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seel, gDummySpriteAffineAnimTable}, + [SPECIES_SEEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seel, gDummySpriteAffineAnimTable}, [SPECIES_DEWGONG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dewgong, gDummySpriteAffineAnimTable}, - [SPECIES_GRIMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grimer, gDummySpriteAffineAnimTable}, - [SPECIES_MUK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Muk, gDummySpriteAffineAnimTable}, - [SPECIES_SHELLDER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shellder, gDummySpriteAffineAnimTable}, - [SPECIES_CLOYSTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cloyster, gDummySpriteAffineAnimTable}, + [SPECIES_GRIMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grimer, gDummySpriteAffineAnimTable}, + [SPECIES_MUK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Muk, gDummySpriteAffineAnimTable}, + [SPECIES_SHELLDER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shellder, gDummySpriteAffineAnimTable}, + [SPECIES_CLOYSTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cloyster, gDummySpriteAffineAnimTable}, [SPECIES_GASTLY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gastly, gDummySpriteAffineAnimTable}, [SPECIES_HAUNTER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Haunter, gDummySpriteAffineAnimTable}, [SPECIES_GENGAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gengar, gDummySpriteAffineAnimTable}, - [SPECIES_ONIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Onix, gDummySpriteAffineAnimTable}, + [SPECIES_ONIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Onix, gDummySpriteAffineAnimTable}, [SPECIES_DROWZEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Drowzee, gDummySpriteAffineAnimTable}, [SPECIES_HYPNO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hypno, gDummySpriteAffineAnimTable}, [SPECIES_KRABBY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Krabby, gDummySpriteAffineAnimTable}, [SPECIES_KINGLER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingler, gDummySpriteAffineAnimTable}, - [SPECIES_VOLTORB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Voltorb, gDummySpriteAffineAnimTable}, - [SPECIES_ELECTRODE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electrode, gDummySpriteAffineAnimTable}, - [SPECIES_EXEGGCUTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggcute, gDummySpriteAffineAnimTable}, + [SPECIES_VOLTORB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Voltorb, gDummySpriteAffineAnimTable}, + [SPECIES_ELECTRODE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Electrode, gDummySpriteAffineAnimTable}, + [SPECIES_EXEGGCUTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggcute, gDummySpriteAffineAnimTable}, [SPECIES_EXEGGUTOR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Exeggutor, gDummySpriteAffineAnimTable}, [SPECIES_CUBONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cubone, gDummySpriteAffineAnimTable}, [SPECIES_MAROWAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Marowak, gDummySpriteAffineAnimTable}, @@ -115,10 +115,10 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_CHANSEY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chansey, gDummySpriteAffineAnimTable}, [SPECIES_TANGELA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tangela, gDummySpriteAffineAnimTable}, [SPECIES_KANGASKHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kangaskhan, gDummySpriteAffineAnimTable}, - [SPECIES_HORSEA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Horsea, gDummySpriteAffineAnimTable}, - [SPECIES_SEADRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seadra, gDummySpriteAffineAnimTable}, - [SPECIES_GOLDEEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Goldeen, gDummySpriteAffineAnimTable}, - [SPECIES_SEAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seaking, gDummySpriteAffineAnimTable}, + [SPECIES_HORSEA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Horsea, gDummySpriteAffineAnimTable}, + [SPECIES_SEADRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seadra, gDummySpriteAffineAnimTable}, + [SPECIES_GOLDEEN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Goldeen, gDummySpriteAffineAnimTable}, + [SPECIES_SEAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seaking, gDummySpriteAffineAnimTable}, [SPECIES_STARYU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Staryu, gDummySpriteAffineAnimTable}, [SPECIES_STARMIE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Starmie, gDummySpriteAffineAnimTable}, [SPECIES_MR_MIME] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mr_Mime, gDummySpriteAffineAnimTable}, @@ -128,26 +128,26 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_MAGMAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magmar, gDummySpriteAffineAnimTable}, [SPECIES_PINSIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pinsir, gDummySpriteAffineAnimTable}, [SPECIES_TAUROS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tauros, gDummySpriteAffineAnimTable}, - [SPECIES_MAGIKARP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magikarp, gDummySpriteAffineAnimTable}, - [SPECIES_GYARADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gyarados, gDummySpriteAffineAnimTable}, - [SPECIES_LAPRAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lapras, gDummySpriteAffineAnimTable}, - [SPECIES_DITTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ditto, gDummySpriteAffineAnimTable}, + [SPECIES_MAGIKARP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magikarp, gDummySpriteAffineAnimTable}, + [SPECIES_GYARADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gyarados, gDummySpriteAffineAnimTable}, + [SPECIES_LAPRAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lapras, gDummySpriteAffineAnimTable}, + [SPECIES_DITTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ditto, gDummySpriteAffineAnimTable}, [SPECIES_EEVEE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Eevee, gDummySpriteAffineAnimTable}, [SPECIES_VAPOREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vaporeon, gDummySpriteAffineAnimTable}, [SPECIES_JOLTEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jolteon, gDummySpriteAffineAnimTable}, [SPECIES_FLAREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Flareon, gDummySpriteAffineAnimTable}, - [SPECIES_PORYGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon, gDummySpriteAffineAnimTable}, - [SPECIES_OMANYTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omanyte, gDummySpriteAffineAnimTable}, + [SPECIES_PORYGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon, gDummySpriteAffineAnimTable}, + [SPECIES_OMANYTE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omanyte, gDummySpriteAffineAnimTable}, [SPECIES_OMASTAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Omastar, gDummySpriteAffineAnimTable}, - [SPECIES_KABUTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabuto, gDummySpriteAffineAnimTable}, + [SPECIES_KABUTO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabuto, gDummySpriteAffineAnimTable}, [SPECIES_KABUTOPS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kabutops, gDummySpriteAffineAnimTable}, [SPECIES_AERODACTYL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aerodactyl, gDummySpriteAffineAnimTable}, [SPECIES_SNORLAX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snorlax, gDummySpriteAffineAnimTable}, [SPECIES_ARTICUNO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Articuno, gDummySpriteAffineAnimTable}, [SPECIES_ZAPDOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zapdos, gDummySpriteAffineAnimTable}, [SPECIES_MOLTRES] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Moltres, gDummySpriteAffineAnimTable}, - [SPECIES_DRATINI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dratini, gDummySpriteAffineAnimTable}, - [SPECIES_DRAGONAIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonair, gDummySpriteAffineAnimTable}, + [SPECIES_DRATINI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dratini, gDummySpriteAffineAnimTable}, + [SPECIES_DRAGONAIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonair, gDummySpriteAffineAnimTable}, [SPECIES_DRAGONITE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dragonite, gDummySpriteAffineAnimTable}, [SPECIES_MEWTWO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mewtwo, gDummySpriteAffineAnimTable}, [SPECIES_MEW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mew, gDummySpriteAffineAnimTable}, @@ -164,13 +164,13 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_FURRET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Furret, gDummySpriteAffineAnimTable}, [SPECIES_HOOTHOOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Hoothoot, gDummySpriteAffineAnimTable}, [SPECIES_NOCTOWL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Noctowl, gDummySpriteAffineAnimTable}, - [SPECIES_LEDYBA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledyba, gDummySpriteAffineAnimTable}, + [SPECIES_LEDYBA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledyba, gDummySpriteAffineAnimTable}, [SPECIES_LEDIAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ledian, gDummySpriteAffineAnimTable}, - [SPECIES_SPINARAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinarak, gDummySpriteAffineAnimTable}, - [SPECIES_ARIADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ariados, gDummySpriteAffineAnimTable}, + [SPECIES_SPINARAK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinarak, gDummySpriteAffineAnimTable}, + [SPECIES_ARIADOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ariados, gDummySpriteAffineAnimTable}, [SPECIES_CROBAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Crobat, gDummySpriteAffineAnimTable}, - [SPECIES_CHINCHOU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chinchou, gDummySpriteAffineAnimTable}, - [SPECIES_LANTURN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lanturn, gDummySpriteAffineAnimTable}, + [SPECIES_CHINCHOU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Chinchou, gDummySpriteAffineAnimTable}, + [SPECIES_LANTURN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lanturn, gDummySpriteAffineAnimTable}, [SPECIES_PICHU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pichu, gDummySpriteAffineAnimTable}, [SPECIES_CLEFFA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cleffa, gDummySpriteAffineAnimTable}, [SPECIES_IGGLYBUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Igglybuff, gDummySpriteAffineAnimTable}, @@ -190,7 +190,7 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_SKIPLOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skiploom, gDummySpriteAffineAnimTable}, [SPECIES_JUMPLUFF] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jumpluff, gDummySpriteAffineAnimTable}, [SPECIES_AIPOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Aipom, gDummySpriteAffineAnimTable}, - [SPECIES_SUNKERN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunkern, gDummySpriteAffineAnimTable}, + [SPECIES_SUNKERN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunkern, gDummySpriteAffineAnimTable}, [SPECIES_SUNFLORA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sunflora, gDummySpriteAffineAnimTable}, [SPECIES_YANMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Yanma, gDummySpriteAffineAnimTable}, [SPECIES_WOOPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wooper, gDummySpriteAffineAnimTable}, @@ -199,7 +199,7 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_UMBREON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Umbreon, gDummySpriteAffineAnimTable}, [SPECIES_MURKROW] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Murkrow, gDummySpriteAffineAnimTable}, [SPECIES_SLOWKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slowking, gDummySpriteAffineAnimTable}, - [SPECIES_MISDREAVUS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Misdreavus, gDummySpriteAffineAnimTable}, + [SPECIES_MISDREAVUS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Misdreavus, gDummySpriteAffineAnimTable}, [SPECIES_UNOWN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_A, gDummySpriteAffineAnimTable}, [SPECIES_UNOWN_B] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_B, gDummySpriteAffineAnimTable}, [SPECIES_UNOWN_C] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_C, gDummySpriteAffineAnimTable}, @@ -230,36 +230,36 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_UNOWN_QMARK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Unown_Question, gDummySpriteAffineAnimTable}, [SPECIES_WOBBUFFET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wobbuffet, gDummySpriteAffineAnimTable}, [SPECIES_GIRAFARIG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Girafarig, gDummySpriteAffineAnimTable}, - [SPECIES_PINECO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pineco, gDummySpriteAffineAnimTable}, - [SPECIES_FORRETRESS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Forretress, gDummySpriteAffineAnimTable}, - [SPECIES_DUNSPARCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dunsparce, gDummySpriteAffineAnimTable}, + [SPECIES_PINECO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pineco, gDummySpriteAffineAnimTable}, + [SPECIES_FORRETRESS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Forretress, gDummySpriteAffineAnimTable}, + [SPECIES_DUNSPARCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dunsparce, gDummySpriteAffineAnimTable}, [SPECIES_GLIGAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gligar, gDummySpriteAffineAnimTable}, - [SPECIES_STEELIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Steelix, gDummySpriteAffineAnimTable}, + [SPECIES_STEELIX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Steelix, gDummySpriteAffineAnimTable}, [SPECIES_SNUBBULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Snubbull, gDummySpriteAffineAnimTable}, [SPECIES_GRANBULL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Granbull, gDummySpriteAffineAnimTable}, - [SPECIES_QWILFISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Qwilfish, gDummySpriteAffineAnimTable}, + [SPECIES_QWILFISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Qwilfish, gDummySpriteAffineAnimTable}, [SPECIES_SCIZOR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Scizor, gDummySpriteAffineAnimTable}, [SPECIES_SHUCKLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shuckle, gDummySpriteAffineAnimTable}, [SPECIES_HERACROSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Heracross, gDummySpriteAffineAnimTable}, [SPECIES_SNEASEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sneasel, gDummySpriteAffineAnimTable}, [SPECIES_TEDDIURSA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Teddiursa, gDummySpriteAffineAnimTable}, [SPECIES_URSARING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ursaring, gDummySpriteAffineAnimTable}, - [SPECIES_SLUGMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slugma, gDummySpriteAffineAnimTable}, - [SPECIES_MAGCARGO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magcargo, gDummySpriteAffineAnimTable}, + [SPECIES_SLUGMA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slugma, gDummySpriteAffineAnimTable}, + [SPECIES_MAGCARGO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Magcargo, gDummySpriteAffineAnimTable}, [SPECIES_SWINUB] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swinub, gDummySpriteAffineAnimTable}, [SPECIES_PILOSWINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Piloswine, gDummySpriteAffineAnimTable}, [SPECIES_CORSOLA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Corsola, gDummySpriteAffineAnimTable}, - [SPECIES_REMORAID] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Remoraid, gDummySpriteAffineAnimTable}, - [SPECIES_OCTILLERY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Octillery, gDummySpriteAffineAnimTable}, + [SPECIES_REMORAID] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Remoraid, gDummySpriteAffineAnimTable}, + [SPECIES_OCTILLERY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Octillery, gDummySpriteAffineAnimTable}, [SPECIES_DELIBIRD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Delibird, gDummySpriteAffineAnimTable}, [SPECIES_MANTINE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mantine, gDummySpriteAffineAnimTable}, [SPECIES_SKARMORY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Skarmory, gDummySpriteAffineAnimTable}, [SPECIES_HOUNDOUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Houndour, gDummySpriteAffineAnimTable}, [SPECIES_HOUNDOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Houndoom, gDummySpriteAffineAnimTable}, - [SPECIES_KINGDRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingdra, gDummySpriteAffineAnimTable}, + [SPECIES_KINGDRA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kingdra, gDummySpriteAffineAnimTable}, [SPECIES_PHANPY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Phanpy, gDummySpriteAffineAnimTable}, [SPECIES_DONPHAN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Donphan, gDummySpriteAffineAnimTable}, - [SPECIES_PORYGON2] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon2, gDummySpriteAffineAnimTable}, + [SPECIES_PORYGON2] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Porygon2, gDummySpriteAffineAnimTable}, [SPECIES_STANTLER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Stantler, gDummySpriteAffineAnimTable}, [SPECIES_SMEARGLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Smeargle, gDummySpriteAffineAnimTable}, [SPECIES_TYROGUE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tyrogue, gDummySpriteAffineAnimTable}, @@ -273,7 +273,7 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_ENTEI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Entei, gDummySpriteAffineAnimTable}, [SPECIES_SUICUNE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Suicune, gDummySpriteAffineAnimTable}, [SPECIES_LARVITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Larvitar, gDummySpriteAffineAnimTable}, - [SPECIES_PUPITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pupitar, gDummySpriteAffineAnimTable}, + [SPECIES_PUPITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Pupitar, gDummySpriteAffineAnimTable}, [SPECIES_TYRANITAR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Tyranitar, gDummySpriteAffineAnimTable}, [SPECIES_LUGIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lugia, gDummySpriteAffineAnimTable}, [SPECIES_HO_OH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ho_oh, gDummySpriteAffineAnimTable}, @@ -291,10 +291,10 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_MIGHTYENA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Mightyena, gDummySpriteAffineAnimTable}, [SPECIES_ZIGZAGOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zigzagoon, gDummySpriteAffineAnimTable}, [SPECIES_LINOONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Linoone, gDummySpriteAffineAnimTable}, - [SPECIES_WURMPLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wurmple, gDummySpriteAffineAnimTable}, - [SPECIES_SILCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Silcoon, gDummySpriteAffineAnimTable}, + [SPECIES_WURMPLE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wurmple, gDummySpriteAffineAnimTable}, + [SPECIES_SILCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Silcoon, gDummySpriteAffineAnimTable}, [SPECIES_BEAUTIFLY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Beautifly, gDummySpriteAffineAnimTable}, - [SPECIES_CASCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cascoon, gDummySpriteAffineAnimTable}, + [SPECIES_CASCOON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cascoon, gDummySpriteAffineAnimTable}, [SPECIES_DUSTOX] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Dustox, gDummySpriteAffineAnimTable}, [SPECIES_LOTAD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lotad, gDummySpriteAffineAnimTable}, [SPECIES_LOMBRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lombre, gDummySpriteAffineAnimTable}, @@ -309,14 +309,14 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_RALTS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ralts, gDummySpriteAffineAnimTable}, [SPECIES_KIRLIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kirlia, gDummySpriteAffineAnimTable}, [SPECIES_GARDEVOIR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gardevoir, gDummySpriteAffineAnimTable}, - [SPECIES_SURSKIT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Surskit, gDummySpriteAffineAnimTable}, + [SPECIES_SURSKIT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Surskit, gDummySpriteAffineAnimTable}, [SPECIES_MASQUERAIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Masquerain, gDummySpriteAffineAnimTable}, [SPECIES_SHROOMISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shroomish, gDummySpriteAffineAnimTable}, [SPECIES_BRELOOM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Breloom, gDummySpriteAffineAnimTable}, [SPECIES_SLAKOTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slakoth, gDummySpriteAffineAnimTable}, [SPECIES_VIGOROTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Vigoroth, gDummySpriteAffineAnimTable}, [SPECIES_SLAKING] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Slaking, gDummySpriteAffineAnimTable}, - [SPECIES_NINCADA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nincada, gDummySpriteAffineAnimTable}, + [SPECIES_NINCADA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Nincada, gDummySpriteAffineAnimTable}, [SPECIES_NINJASK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Ninjask, gDummySpriteAffineAnimTable}, [SPECIES_SHEDINJA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shedinja, gDummySpriteAffineAnimTable}, [SPECIES_WHISMUR] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Whismur, gDummySpriteAffineAnimTable}, @@ -342,16 +342,16 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_VOLBEAT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Volbeat, gDummySpriteAffineAnimTable}, [SPECIES_ILLUMISE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Illumise, gDummySpriteAffineAnimTable}, [SPECIES_ROSELIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Roselia, gDummySpriteAffineAnimTable}, - [SPECIES_GULPIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gulpin, gDummySpriteAffineAnimTable}, - [SPECIES_SWALOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swalot, gDummySpriteAffineAnimTable}, - [SPECIES_CARVANHA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Carvanha, gDummySpriteAffineAnimTable}, - [SPECIES_SHARPEDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sharpedo, gDummySpriteAffineAnimTable}, - [SPECIES_WAILMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailmer, gDummySpriteAffineAnimTable}, - [SPECIES_WAILORD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailord, gDummySpriteAffineAnimTable}, + [SPECIES_GULPIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gulpin, gDummySpriteAffineAnimTable}, + [SPECIES_SWALOT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swalot, gDummySpriteAffineAnimTable}, + [SPECIES_CARVANHA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Carvanha, gDummySpriteAffineAnimTable}, + [SPECIES_SHARPEDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sharpedo, gDummySpriteAffineAnimTable}, + [SPECIES_WAILMER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailmer, gDummySpriteAffineAnimTable}, + [SPECIES_WAILORD] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Wailord, gDummySpriteAffineAnimTable}, [SPECIES_NUMEL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Numel, gDummySpriteAffineAnimTable}, [SPECIES_CAMERUPT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Camerupt, gDummySpriteAffineAnimTable}, [SPECIES_TORKOAL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Torkoal, gDummySpriteAffineAnimTable}, - [SPECIES_SPOINK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spoink, gDummySpriteAffineAnimTable}, + [SPECIES_SPOINK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spoink, gDummySpriteAffineAnimTable}, [SPECIES_GRUMPIG] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Grumpig, gDummySpriteAffineAnimTable}, [SPECIES_SPINDA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spinda, gDummySpriteAffineAnimTable}, [SPECIES_TRAPINCH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Trapinch, gDummySpriteAffineAnimTable}, @@ -362,21 +362,21 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_SWABLU] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Swablu, gDummySpriteAffineAnimTable}, [SPECIES_ALTARIA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Altaria, gDummySpriteAffineAnimTable}, [SPECIES_ZANGOOSE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Zangoose, gDummySpriteAffineAnimTable}, - [SPECIES_SEVIPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seviper, gDummySpriteAffineAnimTable}, + [SPECIES_SEVIPER] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Seviper, gDummySpriteAffineAnimTable}, [SPECIES_LUNATONE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lunatone, gDummySpriteAffineAnimTable}, [SPECIES_SOLROCK] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Solrock, gDummySpriteAffineAnimTable}, - [SPECIES_BARBOACH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Barboach, gDummySpriteAffineAnimTable}, + [SPECIES_BARBOACH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Barboach, gDummySpriteAffineAnimTable}, [SPECIES_WHISCASH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Whiscash, gDummySpriteAffineAnimTable}, [SPECIES_CORPHISH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Corphish, gDummySpriteAffineAnimTable}, [SPECIES_CRAWDAUNT] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Crawdaunt, gDummySpriteAffineAnimTable}, - [SPECIES_BALTOY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BIKE_TIRE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Baltoy, gDummySpriteAffineAnimTable}, + [SPECIES_BALTOY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Baltoy, gDummySpriteAffineAnimTable}, [SPECIES_CLAYDOL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Claydol, gDummySpriteAffineAnimTable}, - [SPECIES_LILEEP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lileep, gDummySpriteAffineAnimTable}, - [SPECIES_CRADILY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cradily, gDummySpriteAffineAnimTable}, - [SPECIES_ANORITH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Anorith, gDummySpriteAffineAnimTable}, + [SPECIES_LILEEP] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Lileep, gDummySpriteAffineAnimTable}, + [SPECIES_CRADILY] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Cradily, gDummySpriteAffineAnimTable}, + [SPECIES_ANORITH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_BUG, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Anorith, gDummySpriteAffineAnimTable}, [SPECIES_ARMALDO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Armaldo, gDummySpriteAffineAnimTable}, - [SPECIES_FEEBAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Feebas, gDummySpriteAffineAnimTable}, - [SPECIES_MILOTIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Milotic, gDummySpriteAffineAnimTable}, + [SPECIES_FEEBAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Feebas, gDummySpriteAffineAnimTable}, + [SPECIES_MILOTIC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Milotic, gDummySpriteAffineAnimTable}, [SPECIES_CASTFORM] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Castform, gDummySpriteAffineAnimTable}, [SPECIES_KECLEON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kecleon, gDummySpriteAffineAnimTable}, [SPECIES_SHUPPET] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shuppet, gDummySpriteAffineAnimTable}, @@ -392,11 +392,11 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_SPHEAL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Spheal, gDummySpriteAffineAnimTable}, [SPECIES_SEALEO] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Sealeo, gDummySpriteAffineAnimTable}, [SPECIES_WALREIN] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Walrein, gDummySpriteAffineAnimTable}, - [SPECIES_CLAMPERL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clamperl, gDummySpriteAffineAnimTable}, - [SPECIES_HUNTAIL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Huntail, gDummySpriteAffineAnimTable}, - [SPECIES_GOREBYSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gorebyss, gDummySpriteAffineAnimTable}, - [SPECIES_RELICANTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Relicanth, gDummySpriteAffineAnimTable}, - [SPECIES_LUVDISC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Luvdisc, gDummySpriteAffineAnimTable}, + [SPECIES_CLAMPERL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Clamperl, gDummySpriteAffineAnimTable}, + [SPECIES_HUNTAIL] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Huntail, gDummySpriteAffineAnimTable}, + [SPECIES_GOREBYSS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SLITHER, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Gorebyss, gDummySpriteAffineAnimTable}, + [SPECIES_RELICANTH] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Relicanth, gDummySpriteAffineAnimTable}, + [SPECIES_LUVDISC] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_SPOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Luvdisc, gDummySpriteAffineAnimTable}, [SPECIES_BAGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Bagon, gDummySpriteAffineAnimTable}, [SPECIES_SHELGON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Shelgon, gDummySpriteAffineAnimTable}, [SPECIES_SALAMENCE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Salamence, gDummySpriteAffineAnimTable}, @@ -409,7 +409,7 @@ const struct ObjectEventGraphicsInfo gPokemonObjectGraphics[] = { [SPECIES_LATIAS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Latias, gDummySpriteAffineAnimTable}, [SPECIES_LATIOS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Latios, gDummySpriteAffineAnimTable}, [SPECIES_KYOGRE] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Kyogre, gDummySpriteAffineAnimTable}, - [SPECIES_GROUDON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Groudon, gDummySpriteAffineAnimTable}, + [SPECIES_GROUDON] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Groudon, gDummySpriteAffineAnimTable}, [SPECIES_RAYQUAZA] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Rayquaza, gDummySpriteAffineAnimTable}, [SPECIES_JIRACHI] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_NONE, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Jirachi, gDummySpriteAffineAnimTable}, [SPECIES_DEOXYS] = {0xFFFF, OBJ_EVENT_PAL_TAG_DYNAMIC, OBJ_EVENT_PAL_TAG_NONE, 512, 32, 32, 2, SHADOW_SIZE_M, FALSE, FALSE, TRACKS_FOOT, &gObjectEventBaseOam_32x32, sOamTables_32x32, sAnimTable_Following, sPicTable_Deoxys, gDummySpriteAffineAnimTable}, diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 17360eb9e2..6c8fa547b2 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -123,7 +123,10 @@ static void InitObjectPriorityByZCoord(struct Sprite *sprite, u8 z); static void ObjectEventUpdateSubpriority(struct ObjectEvent*, struct Sprite*); static void DoTracksGroundEffect_None(struct ObjectEvent*, struct Sprite*, u8); static void DoTracksGroundEffect_Footprints(struct ObjectEvent*, struct Sprite*, u8); +static void DoTracksGroundEffect_FootprintsB(struct ObjectEvent*, struct Sprite*, u8); +static void DoTracksGroundEffect_FootprintsC(struct ObjectEvent*, struct Sprite*, u8); static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent*, struct Sprite*, u8); +static void DoTracksGroundEffect_SlitherTracks(struct ObjectEvent*, struct Sprite*, u8); static void DoRippleFieldEffect(struct ObjectEvent*, struct Sprite*); static void DoGroundEffects_OnSpawn(struct ObjectEvent*, struct Sprite*); static void DoGroundEffects_OnBeginStep(struct ObjectEvent*, struct Sprite*); @@ -8593,6 +8596,9 @@ static void (*const sGroundEffectTracksFuncs[])(struct ObjectEvent *objEvent, st [TRACKS_NONE] = DoTracksGroundEffect_None, [TRACKS_FOOT] = DoTracksGroundEffect_Footprints, [TRACKS_BIKE_TIRE] = DoTracksGroundEffect_BikeTireTracks, + [TRACKS_SLITHER] = DoTracksGroundEffect_SlitherTracks, + [TRACKS_SPOT] = DoTracksGroundEffect_FootprintsC, + [TRACKS_BUG] = DoTracksGroundEffect_FootprintsB, }; void GroundEffect_SandTracks(struct ObjectEvent *objEvent, struct Sprite *sprite) @@ -8627,6 +8633,40 @@ static void DoTracksGroundEffect_Footprints(struct ObjectEvent *objEvent, struct FieldEffectStart(sandFootprints_FieldEffectData[a]); } +static void DoTracksGroundEffect_FootprintsB(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) +{ + // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) + u16 otherFootprintsA_FieldEffectData[2] = { + FLDEFF_TRACKS_SPOT, + FLDEFF_TRACKS_SPOT + }; + + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = objEvent->facingDirection; + gFieldEffectArguments[5] = objEvent->previousMetatileBehavior; + FieldEffectStart(otherFootprintsA_FieldEffectData[a]); +} + +static void DoTracksGroundEffect_FootprintsC(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) +{ + // First half-word is a Field Effect script id. (gFieldEffectScriptPointers) + u16 otherFootprintsB_FieldEffectData[2] = { + FLDEFF_TRACKS_BUG, + FLDEFF_TRACKS_BUG + }; + + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = objEvent->facingDirection; + gFieldEffectArguments[5] = objEvent->previousMetatileBehavior; + FieldEffectStart(otherFootprintsB_FieldEffectData[a]); +} + static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) { // Specifies which bike track shape to show next. @@ -8654,6 +8694,34 @@ static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, st } } +static void DoTracksGroundEffect_SlitherTracks(struct ObjectEvent *objEvent, 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 slitherTracks_Transitions[4][4] = { + 1, 2, 7, 8, + 1, 2, 6, 5, + 5, 8, 3, 4, + 6, 7, 3, 4, + }; + + if (objEvent->currentCoords.x != objEvent->previousCoords.x || objEvent->currentCoords.y != objEvent->previousCoords.y) + { + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = + slitherTracks_Transitions[objEvent->previousMovementDirection][objEvent->facingDirection - 5]; + gFieldEffectArguments[5] = objEvent->previousMetatileBehavior; + FieldEffectStart(FLDEFF_TRACKS_SLITHER); + } +} + void GroundEffect_Ripple(struct ObjectEvent *objEvent, struct Sprite *sprite) { DoRippleFieldEffect(objEvent, sprite); diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 977893279c..0a5fdd9733 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -681,6 +681,42 @@ u32 FldEff_DeepSandFootprints(void) return spriteId; } +u32 FldEff_TracksBug(void) +{ + u8 spriteId; + struct Sprite *sprite; + + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TRACKS_BUG], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_TRACKS_BUG; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return 0; +} + +u32 FldEff_TracksSpot(void) +{ + u8 spriteId; + struct Sprite *sprite; + + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TRACKS_SPOT], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_TRACKS_SPOT; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return 0; +} + u32 FldEff_BikeTireTracks(void) { u8 spriteId; @@ -699,6 +735,24 @@ u32 FldEff_BikeTireTracks(void) return spriteId; } +u32 FldEff_TracksSlither(void) +{ + u8 spriteId; + struct Sprite *sprite; + + SetSpritePosToOffsetMapCoords((s16 *)&gFieldEffectArguments[0], (s16 *)&gFieldEffectArguments[1], 8, 8); + spriteId = CreateSpriteAtEnd(gFieldEffectObjectTemplatePointers[FLDEFFOBJ_TRACKS_SLITHER], gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2]); + if (spriteId != MAX_SPRITES) + { + sprite = &gSprites[spriteId]; + sprite->coordOffsetEnabled = TRUE; + sprite->oam.priority = gFieldEffectArguments[3]; + sprite->data[7] = FLDEFF_TRACKS_SLITHER; + StartSpriteAnim(sprite, gFieldEffectArguments[4]); + } + return spriteId; +} + void (*const gFadeFootprintsTireTracksFuncs[])(struct Sprite *) = { FadeFootprintsTireTracks_Step0, FadeFootprintsTireTracks_Step1 From ea5e081f74603dffe4e2cf2372f930a3686dbeaf Mon Sep 17 00:00:00 2001 From: Ariel A <24759293+aarant@users.noreply.github.com> Date: Mon, 21 Feb 2022 15:54:49 -0500 Subject: [PATCH 2/2] Fixed shadow palette tag. Fully removed permanent shadows. --- .../field_effects/pics/shadow_extra_large.png | Bin 152 -> 5188 bytes graphics/field_effects/pics/shadow_large.png | Bin 144 -> 4911 bytes graphics/field_effects/pics/shadow_medium.png | Bin 143 -> 4767 bytes graphics/field_effects/pics/shadow_small.png | Bin 143 -> 4807 bytes graphics/weather/fog.pal | 2 +- src/data/field_effects/field_effect_objects.h | 40 ++---------------- src/field_effect_helpers.c | 2 +- 7 files changed, 6 insertions(+), 38 deletions(-) diff --git a/graphics/field_effects/pics/shadow_extra_large.png b/graphics/field_effects/pics/shadow_extra_large.png index 765a5291a8d9eb0f6508e5d9e223c421112ca56b..eb334a976c597db39f56470dcb6e90b9123a3dd4 100644 GIT binary patch literal 5188 zcmeHKX;@Ro8V*~56p&RAgM?regzO1fWDyCF2%#822#9c!oP+>bOacV#?R5i-OGO0{ z1r)HBi()Gvf-5MC3aGe%Wzn{X;tFU*tWfSr!0oyHDOh1N2xeK8d9#13B}1EQk5E zgu&E3Pa|WFI=h-oifpR&lW|#tBe_Du>IqubGU?9V&Kmk8kz)%tw;gPy-S)44ef4hJ zWabuD)s|9PUasfSDBf?ISz`|>PAzmyJNJ{i|NPX#`hi~4ESGqb2eOdvKlc?rgI@{7 z?=tkSkE8Uw*rq7BKT$eVg=lx)w>@Ziy|sZiWr!2{b(DABk?l@3=`E|b%-_Gi8gpNC z;@o890g8UA?h6xZ&kVCss`-;ZOn5LVqpx8p{N#g;-dPG)J*3b1OFrtsRowcktD-K+ zn8pu}$jv=B6g(T4H8>ypJgB7C+$YLxa_?w$;lA!}x%AxefYhW8tJrPEIfvZJW4>FH zm1&x@X)n>&2=T5U{ieaM_FL*Of`T#Mp(QU7p)%%&2IDZbdyZs<1N zyxUrSVNdnE!%K`Rd%bs>j#Qpm)sh6;Pz78u`uWe)a8gN<>=$qNzM-|5>qqa|KdiHc zp>EHn`stXAGkjfkL<+ys{eI3wxXb0;b4{&tjAp4X;Wz3l2>T?SWi{PZBNk=Cbw$%U_j@m0h}TZwUYTqhH3^Tj!Wt?L@8*2t51?A+y8r*GLlPRT!e?{2JOf0@#AHB>Zcij|tCw&s5FYA4O3|G^LTt6kz`ZHGT_qHo!c@--MOa79EMOiI5Ae z*@aOq@Mdq*bhl%F0ji(Y$2r8=u$z_)>dFIwh@O$f%ZE(QIb>CoR9%oqTwFS(E0r~2 z`+A(EPc2S3C3;}{`tYv}5W&w)DMWSawy^!j2E3MsHP%}s8K(Bzk6Wfq=~_Mx8P1uV zsPq^o>M~Sn%k_-T{OFKso1UN zQM}@zElJGetV9@euixOfCBo2F6zj0kz;{HisiT9{>A!3uj+0<9(74*?PXC&|GkT{x z7KNEi=^rRRR2a_*6!fzkX_6rKI4uP&$?Vf*mPDS_1X&_*RgC#yln#6{qdXIRnZIA z4$rCMEdDFnYR}~SGo78KflCtR*3~^rxIRx_ug54REw`0i3cL~Ht~)IHgPk5fGJ7aS znUOR+@Q2PtPGlRUq0tGqqV!2he%hRY)Ev5=*^M!>7)nkYa%sDw52`vE_bXf|!}10K+mu z!uc6Ve3}5|;|=#z(;)&0r~;5`NwQQ)S9_tfymY9pF=J6kEku>%g^FT_BK>3v5J|$2 zFgUcoTAWHidBc&O3W1Q$VFb)jKrJs+f=VT)W3g#zX_z!3My3#9@iZC@iz8qO1T=&| zE7PSaK#i6voi!BG91Kv&SBT{*u}q58Z~{D8ipmRxg8Gqf=O>Y~+3)D3${7_PJ+Nv( zj>TheScwGtp@&lCp9+!8Oz3Ytl;P0TjOBnzS&D)W`lo_YmGg%b0{%OHd5R)g8;*dF z1(QJu1XV(#;y)TPki`yt=b@26B$mjvUXa)yAys1Gd$B&6o2Ew_&W96$+~4tjgnk>l z77U@-Y&t{6Pti<|#qdID#-|Hpe6fJ8tgm?>CP)@*yO2n2;?e>B^dL$g z6%=R(g8Zht_z8ei1VTG}CZ*om#ecJ0Gzv(@Qw1JqGQjgdllYLvfDjO(J@_~h$wTNt zgQWkMT`3c)(f|eMD}o}0qJdIK8x7KBMoia_@o5R5MkyQtkH(SE1X4JjLMPzqBpM1k z6D(G6jcUaBnrIGL-{LQSxKR5zJ{dtg2()Y7m zpXK@_1wIMFyvoZ7~Zw=*b< tw>B~QwJ_T-7>S(4!S8}0lXaaaFqnH=^e+*NQ;rZC#_|tg99Xg3j9Hh@&EqUA5s%2VrH0YF+Fpl-(pRmat2RVKbLh*2~7Zaj3H$J diff --git a/graphics/field_effects/pics/shadow_large.png b/graphics/field_effects/pics/shadow_large.png index e917823b05cd96f64884877479f9c8df82d73483..1695208af543eee620304317dd419295cbe6d44a 100644 GIT binary patch literal 4911 zcmeHKYg7~077ij+!B?dM3YIY_SHUEckiaA+0ummnCSpJkg~DVqA)|Sb2}uA^E=qlH z^~y^`@d3j1QSnjj)go#^xJVUIQL(nZuoSRXpruNElzS3TaozrLt=oTQt(=)T``h2% z`#bxbWY&jELdV!owx>`iV?<#>DY!!5J94-!7?*v1ub4uyJ&+o?*dRqskWQ~v5Goup zr08%6Hxmj9#eAz`%ktbuo})whk8PM`BM6Xjw}vh~4p*3Y5 zy0twmyL?{!eQiEp$!eP3zAiM|=}?E6zpHZjhRUB_c5|}sE_iVN=sM;!W!sC+-*eB_ zcb42!d8Kx)rfOSid-w}`uXZsu(DURm$Dh5FM$&_8+K0#4KkSUUSoiZDhkE3@m8Uw| zPsK&7@_pW{4eCv;nN!1GGp$r{rI`}Lu-o4;W7+(G&9%l|;dy=Kqis^0_x4pE=>DYb zN?J*2kKm(*y~3}*CgETAq|cUg;<1_+-nH(=EymyaQrwc7qfL)ZmmZ^+l2W5N9%aAl z9~zUMLgs*iNBE?=ZqHtIVP>n%x8G${)jN&L56N;_?0NM}M7an%v2pVJ$d6UZB3JW4 zrt^auv5evxm*u(rqt4cZ8yV5?H{+HnyOusNZgg`sWlnR<|1e6o`1*qUc&}|_Isb~} zrccz7?3R*@N!i~YnEIt>`;JgzL?8WdQ>)kIEyk@=#@;X&duPapk{@`ApVbTK&v zOlv?SV*@50{K(n$m-=ftK^)Q5e5qs$zaa9Mym4l`DkW~^_1bH>xDV+a6&EW=F_Pmx zt#YDgUSJl)9yHG^k5Vlu`AU|Y6;Lt4UEh(jX~oU^q1WpDwq>_qAG-hB zip(3yxlTUgvFYPa1XD&eX2%$$ZAUKC6h~o6uxxRWQ?Vr5W#mIhlK1hWKc+sdrS1EJ zp;?jV;Bb4vW-u_$r~mlmvnBEI+nuJX=KkbzXm?0;k1Hn)53L*%ap(4LDbEXiS1jtD zyiooP6{DKH&QztGY+E#M(n*f)#r>NHiGPsg$!^^Rk)`Sbb?}rk z_svO7cMT6!=L(%w{>X`+DGp6v#t>Dz4$HDAnq&T?Pnpv!iVdnze>f-&&s0Eo(Gg>#7@M6YKOv?9is-8=D zAAgvj?{sDpVbWMPyOzw=?%9h*I48zUiM0#twykY!6kQ4ay|N)4o4# zTh-_lF}i>F?tTB-DXGnhUAbsvRn0#~em1@){c+b;Fr_fwfLo_#RbcDeA(3y?=owj_oPG3Zh^z*g;DKnCOq7?+uo76 zWRY}q8R7r9)&1WuXX-^i9LUJQY&bKOz21 zbg_6o57VmYs9Y<<>1MSKoU#-O-`}i5vE{e{lHrMjMnLU4b(RVdasf4(BZkGgAY4g= zrRwpBR7oV3x*X%mss3~9`DPvso|Y$l8>>KuEBua_%$Qens-1$Yurl?H>3$6%ODCc4RouGJ?pm|QNG0kaq^ z77ZY1WQxXsnrRx+!$L8@A;d{cPv{JURs&f$QJFT`AfQr#9eS0YS|=92rq_^zDgZqg zW>m*u(qV>L%^2!I8iI|0WH6yW^&lg`j}b$PliFlGh6fvQjlp9mg&ceBuS?detmVit z2Cl-@07`V!aW2A^$zYlfE|b&P3IwCcI9x6b#W0xT!{IX7 z3dImAk%ly&8Vt8k0dhJ4cn}3DM-bSD2Fv^q8XM!nGz9ju3^GI^Lu6d8+;0fQ0zCn` z5>*Y&%0eXvR4iYVEw`}1uneQIxiW-?UGge^8&*~0xF9RznKYFp#}wT0DFMY$h9W&jVY2);}Hhbq9@?zvbbE9AHwv7 zIlk;SpeS5Vf?l++GGRJvz+zb#9w-M$i&{Dr5Li7xHM}4_jvBQ3NUc^SpjwiGES}Z| zhxh}_5=M{!kz(oj!LEoPnL_L;BpaE!J+y1uw+1E7-)=hP#R0lMOiGlFN*m2yve04;ufV~7Lx|EX)Jam(~rku@|XyfF<30avZr5F%V+$L9(*fc$RPmy z2Ij!w0?sPN>%(eLFN=hK;b(9i{=x`=`hAdh()Ybw@8xOn#zPsMb^-c=B6Zn01 z{omxWfAhM7YrsDs6L^`~ST#ZqUWDNA`H{h7U0MJ2z)9}c&7AtnJkSA6s#eD1>ur`8%R1n+yDWz1++y< zomyrQD`2J1K9fTShWry>Juwc-bp~k_4>!PUjLD`?zGRhzq9vu z_Sq|^C@ON9jpcimBofI+DBz31(-vG7rY7KSyh>V6BAGbn#H`Yaku0)Wqmtw47+IUG z#>kismy<}kU+z1SYe)fu#}b5cgLFZ{7*@4z_ov~+wq>}Dr_6(GiSZ= zvC+O=y%YJxp>l`XgmYfmNv^zTaz#+%f!v44*sTpGH}1H`T_SBTt#jF0cK(m@n&+MK z>;&g7r3sHw-zBALM^He4*1ZnN6QX- zM0_VWa<6M%)!>$G8O>kF=U%#!cYOS&cS2o+wa-_^8H-{3-oIAxHszapFTMFzRCsc2 z^^u~i>+@sl+84(kb*x}sw@>-w9V^Aj>|<#%_0>6km69(Wm>s(`!5{DLuHJW}D3)=* z&3Jh62^sFrO%mxDUGSp& zdyVQXesC*rH8R>Ipm;ny_Z`2jE`NExYhrGlu~BQ=f)yHDVIF#X-H`JhZn@jS)av-O zalxrf25GUxUcGsg_{G<@xK*SB4;bViQJK0X3o@@U(ULJ_u}o^vpX(UHN2hrH0D2y zkh`p+Vy8`O$+mrAB(u)q$^gs!{?O(MBo~e2FD+Ty@_W;!e2L?kwLKg9gKj9VCRq#& zo^@b1cTbpt+xp;PZnMM1XV0#{RHa?Q6}87Dt3v~x?Uv5x6e-uC#(^sz)Q#UcGikH_ zO1HM*C=}-;AE4bD&ipy9yDRQ||Je7BDtG5mfZrv`oddnoxc+{m=`;~5kPTqTwHDXs7A74_`RrFKFQSzu;pGV;Ut33V5 z!;bwmqAt6_qEE#R;j25&9Ssc>xs=+MK0LuL#Lg#Hm!|GKIMTkx(Wk-Nsj=53#5i0) zF*BNXr{QZ$J9@%Ov2{HjG(5QQ(1e#pc;g>=+fgH?r>!FB>B8s3mpvmz9AOKq`;jz$ zVO_AqA%*F4cl?(F2_NK*I2{&$_-BG$#f1Bb3m0ma1*bS4K0KV#^S=6s3BLwj;h<<= z)|=>KJd*ralr4Gi?(IY(Cv9Ztu~C~i?&p9XTU=?ewf8d0v&J&Vo{Usxei9Tvq}lm{ zXtghBXO1{%TdPD798{(7MPw=|=BrbvL0cn{0)upF1Wm)VWGR-6E4h@BV<#zOT*jru zF-0_ynun#}f*cJNof8>@=A@x)86{|mWuT4&2o#tWA?p`srDF;JCBUro*QQ)16h*!C&`XevE7S%rAogoWEiQj0)@!lpM-1uA z3a_(q(d%KWzq;P)TSJC5q{(0J$#?c>GyXIgGFoC?Ej#gJ2Y9Kx`>OgAf{u zVl)N{86k^L{G>9(s$K-Mb3QO6T zfl7vQmZ~%g1S}`6K$0=4TA6GZ&q+;gvl(nQ17`Zcph*2+fnqTY0cugtN~ifUV8e)hVK^WiAT6S=R6t;`gKRiF z4Tfk{ni!QTolDV&K-PO23Y;7`wJZXh0EldT%}-Z-G`4o?Yibjuud@>>xi$;YU?IsMQ;-cPAwxD~&uKBeUdLypV0xu!3_3)EAqE^n58yCp9GFR= zPA5y%@97uW22%e=k3a)pMiT&jQ#R0CK(C^{Y*y2H=_ULdf79#mH_ia4XD4|heP`vG zmFtZZcq8y^bExKY6KX zvbE$|36UETGFjhrDK)n^L|oGP1VC)*;--3OE)l|JJ5Ekc0!yu{!(;F;l7=tilQx+x z5P*+4YC$|fB3aq#FC$V_wIeW^YlWgP^WRJz?dL-~?%7oV(|baGNQ^}vD*4fbm2BK% i>S-hG+-SVfBEp8$5N+q`sJ?s;ph&{7NPc6eq~O1~4GgXT delta 86 zcmbQQ+Rr#adGbF&MenHYy#j_oTb3kM7du*7O8o!-pMilvHh11}ASLDL;uyj)GdbY^ p^N;_`2iY}vlm50dwQ%_GG92cTe|U0_SQ$_igQu&X%Q~loCID}b9-#mL diff --git a/graphics/field_effects/pics/shadow_small.png b/graphics/field_effects/pics/shadow_small.png index f5feada2b96633ca74e5281fa01fa7fd59aff536..6cd37c5f23a54d2ea919da42888fa1bb2f98384a 100644 GIT binary patch literal 4807 zcmeHKX;c&05)P{fxFX8{Y7C+%c9ITFAQ5B3%M9uqL`6XuKv@Ps!Id+D3o0VwL!TS(CZNKZ`Qtfn{+V++-CeiptE#W+R&p~# z<_3;1wKXM?NF%sGetd8@(O!lI;F~$=U=fLAz)1=XSMgCbS)r7RaS29NB`Pp7roqJ| zlIB+Dj>XCuQ_a&`Bm8%yP4*VBkex@Lk+0T|O0AB3*0$V(#?3usi~7v=-5dSv?a~z^ zUk{tmE1~+G$)5jG<2!PfneoHdhmYl@gn#&$L#R%wn+-XRTa?G=ykz$9%?Web?zo0WIPPrTkK^<+ii>O-;L;Vouy2 z-?HXr?61K)rWlJYHAag{1p6Pj(bU_`H`$?%78}NtM7y0+pPn~jBRo5=>h^Z$@`|1i z@&>M~H{6Jf)UmUiOJkB#riAI07G0CHM0eko3D&EcZX9!n*k@$s(Eh`XpxY>E+N!Q~ z(IFixQz)6)RnDizPTFid%P3uvw{e7tQ-EyUw$(xU_H7+@txm_!*e8ay)#S^1-T;W>(pS-BT8~+~2{xE4jM(h|^x%Wyg*za}6V)jeC$g7Lcp- zhSE8g9egBXLh_Sa#~&>*4whD#IBY^xEma32o2oj)_uhKi^f>>I^-Yll)~+c>lXmY* z%q_1rFLxik?&;*TRS&Cc?ABhA9oSQoBF@RGTF02{zHtgX+C0~NWO2&}&ht%s%>D|z z^Jem+DaGn7gvH&d?RjTYy^q%}-SeaZ^6jyy%TFrpe(D&3a?Zw&IG^70sMD-tNz|L$ zf66(1aU6rNGF#cTTABFnhr*X9>uzR0AKx&i82k#IxRbv+-_=aC|3Isdk=Q` z_q5-+aM->tIeke@eO&cN=9%W{?!F*94oUp>6 z@?d3qTPk%8iKMp%=Ws%}9L}fh1U6Al>Q>L7%ii`COTF?b+gB}gy1!*VJ7Tou^6cqW zrM|fH=_k?34r>Gt;z!yWHLqGdas7f})-h4zBaM7s7?ju6avS`E-!J9Ij%h1h?se~O z@|_C?=WD0WH}5mtS8ynAZu#2C9~PLLFWYRAKDsQe${gAiQBxM5a`*D(=5sdnO0Ul{TyB(SxGg{quN_t<`{F=wBx5&s` z%eS5#Rdc1-*Mn!j-E#ZO3#<&RZgI}`Ww~d%s+Zc#C~*GnM5Dcr{_G%%k>1!R1^Y}b z;6)4g=J~kS^ZOHj|1eF-Z9kf}RjB9cG+OHQX5#zjH=O43*xXY0KYIib6AyYvTgST2 zc>1oTaM9GXuJ4NYGe0h}`02ys3k?ki0=;AHii)1cUYnpeYv7lMd~YqS4s2XJL%%EL z6)!RRh1KK5L{eN=+bg{)e%MvFOQnH6`@Vd8aSHcRfh&E+z2``EY#-0rh z##=aV4qGUfQc;myfKfG41sH!Ml82W@fePa=6-ykuLO;c5%PGY5c5yKWGaWj5F+7cdquob zqDx04q+t?F3RDT;6&~U;kjo4CY@wwf2A3*yR)FjwnkroUg{&d5X;*aV3=RaCf5si6 z{V8{yGSK4j*nVv z5>JXYD6-a4*WhH2{;~w&1kgy-_WVHC&&QVczx8hd39efrlXZ>DMuq)O2s8l`=^O#O z{v}~7DvQCu4j*W#PjdVp$^}X+bY(EzAQ6U%AViG8kUJs}K$x40J1PVTqPqw5=8U&X*zDSzv( zZ*+YX17D^5t-JnjbeVoR?qD+T4@eCTGl>DswcsE`51A9{PgLahT|eDdk$o?lNcQpR z%Rha6S@L=xes)DKP#F#LPv;Ag2_F{ArmwFLNDfT0eg$rNg4uz7q;*E)gTTvhMNkAm zBAHoeFFn%k92+1UrsDGahdnT~u^eZ{{cA@I5ZQA5d_ql{h0)#yITmS}hc&~^T~?CH b^fUEHVTHpW%-ixOphe>P&-FXu8@=j(7?>nJ delta 86 zcmX@E+Rr#ad9s?2qIXpHUID|PElZNBiybX3CI0{a&%nSSn>+6~kdpFraSY*@nVjIj p{71gw$N&HQJpUUR4l#8yGECy*{>oQV+zwR5;OXk;vd$@?2>?w89&P{t diff --git a/graphics/weather/fog.pal b/graphics/weather/fog.pal index 6191b66928..1f40dd4e74 100644 --- a/graphics/weather/fog.pal +++ b/graphics/weather/fog.pal @@ -10,7 +10,7 @@ JASC-PAL 213 213 213 222 222 222 164 164 164 -255 0 255 +0 0 0 255 0 255 255 0 255 180 180 180 diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index 9e22ec05eb..00b95340ea 100755 --- a/src/data/field_effects/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -28,45 +28,13 @@ static const struct SpriteFrameImage sPicTable_ShadowExtraLarge[] = { obj_frame_tiles(gFieldEffectObjectPic_ShadowExtraLarge), }; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = { - .tileTag = TAG_NONE, - .paletteTag = OBJ_EVENT_PAL_TAG_MAY, - .oam = &gObjectEventBaseOam_8x8, - .anims = sAnimTable_Shadow, - .images = sPicTable_ShadowSmall, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateShadowFieldEffect, -}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowSmall = {0xFFFF, TAG_WEATHER_START, &gObjectEventBaseOam_8x8, sAnimTable_Shadow, sPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = { - .tileTag = TAG_NONE, - .paletteTag = OBJ_EVENT_PAL_TAG_MAY, - .oam = &gObjectEventBaseOam_16x8, - .anims = sAnimTable_Shadow, - .images = sPicTable_ShadowMedium, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateShadowFieldEffect, -}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowMedium = {0xFFFF, TAG_WEATHER_START, &gObjectEventBaseOam_16x8, sAnimTable_Shadow, sPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = { - .tileTag = TAG_NONE, - .paletteTag = OBJ_EVENT_PAL_TAG_MAY, - .oam = &gObjectEventBaseOam_32x8, - .anims = sAnimTable_Shadow, - .images = sPicTable_ShadowLarge, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateShadowFieldEffect, -}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowLarge = {0xFFFF, TAG_WEATHER_START, &gObjectEventBaseOam_32x8, sAnimTable_Shadow, sPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; -const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = { - .tileTag = TAG_NONE, - .paletteTag = OBJ_EVENT_PAL_TAG_MAY, - .oam = &gObjectEventBaseOam_64x32, - .anims = sAnimTable_Shadow, - .images = sPicTable_ShadowExtraLarge, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateShadowFieldEffect, -}; +const struct SpriteTemplate gFieldEffectObjectTemplate_ShadowExtraLarge = {0xFFFF, TAG_WEATHER_START, &gObjectEventBaseOam_64x32, sAnimTable_Shadow, sPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect}; static const struct SpriteFrameImage sPicTable_TallGrass[] = { overworld_frame(gFieldEffectObjectPic_TallGrass, 2, 2, 0), diff --git a/src/field_effect_helpers.c b/src/field_effect_helpers.c index 0a5fdd9733..d47c402629 100755 --- a/src/field_effect_helpers.c +++ b/src/field_effect_helpers.c @@ -352,7 +352,7 @@ void UpdateShadowFieldEffect(struct Sprite *sprite) sprite->x = linkedSprite->x; sprite->y = linkedSprite->y + sprite->data[3]; sprite->invisible = linkedSprite->invisible; - if (!objectEvent->active + if (!objectEvent->active || !objectEvent->hasShadow || MetatileBehavior_IsPokeGrass(objectEvent->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(objectEvent->currentMetatileBehavior) || MetatileBehavior_IsSurfableWaterOrUnderwater(objectEvent->previousMetatileBehavior))