summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2020-03-24 14:16:49 -0400
committerGriffinR <griffin.g.richards@gmail.com>2020-03-24 14:16:49 -0400
commitb021ce35b7819fcb1d34564cc12f0668f57b0307 (patch)
tree8c6bd5939298863c33efc300c8f766416a8a7b12
parent68e942065aa0c5ba9783437fcd96d9b0739d31ef (diff)
Move field effect objects to src
-rw-r--r--data/event_object_movement.s819
-rw-r--r--include/field_effect.h2
-rw-r--r--include/field_effect_helpers.h15
-rw-r--r--src/data/field_effects/field_effect_objects.h1306
-rw-r--r--src/event_object_movement.c52
5 files changed, 1376 insertions, 818 deletions
diff --git a/data/event_object_movement.s b/data/event_object_movement.s
index 69d135ef2..57135941b 100644
--- a/data/event_object_movement.s
+++ b/data/event_object_movement.s
@@ -6299,821 +6299,4 @@ gObjectPaletteTagSets:: @ 83A5330
.4byte gUnknownPaletteTags_83A5308
.4byte gUnknownPaletteTags_83A531C
-gUnknown_83A5340::
- obj_pal gUnknown_8398FA8, 0x1004
-
-gUnknown_83A5348:: @ 83A5348
- obj_pal gUnknown_8398FC8, 0x1005
-
-gUnknown_83A5350:: @ 83A5350
- obj_image_anim_frame 0, 1, 0
- obj_image_anim_end
-
-gUnknown_83A5358:: @ 83A5358
- .4byte gUnknown_83A5350
-
-gUnknown_83A535C:: @ 83A535C
- obj_frame_tiles gUnknown_8398048, 0x20
-
-gUnknown_83A5364:: @ 83A5364
- obj_frame_tiles gUnknown_8398068, 0x40
-
-gUnknown_83A536C:: @ 83A536C
- obj_frame_tiles gUnknown_83980A8, 0x80
-
-gUnknown_83A5374:: @ 83A5374
- obj_frame_tiles gUnknown_8398128, 0x400
-
-gUnknown_83A537C:: @ 83A537C
- spr_template 65535, 65535, gObjectEventBaseOam_128x64, gUnknown_83A5358, gUnknown_83A535C, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
-
-gUnknown_83A5394:: @ 83A5394
- spr_template 65535, 65535, gObjectEventBaseOam_Unknown1, gUnknown_83A5358, gUnknown_83A5364, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
-
-gUnknown_83A53AC:: @ 83A53AC
- spr_template 65535, 65535, gObjectEventBaseOam_Unknown2, gUnknown_83A5358, gUnknown_83A536C, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
-
-gUnknown_83A53C4:: @ 83A53C4
- spr_template 65535, 65535, gObjectEventBaseOam_Unknown3, gUnknown_83A5358, gUnknown_83A5374, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
-
-gUnknown_83A53DC:: @ 83A53DC
- overworld_frame gUnknown_839A008, 2, 2, 0
- overworld_frame gUnknown_839A008, 2, 2, 1
- overworld_frame gUnknown_839A008, 2, 2, 2
- overworld_frame gUnknown_839A008, 2, 2, 3
- overworld_frame gUnknown_839A008, 2, 2, 4
-
-gUnknown_83A5404:: @ 83A5404
- obj_image_anim_frame 1, 10
- obj_image_anim_frame 2, 10
- obj_image_anim_frame 3, 10
- obj_image_anim_frame 4, 10
- obj_image_anim_frame 0, 10
- obj_image_anim_end
-
-gUnknown_83A541C:: @ 83A541C
- .4byte gUnknown_83A5404
-
-gUnknown_83A5420:: @ 83A5420
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A541C, gUnknown_83A53DC, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect
-
-gUnknown_83A5438:: @ 83A5438
- overworld_frame gUnknown_83986A8, 2, 2, 0
- overworld_frame gUnknown_83986A8, 2, 2, 1
- overworld_frame gUnknown_83986A8, 2, 2, 2
- overworld_frame gUnknown_83986A8, 2, 2, 3
- overworld_frame gUnknown_83986A8, 2, 2, 4
-
-gUnknown_83A5460:: @ 83A5460
- obj_image_anim_frame 0, 12
- obj_image_anim_frame 1, 9
- obj_image_anim_frame 2, 9
- obj_image_anim_frame 3, 9
- obj_image_anim_frame 0, 9
- obj_image_anim_frame 1, 9
- obj_image_anim_frame 2, 11
- obj_image_anim_frame 4, 11
- obj_image_anim_end
-
-gUnknown_83A5484:: @ 83A5484
- .4byte gUnknown_83A5460
-
-gUnknown_83A5488:: @ 83A5488
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5484, gUnknown_83A5438, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
-
-gUnknown_83A54A0:: @ 83A54A0
- overworld_frame gUnknown_8398928, 2, 2, 0
- overworld_frame gUnknown_8398928, 2, 2, 1
- overworld_frame gUnknown_8398928, 2, 2, 2
- overworld_frame gUnknown_8398928, 2, 2, 3
- overworld_frame gUnknown_8398928, 2, 2, 4
-
-gUnknown_83A54C8:: @ 83A54C8
- obj_image_anim_frame 0, 12
- obj_image_anim_frame 1, 12
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 12
- obj_image_anim_frame 4, 12
- obj_image_anim_end
-
-gUnknown_83A54E0:: @ 83A54E0
- .4byte gUnknown_83A54C8
-
-gUnknown_83A54E4:: @ 83A54E4
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A54E0, gUnknown_83A54A0, gDummySpriteAffineAnimTable, UpdateAshFieldEffect
-
-gUnknown_83A54FC:: @ 83A54FC
- overworld_frame gUnknown_8396B08, 2, 8, 0
- overworld_frame gUnknown_8396B08, 2, 8, 1
- overworld_frame gUnknown_8396B08, 2, 8, 2
- overworld_frame gUnknown_8396B08, 2, 8, 3
- overworld_frame gUnknown_8396B08, 2, 8, 4
- overworld_frame gUnknown_8396B08, 2, 8, 5
-
-gUnknown_83A552C:: @ 83A552C
- obj_image_anim_frame 0, 48
- obj_image_anim_frame 1, 48
- obj_image_anim_jump 0
-
-gUnknown_83A5538:: @ 83A5538
- obj_image_anim_frame 2, 48
- obj_image_anim_frame 3, 48
- obj_image_anim_jump 0
-
-gUnknown_83A5544:: @ 83A5544
- obj_image_anim_frame 4, 48
- obj_image_anim_frame 5, 48
- obj_image_anim_jump 0
-
-gUnknown_83A5550:: @ 83A5550
- obj_image_anim_frame 4, 112
- obj_image_anim_frame 5, 112
- obj_image_anim_jump 0
-
-gUnknown_83A555C:: @ 83A555C
- .4byte gUnknown_83A552C
- .4byte gUnknown_83A5538
- .4byte gUnknown_83A5544
- .4byte gUnknown_83A5550
-
-gUnknown_83A556C:: @ 83A556C
- spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_32x32, gUnknown_83A555C, gUnknown_83A54FC, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect
-
-gUnknown_83A5584:: @ 83A5584
- overworld_frame gUnknown_8398BA8, 2, 2, 0
- overworld_frame gUnknown_8398BA8, 2, 2, 1
- overworld_frame gUnknown_8398BA8, 2, 2, 2
- overworld_frame gUnknown_8398BA8, 2, 2, 3
- overworld_frame gUnknown_8398BA8, 2, 2, 4
- overworld_frame gUnknown_8398BA8, 2, 2, 5
- overworld_frame gUnknown_8398BA8, 2, 2, 6
- overworld_frame gUnknown_8398BA8, 2, 2, 7
-
-gUnknown_83A55C4:: @ 83A55C4
- obj_image_anim_frame 2, 32
- obj_image_anim_frame 3, 32
- obj_image_anim_jump 0
-
-gUnknown_83A55D0:: @ 83A55D0
- obj_image_anim_frame 0, 32
- obj_image_anim_frame 1, 32
- obj_image_anim_jump 0
-
-gUnknown_83A55DC:: @ 83A55DC
- obj_image_anim_frame 4, 32
- obj_image_anim_frame 5, 32
- obj_image_anim_jump 0
-
-gUnknown_83A55E8:: @ 83A55E8
- obj_image_anim_frame 6, 32
- obj_image_anim_frame 7, 32
- obj_image_anim_jump 0
-
-gUnknown_83A55F4:: @ 83A55F4
- .4byte gUnknown_83A55C4
- .4byte gUnknown_83A55D0
- .4byte gUnknown_83A55DC
- .4byte gUnknown_83A55E8
-
-gUnknown_83A5604:: @ 83A5604
- spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x16, gUnknown_83A55F4, gUnknown_83A5584, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_83A561C:: @ 83A561C
- overworld_frame gUnknown_8399008, 2, 1, 0
- overworld_frame gUnknown_8399008, 2, 1, 1
- overworld_frame gUnknown_8399008, 2, 1, 2
-
-gUnknown_83A5634:: @ 83A5634
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_end
-
-gUnknown_83A5644:: @ 83A5644
- .4byte gUnknown_83A5634
-
-gUnknown_83A5648:: @ 83A5648
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5644, gUnknown_83A561C, gDummySpriteAffineAnimTable, sub_80DCCE0
-
-gUnknown_83A5660:: @ 83A5660
- overworld_frame gUnknown_8399188, 2, 1, 0
- overworld_frame gUnknown_8399188, 2, 1, 1
- overworld_frame gUnknown_8399188, 2, 1, 2
- overworld_frame gUnknown_8399188, 2, 1, 3
-
-gUnknown_83A5680:: @ 83A5680
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_end
-
-gUnknown_83A5694:: @ 83A5694
- .4byte gUnknown_83A5680
-
-gUnknown_83A5698:: @ 83A5698
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_Unknown1, gUnknown_83A5694, gUnknown_83A5660, gDummySpriteAffineAnimTable, sub_80DCCE0
-
-gUnknown_83A56B0:: @ 83A56B0
- overworld_frame gUnknown_839A388, 2, 2, 0
- overworld_frame gUnknown_839A388, 2, 2, 1
-
-gUnknown_83A56C0:: @ 83A56C0
- obj_image_anim_frame 0, 129
- obj_image_anim_end
-
-gUnknown_83A56C8:: @ 83A56C8
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
-gUnknown_83A56D0:: @ 83A56D0
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
-gUnknown_83A56D8:: @ 83A56D8
- obj_image_anim_frame 1, 65
- obj_image_anim_end
-
-gUnknown_83A56E0:: @ 83A56E0
- .4byte gUnknown_83A56C0
- .4byte gUnknown_83A56C0
- .4byte gUnknown_83A56C8
- .4byte gUnknown_83A56D0
- .4byte gUnknown_83A56D8
-
-gUnknown_83A56F4:: @ 83A56F4
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A56E0, gUnknown_83A56B0, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect
-
-gUnknown_83A570C:: @ 83A570C
- overworld_frame gUnknown_839A488, 2, 2, 0
- overworld_frame gUnknown_839A488, 2, 2, 1
-
-gUnknown_83A571C:: @ 83A571C
- obj_image_anim_frame 0, 129
- obj_image_anim_end
-
-gUnknown_83A5724:: @ 83A5724
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
-gUnknown_83A572C:: @ 83A572C
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
-gUnknown_83A5734:: @ 83A5734
- obj_image_anim_frame 1, 65
- obj_image_anim_end
-
-gUnknown_83A573C:: @ 83A573C
- .4byte gUnknown_83A571C
- .4byte gUnknown_83A571C
- .4byte gUnknown_83A5724
- .4byte gUnknown_83A572C
- .4byte gUnknown_83A5734
-
-gUnknown_83A5750:: @ 83A5750
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A573C, gUnknown_83A570C, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect
-
-gUnknown_83A5768:: @ 83A5768
- overworld_frame gUnknown_839A588, 2, 2, 0
- overworld_frame gUnknown_839A588, 2, 2, 1
- overworld_frame gUnknown_839A588, 2, 2, 2
- overworld_frame gUnknown_839A588, 2, 2, 3
-
-gUnknown_83A5788:: @ 83A5788
- obj_image_anim_frame 2, 1
- obj_image_anim_end
-
-gUnknown_83A5790:: @ 83A5790
- obj_image_anim_frame 2, 1
- obj_image_anim_end
-
-gUnknown_83A5798:: @ 83A5798
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
-gUnknown_83A57A0:: @ 83A57A0
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
-gUnknown_83A57A8:: @ 83A57A8
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
-gUnknown_83A57B0:: @ 83A57B0
- obj_image_anim_frame 0, 65
- obj_image_anim_end
-
-gUnknown_83A57B8:: @ 83A57B8
- obj_image_anim_frame 3, 65
- obj_image_anim_end
-
-gUnknown_83A57C0:: @ 83A57C0
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
-gUnknown_83A57C8:: @ 83A57C8
- .4byte gUnknown_83A5788
- .4byte gUnknown_83A5788
- .4byte gUnknown_83A5790
- .4byte gUnknown_83A5798
- .4byte gUnknown_83A57A0
- .4byte gUnknown_83A57A8
- .4byte gUnknown_83A57B0
- .4byte gUnknown_83A57B8
- .4byte gUnknown_83A57C0
-
-gUnknown_83A57EC:: @ 83A57EC
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A57C8, gUnknown_83A5768, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect
-
-gUnknown_83A5804:: @ 83A5804
- overworld_frame gUnknown_839AA48, 2, 2, 0
- overworld_frame gUnknown_839AA48, 2, 2, 1
- overworld_frame gUnknown_839AA48, 2, 2, 2
- overworld_frame gUnknown_839AA48, 2, 2, 3
-
-gUnknown_83A5824:: @ 83A5824
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_end
-
-gUnknown_83A5838:: @ 83A5838
- .4byte gUnknown_83A5824
-
-gUnknown_83A583C:: @ 83A583C
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5838, gUnknown_83A5804, gDummySpriteAffineAnimTable, sub_80DCCE0
-
-gUnknown_83A5854:: @ 83A5854
- overworld_frame gUnknown_839AC48, 2, 1, 0
- overworld_frame gUnknown_839AC48, 2, 1, 1
-
-gUnknown_83A5864:: @ 83A5864
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_end
-
-gUnknown_83A5870:: @ 83A5870
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_frame 0, 8
- obj_image_anim_frame 1, 8
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_jump 0
-
-gUnknown_83A5894:: @ 83A5894
- .4byte gUnknown_83A5864
- .4byte gUnknown_83A5870
-
-gUnknown_83A589C:: @ 83A589C
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5894, gUnknown_83A5854, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect
-
-gUnknown_83A58B4:: @ 83A58B4
- overworld_frame gUnknown_839ACC8, 2, 1, 0
- overworld_frame gUnknown_839ACC8, 2, 1, 1
- overworld_frame gUnknown_839ACC8, 2, 1, 2
-
-gUnknown_83A58CC:: @ 83A58CC
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_end
-
-gUnknown_83A58DC:: @ 83A58DC
- .4byte gUnknown_83A58CC
-
-gUnknown_83A58E0:: @ 83A58E0
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A58DC, gUnknown_83A58B4, gDummySpriteAffineAnimTable, sub_80DCCE0
-
-gUnknown_83A58F8:: @ 83A58F8
- overworld_frame gUnknown_8399E08, 2, 2, 0
- overworld_frame gUnknown_8399E08, 2, 2, 1
- overworld_frame gUnknown_8399E08, 2, 2, 2
- overworld_frame gUnknown_8399E08, 2, 2, 3
-
-gUnknown_83A5918:: @ 83A5918
- obj_image_anim_frame 1, 3
- obj_image_anim_frame 2, 3
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
-gUnknown_83A5938:: @ 83A5938
- .4byte gUnknown_83A5918
-
-gUnknown_83A593C:: @ 83A593C
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5938, gUnknown_83A58F8, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect
-
-gUnknown_83A5954:: @ 83A5954
- overworld_frame gUnknown_8399488, 2, 2, 0
- overworld_frame gUnknown_8399488, 2, 2, 1
- overworld_frame gUnknown_8399488, 2, 2, 2
- overworld_frame gUnknown_8399488, 2, 2, 3
- overworld_frame gUnknown_8399488, 2, 2, 4
- overworld_frame gUnknown_8399488, 2, 2, 6
-
-gUnknown_83A5984:: @ 83A5984
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 8
- obj_image_anim_frame 3, 8
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 5, 8
- obj_image_anim_end
-
-gUnknown_83A59A0:: @ 83A59A0
- .4byte gUnknown_83A5984
-
-gUnknown_83A59A4:: @ 83A59A4
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A59A0, gUnknown_83A5954, gDummySpriteAffineAnimTable, sub_80DCCE0
-
-gUnknown_83A59BC:: @ 83A59BC
- overworld_frame gUnknown_8399788, 2, 2, 0
- overworld_frame gUnknown_8399788, 2, 2, 1
- overworld_frame gUnknown_8399788, 2, 2, 2
- overworld_frame gUnknown_8399788, 2, 2, 3
- overworld_frame gUnknown_8399788, 2, 2, 4
- overworld_frame gUnknown_8399788, 2, 2, 5
- overworld_frame gUnknown_8399788, 2, 2, 6
- overworld_frame gUnknown_8399788, 2, 2, 7
- overworld_frame gUnknown_8399788, 2, 2, 8
-
-gUnknown_83A5A04:: @ 83A5A04
- obj_image_anim_frame 0, 10
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 5, 4
- obj_image_anim_frame 6, 4
- obj_image_anim_frame 7, 4
- obj_image_anim_frame 8, 4
- obj_image_anim_jump 7
-
-gUnknown_83A5A2C:: @ 83A5A2C
- .4byte gUnknown_83A5A04
-
-gUnknown_83A5A30:: @ 83A5A30
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A2C, gUnknown_83A59BC, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
-
-gUnknown_83A5A48:: @ 83A5A48
- overworld_frame gUnknown_8399C08, 2, 2, 0
- overworld_frame gUnknown_8399C08, 2, 2, 1
- overworld_frame gUnknown_8399C08, 2, 2, 2
- overworld_frame gUnknown_8399C08, 2, 2, 3
-
-gUnknown_83A5A68:: @ 83A5A68
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_jump 0
-
-gUnknown_83A5A84:: @ 83A5A84
- .4byte gUnknown_83A5A68
-
-gUnknown_83A5A88:: @ 83A5A88
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A84, gUnknown_83A5A48, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
-
-gUnknown_83A5AA0:: @ 83A5AA0
- overworld_frame gUnknown_839A788, 2, 2, 0
- overworld_frame gUnknown_839A788, 2, 2, 1
- overworld_frame gUnknown_839A788, 2, 2, 2
- overworld_frame gUnknown_839A788, 2, 2, 3
-
-gUnknown_83A5AC0:: @ 83A5AC0
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_jump 0
-
-gUnknown_83A5AD4:: @ 83A5AD4
- .4byte gUnknown_83A5AC0
-
-gUnknown_83A5AD8:: @ 83A5AD8
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5AD4, gUnknown_83A5AA0, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
-
-gUnknown_83A5AF0:: @ 83A5AF0
- overworld_frame gUnknown_839A988, 2, 1, 0
- overworld_frame gUnknown_839A988, 2, 1, 1
- overworld_frame gUnknown_839A988, 2, 1, 2
-
-gUnknown_83A5B08:: @ 83A5B08
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_end
-
-gUnknown_83A5B18:: @ 83A5B18
- .4byte gUnknown_83A5B08
-
-gUnknown_83A5B1C:: @ 83A5B1C
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5B18, gUnknown_83A5AF0, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect
-
-gUnknown_83A5B34:: @ 83A5B34
- overworld_frame gUnknown_839AD88, 2, 2, 0
- overworld_frame gUnknown_839AD88, 2, 2, 1
- overworld_frame gUnknown_839AD88, 2, 2, 2
- overworld_frame gUnknown_839AD88, 2, 2, 3
-
-gUnknown_83A5B54:: @ 83A5B54
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_jump 0
-
-gUnknown_83A5B70:: @ 83A5B70
- .4byte gUnknown_83A5B54
-
-gUnknown_83A5B74:: @ 83A5B74
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5B70, gUnknown_83A5B34, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
-
-gUnknown_83A5B8C:: @ 83A5B8C
- obj_rot_scal_anim_frame -256, 256, 128, 0
- obj_rot_scal_anim_frame 1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_frame -1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_frame -1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_frame 1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_jump 1
-
-gUnknown_83A5BDC:: @ 83A5BDC
- obj_rot_scal_anim_frame 256, 256, 128, 0
- obj_rot_scal_anim_frame -1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_frame 1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_frame 1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_frame -1, 0, 0, 4
- obj_rot_scal_anim_frame 0, 0, 0, 8
- obj_rot_scal_anim_jump 1
-
-gUnknown_83A5C2C:: @ 83A5C2C
- .4byte gUnknown_83A5B8C
- .4byte gUnknown_83A5BDC
-
-gUnknown_83A5C34:: @ 83A5C34
- spr_template 0x0, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gUnknown_83A5C2C, SpriteCallbackDummy
-
-gUnknown_83A5C4C:: @ 83A5C4C
- overworld_frame gUnknown_839B008, 2, 4, 0
- overworld_frame gUnknown_839B008, 2, 4, 1
- overworld_frame gUnknown_839B008, 2, 4, 2
- overworld_frame gUnknown_839B008, 2, 4, 3
- overworld_frame gUnknown_839B008, 2, 4, 4
- overworld_frame gUnknown_839B008, 2, 4, 5
- overworld_frame gUnknown_839B008, 2, 4, 6
-
-gUnknown_83A5C84:: @ 83A5C84
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
-gUnknown_83A5C8C:: @ 83A5C8C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 5, 4
- obj_image_anim_frame 6, 4
- obj_image_anim_end
-
-gUnknown_83A5CAC:: @ 83A5CAC
- .4byte gUnknown_83A5C84
- .4byte gUnknown_83A5C8C
-
-gUnknown_83A5CB4:: @ 83A5CB4
- spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5C4C, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect
-
-gUnknown_83A5CCC:: @ 83A5CCC
- overworld_frame gUnknown_839B708, 2, 4, 0
- overworld_frame gUnknown_839B708, 2, 4, 1
- overworld_frame gUnknown_839B708, 2, 4, 2
- overworld_frame gUnknown_839B708, 2, 4, 3
- overworld_frame gUnknown_839B708, 2, 4, 4
- overworld_frame gUnknown_839B708, 2, 4, 5
- overworld_frame gUnknown_839B708, 2, 4, 6
-
-gUnknown_83A5D04:: @ 83A5D04
- obj_image_anim_frame 0, 16
- obj_image_anim_end
-
-gUnknown_83A5D0C:: @ 83A5D0C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 4
- obj_image_anim_frame 4, 4
- obj_image_anim_frame 5, 4
- obj_image_anim_frame 6, 4
- obj_image_anim_end
-
-gUnknown_83A5D2C:: @ 83A5D2C
- .4byte gUnknown_83A5D04
- .4byte gUnknown_83A5D0C
-
-gUnknown_83A5D34:: @ 83A5D34
- spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5D2C, gUnknown_83A5CCC, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect
-
-gUnknown_83A5D4C:: @ 83A5D4C
- overworld_frame gUnknown_839BE08, 2, 4, 0
- overworld_frame gUnknown_839BE08, 2, 4, 1
- overworld_frame gUnknown_839BE08, 2, 4, 2
- overworld_frame gUnknown_839BE08, 2, 4, 3
- overworld_frame gUnknown_839BE08, 2, 4, 4
- overworld_frame gUnknown_839BE08, 2, 4, 5
- overworld_frame gUnknown_839BE08, 2, 4, 6
-
-gUnknown_83A5D84:: @ 83A5D84
- spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5D4C, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect
-
-gUnknown_83A5D9C:: @ 83A5D9C
- overworld_frame gUnknown_839D3C8, 8, 8, 0
- overworld_frame gUnknown_839D3C8, 8, 8, 1
- overworld_frame gUnknown_839D3C8, 8, 8, 2
- overworld_frame gUnknown_839D3C8, 8, 8, 3
- overworld_frame gUnknown_839D3C8, 8, 8, 4
-
-gUnknown_83A5DC4:: @ 83A5DC4
- obj_image_anim_frame 0, 1
- obj_image_anim_end
-
-gUnknown_83A5DCC:: @ 83A5DCC
- obj_image_anim_frame 1, 1
- obj_image_anim_end
-
-gUnknown_83A5DD4:: @ 83A5DD4
- obj_image_anim_frame 2, 1
- obj_image_anim_end
-
-gUnknown_83A5DDC:: @ 83A5DDC
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
-gUnknown_83A5DE4:: @ 83A5DE4
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
-gUnknown_83A5DEC:: @ 83A5DEC
- .4byte gUnknown_83A5DC4
- .4byte gUnknown_83A5DCC
- .4byte gUnknown_83A5DD4
- .4byte gUnknown_83A5DDC
- .4byte gUnknown_83A5DE4
-
-gUnknown_83A5E00:: @ 83A5E00
- spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_64x64, gUnknown_83A5DEC, gUnknown_83A5D9C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_83A5E18:: @ 83A5E18
- overworld_frame gUnknown_839A288, 2, 2, 0
- overworld_frame gUnknown_839A288, 2, 2, 1
-
-gUnknown_83A5E28:: @ 83A5E28
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_end
-
-gUnknown_83A5E34:: @ 83A5E34
- .4byte gUnknown_83A5E28
-
-gUnknown_83A5E38:: @ 83A5E38
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E34, gUnknown_83A5E18, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect
-
-gUnknown_83A5E50:: @ 83A5E50
- overworld_frame gUnknown_839C508, 2, 2, 0
-
-gUnknown_83A5E58:: @ 83A5E58
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
-gUnknown_83A5E60:: @ 83A5E60
- .4byte gUnknown_83A5E58
-
-gUnknown_83A5E64:: @ 83A5E64
- spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E60, gUnknown_83A5E50, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect
-
-gUnknown_83A5E7C:: @ 83A5E7C
- overworld_frame gUnknown_839C5A8, 2, 2, 0
- overworld_frame gUnknown_839C5A8, 2, 2, 1
- overworld_frame gUnknown_839C5A8, 2, 2, 2
- overworld_frame gUnknown_839C5A8, 2, 2, 3
- overworld_frame gUnknown_839C5A8, 2, 2, 4
-
-gUnknown_83A5EA4:: @ 83A5EA4
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_frame 2, 6
- obj_image_anim_frame 3, 6
- obj_image_anim_frame 4, 6
- obj_image_anim_end
-
-gUnknown_83A5EBC:: @ 83A5EBC
- .4byte gUnknown_83A5EA4
-
-gUnknown_83A5EC0:: @ 83A5EC0
- spr_template 0xFFFF, 0x100D, gObjectEventBaseOam_16x16, gUnknown_83A5EBC, gUnknown_83A5E7C, gDummySpriteAffineAnimTable, SpriteCB_PopOutOfAsh
-
-gUnknown_83A5ED8:: @ 83A5ED8
- obj_pal gUnknown_839C588, 0x100D
-
-gUnknown_83A5EE0:: @ 83A5EE0
- overworld_frame gUnknown_839C828, 2, 2, 0
- overworld_frame gUnknown_839C828, 2, 2, 1
- overworld_frame gUnknown_839C828, 2, 2, 2
- overworld_frame gUnknown_839C828, 2, 2, 3
- overworld_frame gUnknown_839C828, 2, 2, 4
-
-gUnknown_83A5F08:: @ 83A5F08
- obj_image_anim_frame 0, 6
- obj_image_anim_frame 1, 6
- obj_image_anim_frame 2, 6
- obj_image_anim_frame 3, 6
- obj_image_anim_frame 4, 6
- obj_image_anim_end
-
-gUnknown_83A5F20:: @ 83A5F20
- .4byte gUnknown_83A5F08
-
-gUnknown_83A5F24:: @ 83A5F24
- spr_template 0xFFFF, 0x100D, gObjectEventBaseOam_16x16, gUnknown_83A5F20, gUnknown_83A5EE0, gDummySpriteAffineAnimTable, SpriteCB_LavaridgeGymWarp
-
-gUnknown_83A5F3C:: @ 83A5F3C
- overworld_frame gUnknown_839CAA8, 2, 4, 0
- overworld_frame gUnknown_839CAA8, 2, 4, 1
- overworld_frame gUnknown_839CAA8, 2, 4, 2
- overworld_frame gUnknown_839CAA8, 2, 4, 3
- overworld_frame gUnknown_839CAA8, 2, 4, 4
- overworld_frame gUnknown_839CAA8, 2, 4, 5
- overworld_frame gUnknown_839CAA8, 2, 4, 6
- overworld_frame gUnknown_839CAA8, 2, 4, 7
-
-gUnknown_83A5F7C:: @ 83A5F7C
- obj_image_anim_frame 0, 4
- obj_image_anim_frame 1, 4
- obj_image_anim_frame 2, 4
- obj_image_anim_frame 3, 6
- obj_image_anim_frame 4, 6
- obj_image_anim_frame 5, 4
- obj_image_anim_frame 6, 4
- obj_image_anim_frame 7, 4
- obj_image_anim_end
-
-gUnknown_83A5FA0:: @ 83A5FA0
- .4byte gUnknown_83A5F7C
-
-gUnknown_83A5FA4:: @ 83A5FA4
- spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x32, gUnknown_83A5FA0, gUnknown_83A5F3C, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect
-
-gUnknown_83A5FBC:: @ 83A5FBC
- overworld_frame gUnknown_839D2A8, 2, 2, 0
- overworld_frame gUnknown_839D2A8, 2, 2, 1
-
-gUnknown_83A5FCC:: @ 83A5FCC
- obj_image_anim_frame 0, 3
- obj_image_anim_frame 1, 5
- obj_image_anim_frame 0, 5
- obj_image_anim_end
-
-gUnknown_83A5FDC:: @ 83A5FDC
- .4byte gUnknown_83A5FCC
-
-gUnknown_83A5FE0:: @ 83A5FE0
- spr_template 0xFFFF, 0x100F, gObjectEventBaseOam_16x16, gUnknown_83A5FDC, gUnknown_83A5FBC, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect
-
-gUnknown_83A5FF8::
- obj_pal gUnknown_839D3A8, 0x100F
-
-gMovementDelaysMedium:: @ 83A6000
- .2byte 0x0020
- .2byte 0x0040
- .2byte 0x0060
- .2byte 0x0080
-
-gUnknown_83A6008:: @ 83A6008
- .2byte 0x0020
- .2byte 0x0040
- .2byte 0x0080
- .2byte 0x00C0
-
-gMovementDelaysShort:: @ 83A6010
- .2byte 0x0020
- .2byte 0x0030
- .2byte 0x0040
- .2byte 0x0050
+@9186
diff --git a/include/field_effect.h b/include/field_effect.h
index 59de741be..40c58f44e 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -25,5 +25,7 @@ void FreeResourcesAndDestroySprite(struct Sprite * sprite, u8 spriteId);
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, bool8 unused);
void ReturnToFieldFromFlyMapSelect(void);
void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
+void SpriteCB_PopOutOfAsh(struct Sprite * sprite);
+void SpriteCB_LavaridgeGymWarp(struct Sprite * sprite);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index 9472f0b94..72f91f1d6 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -22,5 +22,20 @@ bool8 sub_80DCBE0(struct ObjectEvent *);
void SetUpReflection(struct ObjectEvent*, struct Sprite*, u8);
u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent*);
u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
+void sub_80DCCE0(struct Sprite * sprite);
+void UpdateShadowFieldEffect(struct Sprite * sprite);
+void UpdateBubblesFieldEffect(struct Sprite * sprite);
+void UpdateSparkleFieldEffect(struct Sprite * sprite);
+void UpdateTallGrassFieldEffect(struct Sprite * sprite);
+void WaitFieldEffectSpriteAnim(struct Sprite * sprite);
+void UpdateAshFieldEffect(struct Sprite * sprite);
+void UpdateSurfBlobFieldEffect(struct Sprite * sprite);
+void UpdateFootprintsTireTracksFieldEffect(struct Sprite * sprite);
+void UpdateSplashFieldEffect(struct Sprite * sprite);
+void UpdateShortGrassFieldEffect(struct Sprite * sprite);
+void UpdateLongGrassFieldEffect(struct Sprite * sprite);
+void UpdateSandPileFieldEffect(struct Sprite * sprite);
+void UpdateDisguiseFieldEffect(struct Sprite * sprite);
+void UpdateHotSpringsWaterFieldEffect(struct Sprite * sprite);
#endif //GUARD_FIELD_EFFECT_HELPERS_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..66abbce07
--- /dev/null
+++ b/src/data/field_effects/field_effect_objects.h
@@ -0,0 +1,1306 @@
+const struct SpritePalette gUnknown_83A5340 = { .data = gUnknown_8398FA8, .tag = 0x1004 };
+const struct SpritePalette gUnknown_83A5348 = { .data = gUnknown_8398FC8, .tag = 0x1005 };
+
+const union AnimCmd gUnknown_83A5350[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5358[] =
+{
+ gUnknown_83A5350,
+};
+
+const struct SpriteFrameImage gUnknown_83A535C[] = { obj_frame_tiles(gUnknown_8398048) };
+const struct SpriteFrameImage gUnknown_83A5364[] = { obj_frame_tiles(gUnknown_8398068) };
+const struct SpriteFrameImage gUnknown_83A536C[] = { obj_frame_tiles(gUnknown_83980A8) };
+const struct SpriteFrameImage gUnknown_83A5374[] = { obj_frame_tiles(gUnknown_8398128) };
+
+const struct SpriteTemplate gUnknown_83A537C =
+{
+ .tileTag = 65535,
+ .paletteTag = 65535,
+ .oam = &gObjectEventBaseOam_128x64,
+ .anims = gUnknown_83A5358,
+ .images = gUnknown_83A535C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateShadowFieldEffect,
+};
+
+const struct SpriteTemplate gUnknown_83A5394 =
+{
+ .tileTag = 65535,
+ .paletteTag = 65535,
+ .oam = &gObjectEventBaseOam_Unknown1,
+ .anims = gUnknown_83A5358,
+ .images = gUnknown_83A5364,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateShadowFieldEffect,
+};
+
+const struct SpriteTemplate gUnknown_83A53AC =
+{
+ .tileTag = 65535,
+ .paletteTag = 65535,
+ .oam = &gObjectEventBaseOam_Unknown2,
+ .anims = gUnknown_83A5358,
+ .images = gUnknown_83A536C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateShadowFieldEffect,
+};
+
+const struct SpriteTemplate gUnknown_83A53C4 =
+{
+ .tileTag = 65535,
+ .paletteTag = 65535,
+ .oam = &gObjectEventBaseOam_Unknown3,
+ .anims = gUnknown_83A5358,
+ .images = gUnknown_83A5374,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateShadowFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A53DC[] =
+{
+ overworld_frame(gUnknown_839A008, 2, 2, 0),
+ overworld_frame(gUnknown_839A008, 2, 2, 1),
+ overworld_frame(gUnknown_839A008, 2, 2, 2),
+ overworld_frame(gUnknown_839A008, 2, 2, 3),
+ overworld_frame(gUnknown_839A008, 2, 2, 4),
+};
+
+const union AnimCmd gUnknown_83A5404[] =
+{
+ 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 gUnknown_83A541C[] =
+{
+ gUnknown_83A5404,
+};
+
+const struct SpriteTemplate gUnknown_83A5420 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A541C,
+ .images = gUnknown_83A53DC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateTallGrassFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5438[] =
+{
+ overworld_frame(gUnknown_83986A8, 2, 2, 0),
+ overworld_frame(gUnknown_83986A8, 2, 2, 1),
+ overworld_frame(gUnknown_83986A8, 2, 2, 2),
+ overworld_frame(gUnknown_83986A8, 2, 2, 3),
+ overworld_frame(gUnknown_83986A8, 2, 2, 4),
+};
+
+const union AnimCmd gUnknown_83A5460[] =
+{
+ 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 gUnknown_83A5484[] =
+{
+ gUnknown_83A5460,
+};
+
+const struct SpriteTemplate gUnknown_83A5488 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5484,
+ .images = gUnknown_83A5438,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = WaitFieldEffectSpriteAnim,
+};
+
+const struct SpriteFrameImage gUnknown_83A54A0[] =
+{
+ overworld_frame(gUnknown_8398928, 2, 2, 0),
+ overworld_frame(gUnknown_8398928, 2, 2, 1),
+ overworld_frame(gUnknown_8398928, 2, 2, 2),
+ overworld_frame(gUnknown_8398928, 2, 2, 3),
+ overworld_frame(gUnknown_8398928, 2, 2, 4),
+};
+
+const union AnimCmd gUnknown_83A54C8[] =
+{
+ 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 gUnknown_83A54E0[] =
+{
+ gUnknown_83A54C8,
+};
+
+const struct SpriteTemplate gUnknown_83A54E4 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A54E0,
+ .images = gUnknown_83A54A0,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateAshFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A54FC[] =
+{
+ overworld_frame(gUnknown_8396B08, 2, 8, 0),
+ overworld_frame(gUnknown_8396B08, 2, 8, 1),
+ overworld_frame(gUnknown_8396B08, 2, 8, 2),
+ overworld_frame(gUnknown_8396B08, 2, 8, 3),
+ overworld_frame(gUnknown_8396B08, 2, 8, 4),
+ overworld_frame(gUnknown_8396B08, 2, 8, 5),
+};
+
+const union AnimCmd gUnknown_83A552C[] =
+{
+ ANIMCMD_FRAME(0, 48),
+ ANIMCMD_FRAME(1, 48),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_83A5538[] =
+{
+ ANIMCMD_FRAME(2, 48),
+ ANIMCMD_FRAME(3, 48),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_83A5544[] =
+{
+ ANIMCMD_FRAME(4, 48),
+ ANIMCMD_FRAME(5, 48),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_83A5550[] =
+{
+ ANIMCMD_FRAME(4, 48, .hFlip = TRUE),
+ ANIMCMD_FRAME(5, 48, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_83A555C[] =
+{
+ gUnknown_83A552C,
+ gUnknown_83A5538,
+ gUnknown_83A5544,
+ gUnknown_83A5550,
+};
+
+const struct SpriteTemplate gUnknown_83A556C =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &gObjectEventBaseOam_32x32,
+ .anims = gUnknown_83A555C,
+ .images = gUnknown_83A54FC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateSurfBlobFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5584[] =
+{
+ overworld_frame(gUnknown_8398BA8, 2, 2, 0),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 1),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 2),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 3),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 4),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 5),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 6),
+ overworld_frame(gUnknown_8398BA8, 2, 2, 7),
+};
+
+const union AnimCmd gUnknown_83A55C4[] =
+{
+ ANIMCMD_FRAME(2, 32),
+ ANIMCMD_FRAME(3, 32),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_83A55D0[] =
+{
+ ANIMCMD_FRAME(0, 32),
+ ANIMCMD_FRAME(1, 32),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_83A55DC[] =
+{
+ ANIMCMD_FRAME(4, 32),
+ ANIMCMD_FRAME(5, 32),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_83A55E8[] =
+{
+ ANIMCMD_FRAME(6, 32),
+ ANIMCMD_FRAME(7, 32),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_83A55F4[] =
+{
+ gUnknown_83A55C4,
+ gUnknown_83A55D0,
+ gUnknown_83A55DC,
+ gUnknown_83A55E8,
+};
+
+const struct SpriteTemplate gUnknown_83A5604 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A55F4,
+ .images = gUnknown_83A5584,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteFrameImage gUnknown_83A561C[] =
+{
+ overworld_frame(gUnknown_8399008, 2, 1, 0),
+ overworld_frame(gUnknown_8399008, 2, 1, 1),
+ overworld_frame(gUnknown_8399008, 2, 1, 2),
+};
+
+const union AnimCmd gUnknown_83A5634[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5644[] =
+{
+ gUnknown_83A5634,
+};
+
+const struct SpriteTemplate gUnknown_83A5648 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_Unknown1,
+ .anims = gUnknown_83A5644,
+ .images = gUnknown_83A561C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80DCCE0,
+};
+
+const struct SpriteFrameImage gUnknown_83A5660[] =
+{
+ overworld_frame(gUnknown_8399188, 2, 1, 0),
+ overworld_frame(gUnknown_8399188, 2, 1, 1),
+ overworld_frame(gUnknown_8399188, 2, 1, 2),
+ overworld_frame(gUnknown_8399188, 2, 1, 3),
+};
+
+const union AnimCmd gUnknown_83A5680[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5694[] =
+{
+ gUnknown_83A5680,
+};
+
+const struct SpriteTemplate gUnknown_83A5698 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_Unknown1,
+ .anims = gUnknown_83A5694,
+ .images = gUnknown_83A5660,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80DCCE0,
+};
+
+const struct SpriteFrameImage gUnknown_83A56B0[] =
+{
+ overworld_frame(gUnknown_839A388, 2, 2, 0),
+ overworld_frame(gUnknown_839A388, 2, 2, 1),
+};
+
+const union AnimCmd gUnknown_83A56C0[] =
+{
+ ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A56C8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A56D0[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A56D8[] =
+{
+ ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A56E0[] =
+{
+ gUnknown_83A56C0,
+ gUnknown_83A56C0,
+ gUnknown_83A56C8,
+ gUnknown_83A56D0,
+ gUnknown_83A56D8,
+};
+
+const struct SpriteTemplate gUnknown_83A56F4 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A56E0,
+ .images = gUnknown_83A56B0,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateFootprintsTireTracksFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A570C[] =
+{
+ overworld_frame(gUnknown_839A488, 2, 2, 0),
+ overworld_frame(gUnknown_839A488, 2, 2, 1),
+};
+
+const union AnimCmd gUnknown_83A571C[] =
+{
+ ANIMCMD_FRAME(0, 1, .vFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5724[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A572C[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5734[] =
+{
+ ANIMCMD_FRAME(1, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A573C[] =
+{
+ gUnknown_83A571C,
+ gUnknown_83A571C,
+ gUnknown_83A5724,
+ gUnknown_83A572C,
+ gUnknown_83A5734,
+};
+
+const struct SpriteTemplate gUnknown_83A5750 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A573C,
+ .images = gUnknown_83A570C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateFootprintsTireTracksFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5768[] =
+{
+ overworld_frame(gUnknown_839A588, 2, 2, 0),
+ overworld_frame(gUnknown_839A588, 2, 2, 1),
+ overworld_frame(gUnknown_839A588, 2, 2, 2),
+ overworld_frame(gUnknown_839A588, 2, 2, 3),
+};
+
+const union AnimCmd gUnknown_83A5788[] =
+{
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5790[] =
+{
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5798[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A57A0[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A57A8[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A57B0[] =
+{
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A57B8[] =
+{
+ ANIMCMD_FRAME(3, 1, .hFlip = TRUE),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A57C0[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A57C8[] =
+{
+ gUnknown_83A5788,
+ gUnknown_83A5788,
+ gUnknown_83A5790,
+ gUnknown_83A5798,
+ gUnknown_83A57A0,
+ gUnknown_83A57A8,
+ gUnknown_83A57B0,
+ gUnknown_83A57B8,
+ gUnknown_83A57C0,
+};
+
+const struct SpriteTemplate gUnknown_83A57EC =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A57C8,
+ .images = gUnknown_83A5768,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateFootprintsTireTracksFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5804[] =
+{
+ overworld_frame(gUnknown_839AA48, 2, 2, 0),
+ overworld_frame(gUnknown_839AA48, 2, 2, 1),
+ overworld_frame(gUnknown_839AA48, 2, 2, 2),
+ overworld_frame(gUnknown_839AA48, 2, 2, 3),
+};
+
+const union AnimCmd gUnknown_83A5824[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(1, 8),
+ ANIMCMD_FRAME(2, 8),
+ ANIMCMD_FRAME(3, 8),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5838[] =
+{
+ gUnknown_83A5824,
+};
+
+const struct SpriteTemplate gUnknown_83A583C =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5838,
+ .images = gUnknown_83A5804,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80DCCE0,
+};
+
+const struct SpriteFrameImage gUnknown_83A5854[] =
+{
+ overworld_frame(gUnknown_839AC48, 2, 1, 0),
+ overworld_frame(gUnknown_839AC48, 2, 1, 1),
+};
+
+const union AnimCmd gUnknown_83A5864[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5870[] =
+{
+ 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 gUnknown_83A5894[] =
+{
+ gUnknown_83A5864,
+ gUnknown_83A5870,
+};
+
+const struct SpriteTemplate gUnknown_83A589C =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_Unknown1,
+ .anims = gUnknown_83A5894,
+ .images = gUnknown_83A5854,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateSplashFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A58B4[] =
+{
+ overworld_frame(gUnknown_839ACC8, 2, 1, 0),
+ overworld_frame(gUnknown_839ACC8, 2, 1, 1),
+ overworld_frame(gUnknown_839ACC8, 2, 1, 2),
+};
+
+const union AnimCmd gUnknown_83A58CC[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A58DC[] =
+{
+ gUnknown_83A58CC,
+};
+
+const struct SpriteTemplate gUnknown_83A58E0 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_Unknown1,
+ .anims = gUnknown_83A58DC,
+ .images = gUnknown_83A58B4,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80DCCE0,
+};
+
+const struct SpriteFrameImage gUnknown_83A58F8[] =
+{
+ overworld_frame(gUnknown_8399E08, 2, 2, 0),
+ overworld_frame(gUnknown_8399E08, 2, 2, 1),
+ overworld_frame(gUnknown_8399E08, 2, 2, 2),
+ overworld_frame(gUnknown_8399E08, 2, 2, 3),
+};
+
+const union AnimCmd gUnknown_83A5918[] =
+{
+ 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 gUnknown_83A5938[] =
+{
+ gUnknown_83A5918,
+};
+
+const struct SpriteTemplate gUnknown_83A593C =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5938,
+ .images = gUnknown_83A58F8,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateLongGrassFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5954[] =
+{
+ overworld_frame(gUnknown_8399488, 2, 2, 0),
+ overworld_frame(gUnknown_8399488, 2, 2, 1),
+ overworld_frame(gUnknown_8399488, 2, 2, 2),
+ overworld_frame(gUnknown_8399488, 2, 2, 3),
+ overworld_frame(gUnknown_8399488, 2, 2, 4),
+ overworld_frame(gUnknown_8399488, 2, 2, 6),
+};
+
+const union AnimCmd gUnknown_83A5984[] =
+{
+ 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 gUnknown_83A59A0[] =
+{
+ gUnknown_83A5984,
+};
+
+const struct SpriteTemplate gUnknown_83A59A4 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A59A0,
+ .images = gUnknown_83A5954,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80DCCE0,
+};
+
+const struct SpriteFrameImage gUnknown_83A59BC[] =
+{
+ overworld_frame(gUnknown_8399788, 2, 2, 0),
+ overworld_frame(gUnknown_8399788, 2, 2, 1),
+ overworld_frame(gUnknown_8399788, 2, 2, 2),
+ overworld_frame(gUnknown_8399788, 2, 2, 3),
+ overworld_frame(gUnknown_8399788, 2, 2, 4),
+ overworld_frame(gUnknown_8399788, 2, 2, 5),
+ overworld_frame(gUnknown_8399788, 2, 2, 6),
+ overworld_frame(gUnknown_8399788, 2, 2, 7),
+ overworld_frame(gUnknown_8399788, 2, 2, 8),
+};
+
+const union AnimCmd gUnknown_83A5A04[] =
+{
+ 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 gUnknown_83A5A2C[] =
+{
+ gUnknown_83A5A04,
+};
+
+const struct SpriteTemplate gUnknown_83A5A30 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5A2C,
+ .images = gUnknown_83A59BC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = WaitFieldEffectSpriteAnim,
+};
+
+const struct SpriteFrameImage gUnknown_83A5A48[] =
+{
+ overworld_frame(gUnknown_8399C08, 2, 2, 0),
+ overworld_frame(gUnknown_8399C08, 2, 2, 1),
+ overworld_frame(gUnknown_8399C08, 2, 2, 2),
+ overworld_frame(gUnknown_8399C08, 2, 2, 3),
+};
+
+const union AnimCmd gUnknown_83A5A68[] =
+{
+ 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 gUnknown_83A5A84[] =
+{
+ gUnknown_83A5A68,
+};
+
+const struct SpriteTemplate gUnknown_83A5A88 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5A84,
+ .images = gUnknown_83A5A48,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = WaitFieldEffectSpriteAnim,
+};
+
+const struct SpriteFrameImage gUnknown_83A5AA0[] =
+{
+ overworld_frame(gUnknown_839A788, 2, 2, 0),
+ overworld_frame(gUnknown_839A788, 2, 2, 1),
+ overworld_frame(gUnknown_839A788, 2, 2, 2),
+ overworld_frame(gUnknown_839A788, 2, 2, 3),
+};
+
+const union AnimCmd gUnknown_83A5AC0[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_FRAME(3, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_83A5AD4[] =
+{
+ gUnknown_83A5AC0,
+};
+
+const struct SpriteTemplate gUnknown_83A5AD8 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5AD4,
+ .images = gUnknown_83A5AA0,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = WaitFieldEffectSpriteAnim,
+};
+
+const struct SpriteFrameImage gUnknown_83A5AF0[] =
+{
+ overworld_frame(gUnknown_839A988, 2, 1, 0),
+ overworld_frame(gUnknown_839A988, 2, 1, 1),
+ overworld_frame(gUnknown_839A988, 2, 1, 2),
+};
+
+const union AnimCmd gUnknown_83A5B08[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_FRAME(2, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5B18[] =
+{
+ gUnknown_83A5B08,
+};
+
+const struct SpriteTemplate gUnknown_83A5B1C =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_Unknown1,
+ .anims = gUnknown_83A5B18,
+ .images = gUnknown_83A5AF0,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateSandPileFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5B34[] =
+{
+ overworld_frame(gUnknown_839AD88, 2, 2, 0),
+ overworld_frame(gUnknown_839AD88, 2, 2, 1),
+ overworld_frame(gUnknown_839AD88, 2, 2, 2),
+ overworld_frame(gUnknown_839AD88, 2, 2, 3),
+};
+
+const union AnimCmd gUnknown_83A5B54[] =
+{
+ 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 gUnknown_83A5B70[] =
+{
+ gUnknown_83A5B54,
+};
+
+const struct SpriteTemplate gUnknown_83A5B74 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5B70,
+ .images = gUnknown_83A5B34,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = WaitFieldEffectSpriteAnim,
+};
+
+const union AffineAnimCmd gUnknown_83A5B8C[] =
+{
+ AFFINEANIMCMD_FRAME(-256, 256, 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 gUnknown_83A5BDC[] =
+{
+ AFFINEANIMCMD_FRAME(256, 256, 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 gUnknown_83A5C2C[] =
+{
+ gUnknown_83A5B8C,
+ gUnknown_83A5BDC,
+};
+
+const struct SpriteTemplate gUnknown_83A5C34 =
+{
+ .tileTag = 0x0,
+ .paletteTag = 0xFFFF,
+ .oam = &gDummyOamData,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_83A5C2C,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteFrameImage gUnknown_83A5C4C[] =
+{
+ overworld_frame(gUnknown_839B008, 2, 4, 0),
+ overworld_frame(gUnknown_839B008, 2, 4, 1),
+ overworld_frame(gUnknown_839B008, 2, 4, 2),
+ overworld_frame(gUnknown_839B008, 2, 4, 3),
+ overworld_frame(gUnknown_839B008, 2, 4, 4),
+ overworld_frame(gUnknown_839B008, 2, 4, 5),
+ overworld_frame(gUnknown_839B008, 2, 4, 6),
+};
+
+const union AnimCmd gUnknown_83A5C84[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5C8C[] =
+{
+ 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 gUnknown_83A5CAC[] =
+{
+ gUnknown_83A5C84,
+ gUnknown_83A5C8C,
+};
+
+const struct SpriteTemplate gUnknown_83A5CB4 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &gObjectEventBaseOam_16x32,
+ .anims = gUnknown_83A5CAC,
+ .images = gUnknown_83A5C4C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateDisguiseFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5CCC[] =
+{
+ overworld_frame(gUnknown_839B708, 2, 4, 0),
+ overworld_frame(gUnknown_839B708, 2, 4, 1),
+ overworld_frame(gUnknown_839B708, 2, 4, 2),
+ overworld_frame(gUnknown_839B708, 2, 4, 3),
+ overworld_frame(gUnknown_839B708, 2, 4, 4),
+ overworld_frame(gUnknown_839B708, 2, 4, 5),
+ overworld_frame(gUnknown_839B708, 2, 4, 6),
+};
+
+const union AnimCmd gUnknown_83A5D04[] =
+{
+ ANIMCMD_FRAME(0, 16),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5D0C[] =
+{
+ 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 gUnknown_83A5D2C[] =
+{
+ gUnknown_83A5D04,
+ gUnknown_83A5D0C,
+};
+
+const struct SpriteTemplate gUnknown_83A5D34 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &gObjectEventBaseOam_16x32,
+ .anims = gUnknown_83A5D2C,
+ .images = gUnknown_83A5CCC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateDisguiseFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5D4C[] =
+{
+ overworld_frame(gUnknown_839BE08, 2, 4, 0),
+ overworld_frame(gUnknown_839BE08, 2, 4, 1),
+ overworld_frame(gUnknown_839BE08, 2, 4, 2),
+ overworld_frame(gUnknown_839BE08, 2, 4, 3),
+ overworld_frame(gUnknown_839BE08, 2, 4, 4),
+ overworld_frame(gUnknown_839BE08, 2, 4, 5),
+ overworld_frame(gUnknown_839BE08, 2, 4, 6),
+};
+
+const struct SpriteTemplate gUnknown_83A5D84 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &gObjectEventBaseOam_16x32,
+ .anims = gUnknown_83A5CAC,
+ .images = gUnknown_83A5D4C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateDisguiseFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5D9C[] =
+{
+ overworld_frame(gUnknown_839D3C8, 8, 8, 0),
+ overworld_frame(gUnknown_839D3C8, 8, 8, 1),
+ overworld_frame(gUnknown_839D3C8, 8, 8, 2),
+ overworld_frame(gUnknown_839D3C8, 8, 8, 3),
+ overworld_frame(gUnknown_839D3C8, 8, 8, 4),
+};
+
+const union AnimCmd gUnknown_83A5DC4[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5DCC[] =
+{
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5DD4[] =
+{
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5DDC[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_83A5DE4[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5DEC[] =
+{
+ gUnknown_83A5DC4,
+ gUnknown_83A5DCC,
+ gUnknown_83A5DD4,
+ gUnknown_83A5DDC,
+ gUnknown_83A5DE4,
+};
+
+const struct SpriteTemplate gUnknown_83A5E00 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0xFFFF,
+ .oam = &gObjectEventBaseOam_64x64,
+ .anims = gUnknown_83A5DEC,
+ .images = gUnknown_83A5D9C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct SpriteFrameImage gUnknown_83A5E18[] =
+{
+ overworld_frame(gUnknown_839A288, 2, 2, 0),
+ overworld_frame(gUnknown_839A288, 2, 2, 1),
+};
+
+const union AnimCmd gUnknown_83A5E28[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(1, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5E34[] =
+{
+ gUnknown_83A5E28,
+};
+
+const struct SpriteTemplate gUnknown_83A5E38 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5E34,
+ .images = gUnknown_83A5E18,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateShortGrassFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5E50[] =
+{
+ overworld_frame(gUnknown_839C508, 2, 2, 0),
+};
+
+const union AnimCmd gUnknown_83A5E58[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5E60[] =
+{
+ gUnknown_83A5E58,
+};
+
+const struct SpriteTemplate gUnknown_83A5E64 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1005,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5E60,
+ .images = gUnknown_83A5E50,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateHotSpringsWaterFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5E7C[] =
+{
+ overworld_frame(gUnknown_839C5A8, 2, 2, 0),
+ overworld_frame(gUnknown_839C5A8, 2, 2, 1),
+ overworld_frame(gUnknown_839C5A8, 2, 2, 2),
+ overworld_frame(gUnknown_839C5A8, 2, 2, 3),
+ overworld_frame(gUnknown_839C5A8, 2, 2, 4),
+};
+
+const union AnimCmd gUnknown_83A5EA4[] =
+{
+ 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 gUnknown_83A5EBC[] =
+{
+ gUnknown_83A5EA4,
+};
+
+const struct SpriteTemplate gUnknown_83A5EC0 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5EBC,
+ .images = gUnknown_83A5E7C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_PopOutOfAsh,
+};
+
+const struct SpritePalette gUnknown_83A5ED8 = { .data = gUnknown_839C588, .tag = 0x100D };
+
+const struct SpriteFrameImage gUnknown_83A5EE0[] =
+{
+ overworld_frame(gUnknown_839C828, 2, 2, 0),
+ overworld_frame(gUnknown_839C828, 2, 2, 1),
+ overworld_frame(gUnknown_839C828, 2, 2, 2),
+ overworld_frame(gUnknown_839C828, 2, 2, 3),
+ overworld_frame(gUnknown_839C828, 2, 2, 4),
+};
+
+const union AnimCmd gUnknown_83A5F08[] =
+{
+ 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 gUnknown_83A5F20[] =
+{
+ gUnknown_83A5F08,
+};
+
+const struct SpriteTemplate gUnknown_83A5F24 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5F20,
+ .images = gUnknown_83A5EE0,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_LavaridgeGymWarp,
+};
+
+const struct SpriteFrameImage gUnknown_83A5F3C[] =
+{
+ overworld_frame(gUnknown_839CAA8, 2, 4, 0),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 1),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 2),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 3),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 4),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 5),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 6),
+ overworld_frame(gUnknown_839CAA8, 2, 4, 7),
+};
+
+const union AnimCmd gUnknown_83A5F7C[] =
+{
+ 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 gUnknown_83A5FA0[] =
+{
+ gUnknown_83A5F7C,
+};
+
+const struct SpriteTemplate gUnknown_83A5FA4 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1004,
+ .oam = &gObjectEventBaseOam_16x32,
+ .anims = gUnknown_83A5FA0,
+ .images = gUnknown_83A5F3C,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateBubblesFieldEffect,
+};
+
+const struct SpriteFrameImage gUnknown_83A5FBC[] =
+{
+ overworld_frame(gUnknown_839D2A8, 2, 2, 0),
+ overworld_frame(gUnknown_839D2A8, 2, 2, 1),
+};
+
+const union AnimCmd gUnknown_83A5FCC[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_83A5FDC[] =
+{
+ gUnknown_83A5FCC,
+};
+
+const struct SpriteTemplate gUnknown_83A5FE0 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100F,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gUnknown_83A5FDC,
+ .images = gUnknown_83A5FBC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = UpdateSparkleFieldEffect,
+};
+
+const struct SpritePalette gUnknown_83A5FF8 = { .data = gUnknown_839D3A8, .tag = 0x100F };
diff --git a/src/event_object_movement.c b/src/event_object_movement.c
index dae1a5926..6c3f45db3 100644
--- a/src/event_object_movement.c
+++ b/src/event_object_movement.c
@@ -288,9 +288,61 @@ extern u8 (*const *const gMovementActionFuncs[])(struct ObjectEvent *, struct Sp
extern u8 (*const gUnknown_83A6884[5])(u8);
extern const s16 gUnknown_83A6958[3];
extern const s16 gUnknown_83A695E[3];
+extern const u16 gUnknown_8398FA8[];
+extern const u16 gUnknown_8398FC8[];
+extern const u32 gUnknown_8398048[8];
+extern const u32 gUnknown_8398068[16];
+extern const u32 gUnknown_83980A8[32];
+extern const u32 gUnknown_8398128[256];
+extern const u32 gUnknown_839A008[];
+extern const u32 gUnknown_83986A8[];
+extern const u32 gUnknown_8398928[];
+extern const u32 gUnknown_8396B08[];
+extern const u32 gUnknown_8398BA8[];
+extern const u32 gUnknown_8399008[];
+extern const u32 gUnknown_8399188[];
+extern const u32 gUnknown_839A388[];
+extern const u32 gUnknown_839A488[];
+extern const u32 gUnknown_839A588[];
+extern const u32 gUnknown_839AA48[];
+extern const u32 gUnknown_839AC48[];
+extern const u32 gUnknown_839ACC8[];
+extern const u32 gUnknown_8399E08[];
+extern const u32 gUnknown_8399488[];
+extern const u32 gUnknown_8399788[];
+extern const u32 gUnknown_8399C08[];
+extern const u32 gUnknown_839A788[];
+extern const u32 gUnknown_839A988[];
+extern const u32 gUnknown_839AD88[];
+extern const u32 gUnknown_839B008[];
+extern const u32 gUnknown_839B708[];
+extern const u32 gUnknown_839BE08[];
+extern const u32 gUnknown_839D3C8[];
+extern const u32 gUnknown_839A288[];
+extern const u32 gUnknown_839C508[];
+extern const u32 gUnknown_839C5A8[];
+extern const u16 gUnknown_839C588[];
+extern const u32 gUnknown_839C828[];
+extern const u32 gUnknown_839CAA8[];
+extern const u32 gUnknown_839D2A8[];
+extern const u16 gUnknown_839D3A8[];
+extern const struct OamData gObjectEventBaseOam_16x16;
+extern const struct OamData gObjectEventBaseOam_16x32;
+extern const struct OamData gObjectEventBaseOam_64x64;
+extern const struct OamData gObjectEventBaseOam_128x64;
+extern const struct OamData gObjectEventBaseOam_Unknown1;
+extern const struct OamData gObjectEventBaseOam_Unknown2;
+extern const struct OamData gObjectEventBaseOam_Unknown3;
+
#define OBJ_EVENT_PAL_TAG_NONE 0x11FF
+#include "data/field_effects/field_effect_objects.h"
+
+const s16 gMovementDelaysMedium[] = {32, 64, 96, 128};
+const s16 gMovementDelaysLong[] = {32, 64, 128, 192};
+const s16 gMovementDelaysShort[] = {32, 48, 64, 80};
+
#include "data/object_events/movement_type_func_tables.h"
const u8 gFaceDirectionAnimNums[] = {