summaryrefslogtreecommitdiff
path: root/src/data/field_effects
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/field_effects')
-rw-r--r--src/data/field_effects/field_effect_object_graphics.h48
-rw-r--r--src/data/field_effects/field_effect_object_template_pointers.h84
-rw-r--r--src/data/field_effects/field_effect_objects.h897
3 files changed, 1029 insertions, 0 deletions
diff --git a/src/data/field_effects/field_effect_object_graphics.h b/src/data/field_effects/field_effect_object_graphics.h
new file mode 100644
index 000000000..e06fc7260
--- /dev/null
+++ b/src/data/field_effects/field_effect_object_graphics.h
@@ -0,0 +1,48 @@
+#ifndef POKERUBY_FIELD_EFFECT_OBJECT_GFX_H
+#define POKERUBY_FIELD_EFFECT_OBJECT_GFX_H
+
+const u32 gFieldEffectPic_ShadowSmall[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_small.4bpp");
+const u32 gFieldEffectPic_ShadowMedium[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_medium.4bpp");
+const u32 gFieldEffectPic_ShadowLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_large.4bpp");
+const u32 gFieldEffectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/field_effect_objects/pics/shadow_extra_large.4bpp");
+const u32 filler_8368A08[0x48] = {};
+const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/field_effect_objects/pics/cut_grass.4bpp");
+const u32 FieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/field_effect_objects/pics/cut_grass.4bpp");
+const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/field_effect_objects/palettes/06.gbapal");
+const u32 gFieldEffectPic_Ripple[] = INCBIN_U32("graphics/field_effect_objects/pics/ripple.4bpp");
+const u32 gFieldEffectPic_Ash[] = INCBIN_U32("graphics/field_effect_objects/pics/ash.4bpp");
+const u32 gFieldEffectPic_Arrow[] = INCBIN_U32("graphics/field_effect_objects/pics/arrow.4bpp");
+const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/field_effect_objects/palettes/00.gbapal");
+const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/field_effect_objects/palettes/01.gbapal");
+const u32 gFieldEffectPic_Dust[] = INCBIN_U32("graphics/field_effect_objects/pics/dust.4bpp");
+const u32 unknown_8369588[] = INCBIN_U32("graphics/field_effect_objects/unknown.bin");
+const u32 gFieldEffectPic_JumpTallGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_tall_grass.4bpp");
+const u32 gFieldEffectPic_UnusedGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/unused_grass.4bpp");
+const u32 gFieldEffectPic_JumpLongGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_long_grass.4bpp");
+const u32 gFieldEffectPic_Unknown17[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_17.4bpp");
+const u32 gFieldEffectPic_Unknown18[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_18.4bpp");
+const u32 gFieldEffectPic_LongGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/long_grass.4bpp");
+const u32 gFieldEffectPic_TallGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/tall_grass.4bpp");
+const u32 gFieldEffectPic_ShortGrass[] = INCBIN_U32("graphics/field_effect_objects/pics/short_grass.4bpp");
+const u32 gFieldEffectPic_SandFootprints[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_footprints.4bpp");
+const u32 gFieldEffectPic_DeepSandFootprints[] = INCBIN_U32("graphics/field_effect_objects/pics/deep_sand_footprints.4bpp");
+const u32 gFieldEffectPic_BikeTireTracks[] = INCBIN_U32("graphics/field_effect_objects/pics/bike_tire_tracks.4bpp");
+const u32 gFieldEffectPic_Unknown19[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_19.4bpp");
+const u32 gFieldEffectPic_SandPile[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_pile.4bpp");
+const u32 gFieldEffectPic_JumpBigSplash[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_big_splash.4bpp");
+const u32 gFieldEffectPic_Splash[] = INCBIN_U32("graphics/field_effect_objects/pics/splash.4bpp");
+const u32 gFieldEffectPic_JumpSmallSplash[] = INCBIN_U32("graphics/field_effect_objects/pics/jump_small_splash.4bpp");
+const u32 gFieldEffectPic_Unknown20[] = INCBIN_U32("graphics/field_effect_objects/pics/unknown_20.4bpp");
+const u32 gFieldEffectPic_TreeDisguise[] = INCBIN_U32("graphics/field_effect_objects/pics/tree_disguise.4bpp");
+const u32 gFieldEffectPic_MountainDisguise[] = INCBIN_U32("graphics/field_effect_objects/pics/mountain_disguise.4bpp");
+const u32 gFieldEffectPic_SandDisguise[] = INCBIN_U32("graphics/field_effect_objects/pics/sand_disguise.4bpp");
+const u32 gFieldEffectPic_HotSpringsWater[] = INCBIN_U32("graphics/field_effect_objects/pics/hot_springs_water.4bpp");
+const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/field_effect_objects/palettes/02.gbapal");
+const u32 gFieldEffectPic_PopOutOfAsh[] = INCBIN_U32("graphics/field_effect_objects/pics/pop_out_of_ash.4bpp");
+const u32 gFieldEffectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/field_effect_objects/pics/lavaridge_gym_warp.4bpp");
+const u32 gFieldEffectPic_Bubbles[] = INCBIN_U32("graphics/field_effect_objects/pics/bubbles.4bpp");
+const u32 gFieldEffectPic_Sparkle[] = INCBIN_U32("graphics/field_effect_objects/pics/sparkle.4bpp");
+const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/field_effect_objects/palettes/03.gbapal");
+const u32 gFieldEffectPic_Bird[] = INCBIN_U32("graphics/field_effect_objects/pics/bird.4bpp");
+
+#endif // POKERUBY_FIELD_EFFECT_OBJECT_GFX_H
diff --git a/src/data/field_effects/field_effect_object_template_pointers.h b/src/data/field_effects/field_effect_object_template_pointers.h
new file mode 100644
index 000000000..682816ed9
--- /dev/null
+++ b/src/data/field_effects/field_effect_object_template_pointers.h
@@ -0,0 +1,84 @@
+//
+
+//
+
+#ifndef POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
+#define POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Arrow;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Reflection;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Bird;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_PopOutOfAsh;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_LavaridgeGymWarp;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles;
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle;
+
+const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
+ &gFieldEffectSpriteTemplate_ShadowSmall,
+ &gFieldEffectSpriteTemplate_ShadowMedium,
+ &gFieldEffectSpriteTemplate_ShadowLarge,
+ &gFieldEffectSpriteTemplate_ShadowExtraLarge,
+ &gFieldEffectSpriteTemplate_TallGrass,
+ &gFieldEffectSpriteTemplate_Ripple,
+ &gFieldEffectSpriteTemplate_Ash,
+ &gFieldEffectSpriteTemplate_SurfBlob,
+ &gFieldEffectSpriteTemplate_Arrow,
+ &gFieldEffectSpriteTemplate_Dust,
+ &gFieldEffectSpriteTemplate_JumpTallGrass,
+ &gFieldEffectSpriteTemplate_SandFootprints,
+ &gFieldEffectSpriteTemplate_JumpBigSplash,
+ &gFieldEffectSpriteTemplate_Splash,
+ &gFieldEffectSpriteTemplate_JumpSmallSplash,
+ &gFieldEffectSpriteTemplate_LongGrass,
+ &gFieldEffectSpriteTemplate_JumpLongGrass,
+ &gFieldEffectSpriteTemplate_Unknown17,
+ &gFieldEffectSpriteTemplate_Unknown18,
+ &gFieldEffectSpriteTemplate_Unknown19,
+ &gFieldEffectSpriteTemplate_Unknown20,
+ &gFieldEffectSpriteTemplate_Reflection,
+ &gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle,
+ &gFieldEffectSpriteTemplate_DeepSandFootprints,
+ &gFieldEffectSpriteTemplate_TreeDisguise,
+ &gFieldEffectSpriteTemplate_MountainDisguise,
+ &gFieldEffectSpriteTemplate_Bird,
+ &gFieldEffectSpriteTemplate_BikeTireTracks,
+ &gFieldEffectSpriteTemplate_SandDisguise,
+ &gFieldEffectSpriteTemplate_SandPile,
+ &gFieldEffectSpriteTemplate_ShortGrass,
+ &gFieldEffectSpriteTemplate_HotSpringsWater,
+ &gFieldEffectSpriteTemplate_PopOutOfAsh,
+ &gFieldEffectSpriteTemplate_LavaridgeGymWarp,
+ &gFieldEffectSpriteTemplate_Bubbles,
+ &gFieldEffectSpriteTemplate_Sparkle
+};
+
+#endif //POKERUBY_FIELD_EFFECT_OBJECT_TEMPLATE_POINTERS_H
diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h
new file mode 100644
index 000000000..d5d2f2016
--- /dev/null
+++ b/src/data/field_effects/field_effect_objects.h
@@ -0,0 +1,897 @@
+//
+
+//
+
+#ifndef POKERUBY_FIELD_EFFECT_OBJECTS_H
+#define POKERUBY_FIELD_EFFECT_OBJECTS_H
+
+const struct SpritePalette gFieldEffectObjectPaletteInfo0 = {gFieldEffectObjectPalette0, 0x1004};
+
+const struct SpritePalette gFieldEffectObjectPaletteInfo1 = {gFieldEffectObjectPalette1, 0x1005};
+
+const union AnimCmd gFieldEffectAnim_8374534[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Shadow[] = {
+ gFieldEffectAnim_8374534
+};
+
+const struct SpriteFrameImage gFieldEffectPicTable_ShadowSmall[] = {
+ overworld_frame(gFieldEffectPic_ShadowSmall, 1, 1, 0)
+};
+
+const struct SpriteFrameImage gFieldEffectPicTable_ShadowMedium[] = {
+ overworld_frame(gFieldEffectPic_ShadowMedium, 2, 1, 0)
+};
+
+const struct SpriteFrameImage gFieldEffectPicTable_ShadowLarge[] = {
+ overworld_frame(gFieldEffectPic_ShadowLarge, 4, 1, 0)
+};
+
+const struct SpriteFrameImage gFieldEffectPicTable_ShadowExtraLarge[] = {
+ overworld_frame(gFieldEffectPic_ShadowExtraLarge, 8, 4, 0)
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowSmall = {0xFFFF, 0xFFFF, &gFieldOamData_8x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowSmall, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowMedium = {0xFFFF, 0xFFFF, &gFieldOamData_16x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowMedium, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowLarge = {0xFFFF, 0xFFFF, &gFieldOamData_32x8, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShadowExtraLarge = {0xFFFF, 0xFFFF, &gFieldOamData_64x32, gFieldEffectAnimTable_Shadow, gFieldEffectPicTable_ShadowExtraLarge, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_TallGrass[] = {
+ overworld_frame(gFieldEffectPic_TallGrass, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_TallGrass, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_TallGrass, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_TallGrass, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_TallGrass, 2, 2, 4)
+};
+
+const union AnimCmd gFieldEffectAnim_83745E8[] = {
+ ANIMCMD_FRAME(1, 10),
+ ANIMCMD_FRAME(2, 10),
+ ANIMCMD_FRAME(3, 10),
+ ANIMCMD_FRAME(4, 10),
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_TallGrass[] = {
+ gFieldEffectAnim_83745E8
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_TallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_TallGrass, gFieldEffectPicTable_TallGrass, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Ripple[] = {
+ overworld_frame(gFieldEffectPic_Ripple, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Ripple, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Ripple, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Ripple, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_Ripple, 2, 2, 4)
+};
+
+const union AnimCmd gFieldEffectAnim_8374644[] = {
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(2, 9),
+ ANIMCMD_FRAME(3, 9),
+ ANIMCMD_FRAME(0, 9),
+ ANIMCMD_FRAME(1, 9),
+ ANIMCMD_FRAME(2, 11),
+ ANIMCMD_FRAME(4, 11),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Ripple[] = {
+ gFieldEffectAnim_8374644
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Ripple = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ripple, gFieldEffectPicTable_Ripple, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Ash[] = {
+ overworld_frame(gFieldEffectPic_Ash, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Ash, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Ash, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Ash, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_Ash, 2, 2, 4)
+};
+
+const union AnimCmd gFieldEffectAnim_83746AC[] = {
+ ANIMCMD_FRAME(0, 12),
+ ANIMCMD_FRAME(1, 12),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 12),
+ ANIMCMD_FRAME(4, 12),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Ash[] = {
+ gFieldEffectAnim_83746AC
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Ash = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Ash, gFieldEffectPicTable_Ash, gDummySpriteAffineAnimTable, UpdateAshFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_SurfBlob[] = {
+ overworld_frame(gFieldEffectPic_SurfBlob, 4, 4, 0),
+ overworld_frame(gFieldEffectPic_SurfBlob, 4, 4, 1),
+ overworld_frame(gFieldEffectPic_SurfBlob, 4, 4, 2)
+};
+
+const union AnimCmd gFieldEffectAnim_83746F8[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gFieldEffectAnim_8374700[] = {
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gFieldEffectAnim_8374708[] = {
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gFieldEffectAnim_8374710[] = {
+ ANIMCMD_FRAME(2, 1, .hFlip = TRUE),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_SurfBlob[] = {
+ gFieldEffectAnim_83746F8,
+ gFieldEffectAnim_8374700,
+ gFieldEffectAnim_8374708,
+ gFieldEffectAnim_8374710
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SurfBlob = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_SurfBlob, gFieldEffectPicTable_SurfBlob, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Arrow[] = {
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 4),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 5),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 6),
+ overworld_frame(gFieldEffectPic_Arrow, 2, 2, 7)
+};
+
+const union AnimCmd gFieldEffectAnim_8374780[] = {
+ ANIMCMD_FRAME(3, 32),
+ ANIMCMD_FRAME(7, 32),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gFieldEffectAnim_837478C[] = {
+ ANIMCMD_FRAME(0, 32),
+ ANIMCMD_FRAME(4, 32),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gFieldEffectAnim_8374798[] = {
+ ANIMCMD_FRAME(1, 32),
+ ANIMCMD_FRAME(5, 32),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gFieldEffectAnim_83747A4[] = {
+ ANIMCMD_FRAME(2, 32),
+ ANIMCMD_FRAME(6, 32),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Arrow[] = {
+ gFieldEffectAnim_8374780,
+ gFieldEffectAnim_837478C,
+ gFieldEffectAnim_8374798,
+ gFieldEffectAnim_83747A4
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Arrow = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_Arrow, gFieldEffectPicTable_Arrow, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Dust[] = {
+ overworld_frame(gFieldEffectPic_Dust, 2, 1, 0),
+ overworld_frame(gFieldEffectPic_Dust, 2, 1, 1),
+ overworld_frame(gFieldEffectPic_Dust, 2, 1, 2)
+};
+
+const union AnimCmd gFieldEffectAnim_83747F0[] = {
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Dust[] = {
+ gFieldEffectAnim_83747F0
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Dust = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Dust, gFieldEffectPicTable_Dust, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_JumpTallGrass[] = {
+ overworld_frame(gFieldEffectPic_JumpTallGrass, 2, 1, 0),
+ overworld_frame(gFieldEffectPic_JumpTallGrass, 2, 1, 1),
+ overworld_frame(gFieldEffectPic_JumpTallGrass, 2, 1, 2),
+ overworld_frame(gFieldEffectPic_JumpTallGrass, 2, 1, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_837483C[] = {
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_JumpTallGrass[] = {
+ gFieldEffectAnim_837483C
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpTallGrass = {0xFFFF, 0x1005, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpTallGrass, gFieldEffectPicTable_JumpTallGrass, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_SandFootprints[] = {
+ overworld_frame(gFieldEffectPic_SandFootprints, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_SandFootprints, 2, 2, 1)
+};
+
+const union AnimCmd gFieldEffectAnim_837487C[] = {
+ ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374884[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_837488C[] = {
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374894[] = {
+ ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_SandFootprints[] = {
+ gFieldEffectAnim_837487C,
+ gFieldEffectAnim_837487C,
+ gFieldEffectAnim_8374884,
+ gFieldEffectAnim_837488C,
+ gFieldEffectAnim_8374894
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_SandFootprints, gFieldEffectPicTable_SandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_DeepSandFootprints[] = {
+ overworld_frame(gFieldEffectPic_DeepSandFootprints, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_DeepSandFootprints, 2, 2, 1)
+};
+
+const union AnimCmd gFieldEffectAnim_83748D8[] = {
+ ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_83748E0[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_83748E8[] = {
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_83748F0[] = {
+ ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_DeepSandFootprints[] = {
+ gFieldEffectAnim_83748D8,
+ gFieldEffectAnim_83748D8,
+ gFieldEffectAnim_83748E0,
+ gFieldEffectAnim_83748E8,
+ gFieldEffectAnim_83748F0
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_DeepSandFootprints = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_DeepSandFootprints, gFieldEffectPicTable_DeepSandFootprints, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_BikeTireTracks[] = {
+ overworld_frame(gFieldEffectPic_BikeTireTracks, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_BikeTireTracks, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_BikeTireTracks, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_BikeTireTracks, 2, 2, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_8374944[] = {
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_837494C[] = {
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374954[] = {
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_837495C[] = {
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374964[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_837496C[] = {
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374974[] = {
+ ANIMCMD_FRAME(3, 1, .hFlip = TRUE),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_837497C[] = {
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_BikeTireTracks[] = {
+ gFieldEffectAnim_8374944,
+ gFieldEffectAnim_8374944,
+ gFieldEffectAnim_837494C,
+ gFieldEffectAnim_8374954,
+ gFieldEffectAnim_837495C,
+ gFieldEffectAnim_8374964,
+ gFieldEffectAnim_837496C,
+ gFieldEffectAnim_8374974,
+ gFieldEffectAnim_837497C
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_BikeTireTracks = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_BikeTireTracks, gFieldEffectPicTable_BikeTireTracks, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_JumpBigSplash[] = {
+ overworld_frame(gFieldEffectPic_JumpBigSplash, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_JumpBigSplash, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_JumpBigSplash, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_JumpBigSplash, 2, 2, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_83749E0[] = {
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_JumpBigSplash[] = {
+ gFieldEffectAnim_83749E0
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpBigSplash = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpBigSplash, gFieldEffectPicTable_JumpBigSplash, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Splash[] = {
+ overworld_frame(gFieldEffectPic_Splash, 2, 1, 0),
+ overworld_frame(gFieldEffectPic_Splash, 2, 1, 1)
+};
+
+const union AnimCmd gFieldEffectAnim_8374A20[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374A2C[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Splash[] = {
+ gFieldEffectAnim_8374A20,
+ gFieldEffectAnim_8374A2C
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Splash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_Splash, gFieldEffectPicTable_Splash, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_JumpSmallSplash[] = {
+ overworld_frame(gFieldEffectPic_JumpSmallSplash, 2, 1, 0),
+ overworld_frame(gFieldEffectPic_JumpSmallSplash, 2, 1, 1),
+ overworld_frame(gFieldEffectPic_JumpSmallSplash, 2, 1, 2)
+};
+
+const union AnimCmd gFieldEffectAnim_8374A88[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_JumpSmallSplash[] = {
+ gFieldEffectAnim_8374A88
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpSmallSplash = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_JumpSmallSplash, gFieldEffectPicTable_JumpSmallSplash, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_LongGrass[] = {
+ overworld_frame(gFieldEffectPic_LongGrass, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_LongGrass, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_LongGrass, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_LongGrass, 2, 2, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_8374AD4[] = {
+ ANIMCMD_FRAME(1, 3),
+ ANIMCMD_FRAME(2, 3),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_LongGrass[] = {
+ gFieldEffectAnim_8374AD4
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_LongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_LongGrass, gFieldEffectPicTable_LongGrass, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_JumpLongGrass[] = {
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 4),
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 6)
+};
+
+const union AnimCmd gFieldEffectAnim_8374B40[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(5, 8),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_JumpLongGrass[] = {
+ gFieldEffectAnim_8374B40
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_JumpLongGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_JumpLongGrass, gFieldEffectPicTable_JumpLongGrass, gDummySpriteAffineAnimTable, UpdateJumpLandingFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Unknown17[] = {
+ overworld_frame(gFieldEffectPic_JumpLongGrass, 2, 2, 6),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 4),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 5),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 6),
+ overworld_frame(gFieldEffectPic_Unknown17, 2, 2, 7)
+};
+
+const union AnimCmd gFieldEffectAnim_8374BC0[] = {
+ ANIMCMD_FRAME(0, 10),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(5, 4),
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_JUMP(7)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Unknown17[] = {
+ gFieldEffectAnim_8374BC0
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown17 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown17, gFieldEffectPicTable_Unknown17, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Unknown18[] = {
+ overworld_frame(gFieldEffectPic_Unknown18, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Unknown18, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Unknown18, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Unknown18, 2, 2, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_8374C24[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Unknown18[] = {
+ gFieldEffectAnim_8374C24
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown18 = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown18, gFieldEffectPicTable_Unknown18, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Unknown19[] = {
+ overworld_frame(gFieldEffectPic_Unknown19, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Unknown19, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Unknown19, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Unknown19, 2, 2, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_8374C7C[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Unknown19[] = {
+ gFieldEffectAnim_8374C7C
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown19 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown19, gFieldEffectPicTable_Unknown19, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
+
+const struct SpriteFrameImage gFieldEffectPicTable_SandPile[] = {
+ overworld_frame(gFieldEffectPic_SandPile, 2, 1, 0),
+ overworld_frame(gFieldEffectPic_SandPile, 2, 1, 1),
+ overworld_frame(gFieldEffectPic_SandPile, 2, 1, 2)
+};
+
+const union AnimCmd gFieldEffectAnim_8374CC4[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_SandPile[] = {
+ gFieldEffectAnim_8374CC4
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SandPile = {0xFFFF, 0x1004, &gFieldOamData_16x8, gFieldEffectAnimTable_SandPile, gFieldEffectPicTable_SandPile, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Unknown20[] = {
+ overworld_frame(gFieldEffectPic_Unknown20, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Unknown20, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_Unknown20, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_Unknown20, 2, 2, 3)
+};
+
+const union AnimCmd gFieldEffectAnim_8374D10[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Unknown20[] = {
+ gFieldEffectAnim_8374D10
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Unknown20 = {0xFFFF, 0x1004, &gFieldOamData_16x16, gFieldEffectAnimTable_Unknown20, gFieldEffectPicTable_Unknown20, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
+
+const union AffineAnimCmd gFieldEffectAffineAnim_WavyReflection[] = {
+ AFFINEANIMCMD_FRAME(0xFF00, 0x100, -128, 0),
+ AFFINEANIMCMD_FRAME( 1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_FRAME(-1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_FRAME(-1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_FRAME( 1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_JUMP(1)
+};
+
+const union AffineAnimCmd gFieldEffectAffineAnim_WavyReflectionFlipped[] = {
+ AFFINEANIMCMD_FRAME(0x100, 0x100, -128, 0),
+ AFFINEANIMCMD_FRAME(-1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_FRAME( 1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_FRAME( 1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_FRAME(-1, 0, 0, 4),
+ AFFINEANIMCMD_FRAME( 0, 0, 0, 8),
+ AFFINEANIMCMD_JUMP(1)
+};
+
+const union AffineAnimCmd *const gFieldEffectAffineAnimTable_Reflection[] = {
+ gFieldEffectAffineAnim_WavyReflection,
+ gFieldEffectAffineAnim_WavyReflectionFlipped
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Reflection = {0x0, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gFieldEffectAffineAnimTable_Reflection, SpriteCallbackDummy};
+
+const struct SpriteFrameImage gFieldEffectPicTable_BerryTreeGrowthSparkle[] = {
+ overworld_frame(gFieldEffectPic_BerryTreeGrowthSparkle, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_BerryTreeGrowthSparkle, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_BerryTreeGrowthSparkle, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_BerryTreeGrowthSparkle, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_BerryTreeGrowthSparkle, 2, 2, 4),
+ overworld_frame(gFieldEffectPic_BerryTreeGrowthSparkle, 2, 2, 5)
+};
+
+const union AnimCmd gFieldEffectAnim_8374E38[] = {
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(5, 8),
+ ANIMCMD_LOOP(0),
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(5, 4),
+ ANIMCMD_LOOP(3),
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(5, 8),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_BerryTreeGrowthSparkle[] = {
+ gFieldEffectAnim_8374E38
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_BerryTreeGrowthSparkle = {0xFFFF, 0xFFFF, &gFieldOamData_16x16, gFieldEffectAnimTable_BerryTreeGrowthSparkle, gFieldEffectPicTable_BerryTreeGrowthSparkle, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim};
+
+const struct SpriteFrameImage gFieldEffectPicTable_TreeDisguise[] = {
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 0),
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 1),
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 2),
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 3),
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 4),
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 5),
+ overworld_frame(gFieldEffectPic_TreeDisguise, 2, 4, 6)
+};
+
+const union AnimCmd gFieldEffectAnim_8374EE0[] = {
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374EE8[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(5, 4),
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_TreeDisguise[] = {
+ gFieldEffectAnim_8374EE0,
+ gFieldEffectAnim_8374EE8
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_TreeDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_TreeDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_MountainDisguise[] = {
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 0),
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 1),
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 2),
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 3),
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 4),
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 5),
+ overworld_frame(gFieldEffectPic_MountainDisguise, 2, 4, 6)
+};
+
+const union AnimCmd gFieldEffectAnim_8374F60[] = {
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END
+};
+
+const union AnimCmd gFieldEffectAnim_8374F68[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_FRAME(5, 4),
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_MountainDisguise[] = {
+ gFieldEffectAnim_8374F60,
+ gFieldEffectAnim_8374F68
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_MountainDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_MountainDisguise, gFieldEffectPicTable_MountainDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_SandDisguise[] = {
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 0),
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 1),
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 2),
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 3),
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 4),
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 5),
+ overworld_frame(gFieldEffectPic_SandDisguise, 2, 4, 6)
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_SandDisguise = {0xFFFF, 0xFFFF, &gFieldOamData_16x32, gFieldEffectAnimTable_TreeDisguise, gFieldEffectPicTable_SandDisguise, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Bird[] = {
+ overworld_frame(gFieldEffectPic_Bird, 4, 4, 0)
+};
+
+const union AnimCmd gFieldEffectAnim_8375000[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Bird[] = {
+ gFieldEffectAnim_8375000
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Bird = {0xFFFF, 0xFFFF, &gFieldOamData_32x32, gFieldEffectAnimTable_Bird, gFieldEffectPicTable_Bird, gDummySpriteAffineAnimTable, SpriteCallbackDummy};
+
+const struct SpriteFrameImage gFieldEffectPicTable_ShortGrass[] = {
+ overworld_frame(gFieldEffectPic_ShortGrass, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_ShortGrass, 2, 2, 1)
+};
+
+const union AnimCmd gFieldEffectAnim_8375034[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_ShortGrass[] = {
+ gFieldEffectAnim_8375034
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_ShortGrass = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_ShortGrass, gFieldEffectPicTable_ShortGrass, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_HotSpringsWater[] = {
+ overworld_frame(gFieldEffectPic_HotSpringsWater, 2, 2, 0)
+};
+
+const union AnimCmd gFieldEffectAnim_8375064[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_HotSpringsWater[] = {
+ gFieldEffectAnim_8375064
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_HotSpringsWater = {0xFFFF, 0x1005, &gFieldOamData_16x16, gFieldEffectAnimTable_HotSpringsWater, gFieldEffectPicTable_HotSpringsWater, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_PopOutOfAsh[] = {
+ overworld_frame(gFieldEffectPic_PopOutOfAsh, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_PopOutOfAsh, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_PopOutOfAsh, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_PopOutOfAsh, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_PopOutOfAsh, 2, 2, 4)
+};
+
+const union AnimCmd gFieldEffectAnim_83750B0[] = {
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(2, 6),
+ ANIMCMD_FRAME(3, 6),
+ ANIMCMD_FRAME(4, 6),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_PopOutOfAsh[] = {
+ gFieldEffectAnim_83750B0
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_PopOutOfAsh = {0xFFFF, 0x100D, &gFieldOamData_16x16, gFieldEffectAnimTable_PopOutOfAsh, gFieldEffectPicTable_PopOutOfAsh, gDummySpriteAffineAnimTable, sub_808788C};
+
+const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D};
+
+const struct SpriteFrameImage gFieldEffectPicTable_LavaridgeGymWarp[] = {
+ overworld_frame(gFieldEffectPic_LavaridgeGymWarp, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_LavaridgeGymWarp, 2, 2, 1),
+ overworld_frame(gFieldEffectPic_LavaridgeGymWarp, 2, 2, 2),
+ overworld_frame(gFieldEffectPic_LavaridgeGymWarp, 2, 2, 3),
+ overworld_frame(gFieldEffectPic_LavaridgeGymWarp, 2, 2, 4)
+};
+
+const union AnimCmd gFieldEffectAnim_8375114[] = {
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(1, 6),
+ ANIMCMD_FRAME(2, 6),
+ ANIMCMD_FRAME(3, 6),
+ ANIMCMD_FRAME(4, 6),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_LavaridgeGymWarp[] = {
+ gFieldEffectAnim_8375114
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_LavaridgeGymWarp = {0xFFFF, 0x100D, &gFieldOamData_16x16, gFieldEffectAnimTable_LavaridgeGymWarp, gFieldEffectPicTable_LavaridgeGymWarp, gDummySpriteAffineAnimTable, sub_8087638};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Bubbles[] = {
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 0),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 1),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 2),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 3),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 4),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 5),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 6),
+ overworld_frame(gFieldEffectPic_Bubbles, 2, 4, 7)
+};
+
+const union AnimCmd gFieldEffectAnim_8375188[] = {
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 6),
+ ANIMCMD_FRAME(4, 6),
+ ANIMCMD_FRAME(5, 4),
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Bubbles[] = {
+ gFieldEffectAnim_8375188
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Bubbles = {0xFFFF, 0x1004, &gFieldOamData_16x32, gFieldEffectAnimTable_Bubbles, gFieldEffectPicTable_Bubbles, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect};
+
+const struct SpriteFrameImage gFieldEffectPicTable_Sparkle[] = {
+ overworld_frame(gFieldEffectPic_Sparkle, 2, 2, 0),
+ overworld_frame(gFieldEffectPic_Sparkle, 2, 2, 1)
+};
+
+const union AnimCmd gFieldEffectAnim_83751D8[] = {
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gFieldEffectAnimTable_Sparkle[] = {
+ gFieldEffectAnim_83751D8
+};
+
+const struct SpriteTemplate gFieldEffectSpriteTemplate_Sparkle = {0xFFFF, 0x100F, &gFieldOamData_16x16, gFieldEffectAnimTable_Sparkle, gFieldEffectPicTable_Sparkle, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect};
+
+const struct SpritePalette gFieldEffectObjectPaletteInfo3 = {gFieldEffectObjectPalette3, 0x100F};
+
+#endif //POKERUBY_FIELD_EFFECT_OBJECTS_H