summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgarak <garakmon@gmail.com>2018-10-24 20:01:40 -0400
committergarak <garakmon@gmail.com>2018-10-24 20:01:40 -0400
commit17c26fae1a71d4b95b044b70c03656ef44194da5 (patch)
tree1330a852ad6058872ee5f3d1bcef7e1cb3c27831 /src
parent22a0b58e57a26f8636b0afcb841aef8ae4910192 (diff)
fire, electric, ice data
Diffstat (limited to 'src')
-rw-r--r--src/electric.c438
-rw-r--r--src/fire.c438
-rw-r--r--src/ice.c491
3 files changed, 1367 insertions, 0 deletions
diff --git a/src/electric.c b/src/electric.c
new file mode 100644
index 000000000..5d65915b2
--- /dev/null
+++ b/src/electric.c
@@ -0,0 +1,438 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_810A1A8(struct Sprite *);
+extern void sub_810A214(struct Sprite *);
+extern void sub_810A274(struct Sprite *);
+extern void sub_810A308(struct Sprite *);
+extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
+extern void sub_810A46C(struct Sprite *);
+extern void sub_810A5BC(struct Sprite *);
+extern void sub_810A628(struct Sprite *);
+extern void sub_810A75C(struct Sprite *);
+extern void sub_810A9DC(struct Sprite *);
+extern void sub_810AA2C(struct Sprite *);
+extern void sub_810ACD8(struct Sprite *);
+extern void sub_810AD30(struct Sprite *);
+extern void sub_810AD98(struct Sprite *);
+extern void sub_810B1F0(struct Sprite *);
+extern void sub_810B23C(struct Sprite *);
+extern void sub_810B51C(struct Sprite *);
+
+const union AnimCmd gUnknown_085956A4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 8),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085956BC[] =
+{
+ gUnknown_085956A4,
+};
+
+const struct SpriteTemplate gUnknown_085956C0 =
+{
+ .tileTag = ANIM_TAG_LIGHTNING,
+ .paletteTag = ANIM_TAG_LIGHTNING,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085956BC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A1A8,
+};
+
+const union AffineAnimCmd gUnknown_085956D8[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 20),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, -16, 60),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085956F8[] =
+{
+ gUnknown_085956D8,
+};
+
+const struct SpriteTemplate gUnknown_085956FC =
+{
+ .tileTag = ANIM_TAG_HANDS_AND_FEET,
+ .paletteTag = ANIM_TAG_HANDS_AND_FEET,
+ .oam = &gUnknown_08524974,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_085956F8,
+ .callback = sub_810A214,
+};
+
+const union AnimCmd gUnknown_08595714[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_FRAME(80, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595730[] =
+{
+ gUnknown_08595714,
+};
+
+const struct SpriteTemplate gUnknown_08595734 =
+{
+ .tileTag = ANIM_TAG_SHOCK,
+ .paletteTag = ANIM_TAG_SHOCK,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595730,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A274,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_859574C =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A308,
+};
+
+const struct SpriteTemplate gUnknown_08595764 =
+{
+ .tileTag = ANIM_TAG_BLACK_BALL_2,
+ .paletteTag = ANIM_TAG_BLACK_BALL_2,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const union AffineAnimCmd gUnknown_0859577C[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_0859578C[] =
+{
+ gUnknown_0859577C,
+};
+
+const struct SpriteTemplate gUnknown_08595790 =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859578C,
+ .callback = sub_810A46C,
+};
+
+const union AnimCmd gUnknown_085957A8[] =
+{
+ ANIMCMD_FRAME(0, 6),
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085957B8[] =
+{
+ gUnknown_085957A8,
+};
+
+const union AffineAnimCmd gUnknown_085957BC[] =
+{
+ AFFINEANIMCMD_FRAME(0xE8, 0xE8, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 10),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 10),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_085957DC[] =
+{
+ gUnknown_085957BC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85957E0 =
+{
+ .tileTag = ANIM_TAG_SHOCK_3,
+ .paletteTag = ANIM_TAG_SHOCK_3,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085957B8,
+ .images = NULL,
+ .affineAnims = gUnknown_085957DC,
+ .callback = sub_810A5BC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_85957F8 =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859578C,
+ .callback = sub_810A628,
+};
+
+const struct SpriteTemplate gElectricitySpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SPARK_2,
+ .paletteTag = ANIM_TAG_SPARK_2,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A75C,
+};
+
+const struct SpriteTemplate gUnknown_08595828 =
+{
+ .tileTag = ANIM_TAG_SPARK,
+ .paletteTag = ANIM_TAG_SPARK,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810A9DC,
+};
+
+const struct SpriteTemplate gUnknown_08595840 =
+{
+ .tileTag = ANIM_TAG_SPARK_H,
+ .paletteTag = ANIM_TAG_SPARK_H,
+ .oam = &gUnknown_08524934,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810AA2C,
+};
+
+const s8 gUnknown_08595858[][2] =
+{
+ { 58, -60},
+ {-56, -36},
+ { 8, -56},
+ {-16, 56},
+ { 58, -10},
+ {-58, 10},
+ { 48, -18},
+ {-8, 56},
+ { 16, -56},
+ {-58, -42},
+ { 58, 30},
+ {-48, 40},
+ { 12, -48},
+ { 48, -12},
+ {-56, 18},
+ { 48, 48},
+};
+
+const union AnimCmd gUnknown_08595878[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859588C[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(1, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(3, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085958A0[] =
+{
+ gUnknown_08595878,
+ gUnknown_0859588C,
+};
+
+const struct SpriteTemplate gUnknown_085958A8 =
+{
+ .tileTag = ANIM_TAG_ELECTRIC_ORBS,
+ .paletteTag = ANIM_TAG_ELECTRIC_ORBS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_085958A0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const union AffineAnimCmd gUnknown_085958C0[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 60),
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_LOOP(0),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5),
+ AFFINEANIMCMD_LOOP(10),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595900[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0xFFFC, 0xFFFC, 0, 5),
+ AFFINEANIMCMD_FRAME(0x4, 0x4, 0, 5),
+ AFFINEANIMCMD_JUMP(3),
+};
+
+const union AffineAnimCmd gUnknown_08595930[] =
+{
+ AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0),
+ AFFINEANIMCMD_FRAME(0x8, 0x8, 0, 30),
+ AFFINEANIMCMD_FRAME(0xFFF8, 0xFFF8, 0, 30),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595950[] =
+{
+ gUnknown_085958C0,
+ gUnknown_08595900,
+ gUnknown_08595930,
+};
+
+const struct SpriteTemplate gUnknown_0859595C =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595950,
+ .callback = sub_810ACD8,
+};
+
+const union AnimCmd gUnknown_08595974[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595988[] =
+{
+ gUnknown_08595974,
+};
+
+const struct SpriteTemplate gUnknown_0859598C =
+{
+ .tileTag = ANIM_TAG_ELECTRICITY,
+ .paletteTag = ANIM_TAG_ELECTRICITY,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595988,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810AD30,
+};
+
+const struct SpriteTemplate gUnknown_085959A4 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595950,
+ .callback = sub_810AD98,
+};
+
+const union AnimCmd gUnknown_085959BC[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085959C4[] =
+{
+ ANIMCMD_FRAME(2, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085959CC[] =
+{
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_085959D4[] =
+{
+ ANIMCMD_FRAME(6, 3),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_085959DC[] =
+{
+ gUnknown_085959BC,
+ gUnknown_085959C4,
+ gUnknown_085959CC,
+ gUnknown_085959D4,
+};
+
+const union AffineAnimCmd gUnknown_085959EC[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 64, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085959FC[] =
+{
+ gUnknown_085959EC,
+};
+
+const struct SpriteTemplate gUnknown_08595A00 =
+{
+ .tileTag = ANIM_TAG_SPARK,
+ .paletteTag = ANIM_TAG_SPARK,
+ .oam = &gUnknown_08524A04,
+ .anims = gUnknown_085959DC,
+ .images = NULL,
+ .affineAnims = gUnknown_085959FC,
+ .callback = sub_810B1F0,
+};
+
+const struct SpriteTemplate gUnknown_08595A18 =
+{
+ .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT,
+ .oam = &gUnknown_08524A9C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595950,
+ .callback = sub_810B23C,
+};
+
+const struct SpriteTemplate gUnknown_08595A30 =
+{
+ .tileTag = ANIM_TAG_SPARK,
+ .paletteTag = ANIM_TAG_SPARK,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B51C,
+};
diff --git a/src/fire.c b/src/fire.c
new file mode 100644
index 000000000..02c0db81c
--- /dev/null
+++ b/src/fire.c
@@ -0,0 +1,438 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_8108EC8(struct Sprite *);
+extern void sub_8108F08(struct Sprite *);
+extern void sub_8108FBC(struct Sprite *);
+extern void sub_8108F4C(struct Sprite *);
+extern void sub_8109064(struct Sprite *);
+extern void sub_810916C(struct Sprite *);
+extern void TranslateAnimSpriteToTargetMonLocation(struct Sprite *);
+extern void sub_8109198(struct Sprite *);
+extern void sub_8109200(struct Sprite *);
+extern void sub_810921C(struct Sprite *);
+extern void sub_8109364(struct Sprite *);
+extern void sub_81093A4(struct Sprite *);
+extern void sub_80A8EE4(struct Sprite *);
+extern void sub_81098EC(struct Sprite *);
+extern void sub_8109A10(struct Sprite *);
+extern void sub_8109AFC(struct Sprite *);
+extern void sub_8109CB0(struct Sprite *);
+
+const union AnimCmd gUnknown_08595340[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08595350[] =
+{
+ ANIMCMD_FRAME(16, 4, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(32, 4, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_FRAME(48, 4, .vFlip = TRUE, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595360[] =
+{
+ gUnknown_08595340,
+ gUnknown_08595350,
+};
+
+const struct SpriteTemplate gUnknown_08595368 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108EC8,
+};
+
+const struct SpriteTemplate gUnknown_08595380 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108F08,
+};
+
+const union AnimCmd gUnknown_08595398[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_FRAME(80, 3),
+ ANIMCMD_FRAME(96, 3),
+ ANIMCMD_FRAME(112, 3),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085953BC[] =
+{
+ gUnknown_08595398,
+};
+
+const union AnimCmd gUnknown_085953C0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_FRAME(64, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085953D8[] =
+{
+ gUnknown_085953C0,
+};
+
+const union AffineAnimCmd gUnknown_085953DC[] =
+{
+ AFFINEANIMCMD_FRAME(0x32, 0x100, 0, 0),
+ AFFINEANIMCMD_FRAME(0x20, 0x0, 0, 7),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_085953F4[] =
+{
+ gUnknown_085953DC,
+};
+
+const struct SpriteTemplate gUnknown_085953F8 =
+{
+ .tileTag = ANIM_TAG_FIRE,
+ .paletteTag = ANIM_TAG_FIRE,
+ .oam = &gUnknown_08524974,
+ .anims = gUnknown_085953BC,
+ .images = NULL,
+ .affineAnims = gUnknown_085953F4,
+ .callback = sub_8108FBC,
+};
+
+const struct SpriteTemplate gUnknown_08595410 =
+{
+ .tileTag = ANIM_TAG_FIRE,
+ .paletteTag = ANIM_TAG_FIRE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085953BC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108FBC,
+};
+
+const struct SpriteTemplate gUnknown_08595428 =
+{
+ .tileTag = ANIM_TAG_FIRE_PLUME,
+ .paletteTag = ANIM_TAG_FIRE_PLUME,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085953D8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108F4C,
+};
+
+const struct SpriteTemplate gUnknown_08595440 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085953D8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8108F4C,
+};
+
+const union AnimCmd gUnknown_08595458[] =
+{
+ ANIMCMD_FRAME(16, 6),
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595468[] =
+{
+ gUnknown_08595458,
+};
+
+const struct SpriteTemplate gUnknown_0859546C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595468,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109064,
+};
+
+const union AffineAnimCmd gUnknown_08595484[] =
+{
+ AFFINEANIMCMD_FRAME(0x50, 0x50, 0, 0),
+ AFFINEANIMCMD_FRAME(0x2, 0x2, 10, 1),
+ AFFINEANIMCMD_JUMP(1),
+};
+
+const union AffineAnimCmd *const gUnknown_0859549C[] =
+{
+ gUnknown_08595484,
+};
+
+const struct SpriteTemplate gUnknown_085954A0 =
+{
+ .tileTag = ANIM_TAG_SUNLIGHT,
+ .paletteTag = ANIM_TAG_SUNLIGHT,
+ .oam = &gUnknown_08524A94,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_0859549C,
+ .callback = sub_810916C,
+};
+
+const union AnimCmd gUnknown_085954B8[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_085954D0[] =
+{
+ gUnknown_085954B8,
+};
+
+const struct SpriteTemplate gEmberSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = TranslateAnimSpriteToTargetMonLocation,
+};
+
+const struct SpriteTemplate gEmberFlareSpriteTemplate =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109198,
+};
+
+const struct SpriteTemplate gUnknown_08595504 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109200,
+};
+
+const struct SpriteTemplate gUnknown_0859551C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810921C,
+};
+
+const union AnimCmd gUnknown_08595534[] =
+{
+ ANIMCMD_FRAME(32, 6),
+ ANIMCMD_FRAME(48, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595540[] =
+{
+ gUnknown_08595534,
+};
+
+const union AffineAnimCmd gUnknown_08595544[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 1),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595554[] =
+{
+ AFFINEANIMCMD_FRAME(0xA0, 0xA0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595564[] =
+{
+ gUnknown_08595544,
+ gUnknown_08595554,
+};
+
+const struct SpriteTemplate gUnknown_0859556C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595540,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109364,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_8595584 =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81093A4,
+};
+
+const struct SpriteTemplate gUnknown_0859559C =
+{
+ .tileTag = ANIM_TAG_SMALL_EMBER,
+ .paletteTag = ANIM_TAG_SMALL_EMBER,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_085954D0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8EE4,
+};
+
+const struct SpriteTemplate gUnknown_085955B4 =
+{
+ .tileTag = ANIM_TAG_WARM_ROCK,
+ .paletteTag = ANIM_TAG_WARM_ROCK,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_81098EC,
+};
+
+// gHeatedRockCoords
+const s16 gUnknown_085955CC[][2] =
+{
+ {-2, -5},
+ {-1, -1},
+ { 3, -6},
+ { 4, -2},
+ { 2, -8},
+ {-5, -5},
+ { 4, -7},
+};
+
+const struct SpriteTemplate gUnknown_085955E8 =
+{
+ .tileTag = ANIM_TAG_WARM_ROCK,
+ .paletteTag = ANIM_TAG_WARM_ROCK,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109A10,
+};
+
+const union AnimCmd gUnknown_08595600[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(8, 5),
+ ANIMCMD_FRAME(12, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gUnknown_08595614[] =
+{
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_0859561C[] =
+{
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595624[] =
+{
+ ANIMCMD_FRAME(20, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_0859562C[] =
+{
+ gUnknown_08595600,
+ gUnknown_08595614,
+ gUnknown_0859561C,
+ gUnknown_08595624,
+};
+
+const struct SpriteTemplate gUnknown_0859563C =
+{
+ .tileTag = ANIM_TAG_WISP_ORB,
+ .paletteTag = ANIM_TAG_WISP_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_0859562C,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109AFC,
+};
+
+const union AnimCmd gUnknown_08595654[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(16, 5),
+ ANIMCMD_FRAME(32, 5),
+ ANIMCMD_FRAME(48, 5),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595668[] =
+{
+ gUnknown_08595654,
+};
+
+const struct SpriteTemplate gUnknown_0859566C =
+{
+ .tileTag = ANIM_TAG_WISP_FIRE,
+ .paletteTag = ANIM_TAG_WISP_FIRE,
+ .oam = &gUnknown_08524914,
+ .anims = gUnknown_08595668,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8109CB0,
+};
+
+const s8 gUnknown_08595684[16] =
+{
+ -1, -1, 0, 1, 1, 0, 0, -1, -1, 1, 1, 0, 0, -1, 0, 1,
+};
+
+const s8 gUnknown_08595694[16] =
+{
+ -1, 0, 1, 0, -1, 1, 0, -1, 0, 1, 0, -1, 0, 1, 0, 1,
+};
diff --git a/src/ice.c b/src/ice.c
new file mode 100644
index 000000000..ebd0d3cf6
--- /dev/null
+++ b/src/ice.c
@@ -0,0 +1,491 @@
+#include "global.h"
+#include "battle_anim.h"
+#include "constants/rgb.h"
+
+extern void sub_810B6C4(struct Sprite *);
+extern void sub_810B8AC(struct Sprite *);
+extern void sub_810B8EC(struct Sprite *);
+extern void sub_810B974(struct Sprite *);
+extern void sub_810BA24(struct Sprite *);
+extern void sub_810BC94(struct Sprite *);
+extern void sub_810BE48(struct Sprite *);
+extern void sub_810BED0(struct Sprite *);
+extern void sub_810C2F0(struct Sprite *);
+extern void sub_810C560(struct Sprite *);
+extern void sub_810CB58(struct Sprite *);
+extern void sub_80A8EE4(struct Sprite *);
+extern void unc_080B06FC(struct Sprite *);
+extern void sub_810CD4C(struct Sprite *);
+
+const union AnimCmd gUnknown_08595A48[] =
+{
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 5, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595A54[] =
+{
+ gUnknown_08595A48,
+};
+
+// unknown sprite template
+const struct SpriteTemplate gUnknown_08595A58 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B6C4,
+};
+
+const union AnimCmd gUnknown_08595A70[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A78[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A80[] =
+{
+ ANIMCMD_FRAME(6, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A88[] =
+{
+ ANIMCMD_FRAME(7, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A90[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595A98[] =
+{
+ ANIMCMD_FRAME(12, 6),
+ ANIMCMD_FRAME(13, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595AA4[] =
+{
+ gUnknown_08595A70,
+};
+
+const union AnimCmd *const gUnknown_08595AA8[] =
+{
+ gUnknown_08595A78,
+};
+
+const union AnimCmd *const gUnknown_08595AAC[] =
+{
+ gUnknown_08595A80,
+};
+
+const union AnimCmd *const gUnknown_08595AB0[] =
+{
+ gUnknown_08595A88,
+};
+
+const union AnimCmd *const gUnknown_08595AB4[] =
+{
+ gUnknown_08595A90,
+};
+
+const union AnimCmd *const gUnknown_08595AB8[] =
+{
+ gUnknown_08595A98,
+};
+
+const union AffineAnimCmd gUnknown_08595ABC[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08595ACC[] =
+{
+ gUnknown_08595ABC,
+};
+
+const struct SpriteTemplate gUnknown_08595AD0 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524B24,
+ .anims = gUnknown_08595AA8,
+ .images = NULL,
+ .affineAnims = gUnknown_08595ACC,
+ .callback = sub_810B8AC,
+};
+
+const struct SpriteTemplate gUnknown_08595AE8 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524A24,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B8AC,
+};
+
+const union AffineAnimCmd gUnknown_08595B00[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gUnknown_08595B10[] =
+{
+ gUnknown_08595B00,
+};
+
+const struct SpriteTemplate gUnknown_08595B14 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524AC4,
+ .anims = gUnknown_08595AA8,
+ .images = NULL,
+ .affineAnims = gUnknown_08595B10,
+ .callback = sub_810B8EC,
+};
+
+const struct SpriteTemplate gUnknown_08595B2C =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524A24,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810B8EC,
+};
+
+const union AffineAnimCmd gUnknown_08595B44[] =
+{
+ AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595B64[] =
+{
+ gUnknown_08595B44,
+};
+
+const struct SpriteTemplate gUnknown_08595B68 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524AC4,
+ .anims = gUnknown_08595AA8,
+ .images = NULL,
+ .affineAnims = gUnknown_08595B64,
+ .callback = sub_810B974,
+};
+
+const struct SpriteTemplate gUnknown_08595B80 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524A84,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gUnknown_08595B64,
+ .callback = sub_810B974,
+};
+
+const struct SpriteTemplate gUnknown_08595B98 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AB0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BA24,
+};
+
+const struct SpriteTemplate gUnknown_08595BB0 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_0852490C,
+ .anims = gUnknown_08595AB4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BC94,
+};
+
+const struct SpriteTemplate gUnknown_08595BC8 =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AB0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BC94,
+};
+
+const union AnimCmd gUnknown_08595BE0[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(6, 5),
+ ANIMCMD_FRAME(4, 5),
+ ANIMCMD_FRAME(2, 5),
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595C00[] =
+{
+ gUnknown_08595BE0,
+};
+
+const struct SpriteTemplate gUnknown_08595C04 =
+{
+ .tileTag = ANIM_TAG_ICE_SPIKES,
+ .paletteTag = ANIM_TAG_ICE_SPIKES,
+ .oam = &gUnknown_08524A64,
+ .anims = gUnknown_08595C00,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BE48,
+};
+
+const union AnimCmd gUnknown_08595C1C[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gUnknown_08595C28[] =
+{
+ gUnknown_08595C1C,
+};
+
+const struct SpriteTemplate gUnknown_08595C2C =
+{
+ .tileTag = ANIM_TAG_MIST_CLOUD,
+ .paletteTag = ANIM_TAG_MIST_CLOUD,
+ .oam = &gUnknown_08524A54,
+ .anims = gUnknown_08595C28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BED0,
+};
+
+const struct SpriteTemplate gUnknown_08595C44 =
+{
+ .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .oam = &gUnknown_08524A54,
+ .anims = gUnknown_08595C28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810BED0,
+};
+
+const u8 gUnknown_08595C5C[] =
+{
+ 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9,
+};
+
+const struct SpriteTemplate gUnknown_08595C70 =
+{
+ .tileTag = ANIM_TAG_SMALL_BUBBLES,
+ .paletteTag = ANIM_TAG_SMALL_BUBBLES,
+ .oam = &gUnknown_0852490C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810C2F0,
+};
+
+const u8 gUnknown_08595C88[] =
+{
+ 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,
+};
+
+const struct SpriteTemplate gUnknown_08595C9C =
+{
+ .tileTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .paletteTag = ANIM_TAG_PURPLE_GAS_CLOUD,
+ .oam = &gUnknown_08524A54,
+ .anims = gUnknown_08595C28,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810C560,
+};
+
+const u8 gUnknown_08595CB4[][4] =
+{
+ {0x64, 0xE0, 0x01, 0x20},
+ {0x55, 0xE0, 0x01, 0x00},
+ {0xF2, 0xE0, 0x11, 0x10},
+ {0x42, 0xE0, 0x21, 0x10},
+ {0xB6, 0xE0, 0x31, 0x00},
+ {0x3C, 0xE0, 0x01, 0x20},
+ {0xD6, 0xE0, 0x11, 0x00},
+ {0x71, 0xE0, 0x01, 0x10},
+ {0xD2, 0xE0, 0x31, 0x10},
+ {0x26, 0xE0, 0x21, 0x00},
+};
+
+const union AffineAnimCmd gUnknown_08595CDC[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595CEC[] =
+{
+ AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595CFC[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595D0C[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595D1C[] =
+{
+ gUnknown_08595CDC,
+ gUnknown_08595CEC,
+ gUnknown_08595CFC,
+};
+
+const union AffineAnimCmd *const gUnknown_08595D28[] =
+{
+ gUnknown_08595D0C,
+};
+
+const struct SpriteTemplate gUnknown_08595D2C =
+{
+ .tileTag = ANIM_TAG_HAIL,
+ .paletteTag = ANIM_TAG_HAIL,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595D1C,
+ .callback = sub_810CB58,
+};
+
+const struct SpriteTemplate gUnknown_08595D44 =
+{
+ .tileTag = ANIM_TAG_HAIL,
+ .paletteTag = ANIM_TAG_HAIL,
+ .oam = &gUnknown_0852496C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gUnknown_08595D28,
+ .callback = sub_80A8EE4,
+};
+
+const union AnimCmd gUnknown_08595D5C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gUnknown_08595D64[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gUnknown_08595D78[] =
+{
+ gUnknown_08595D5C,
+ gUnknown_08595D64,
+};
+
+const union AffineAnimCmd gUnknown_08595D80[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595D90[] =
+{
+ AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595DA0[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595DB0[] =
+{
+ AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gUnknown_08595DC0[] =
+{
+ AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gUnknown_08595DD0[] =
+{
+ gUnknown_08595D80,
+ gUnknown_08595D90,
+ gUnknown_08595DA0,
+ gUnknown_08595DB0,
+ gUnknown_08595DC0,
+};
+
+const struct SpriteTemplate gUnknown_08595DE4 =
+{
+ .tileTag = ANIM_TAG_ICE_CHUNK,
+ .paletteTag = ANIM_TAG_ICE_CHUNK,
+ .oam = &gUnknown_085249D4,
+ .anims = gUnknown_08595D78,
+ .images = NULL,
+ .affineAnims = gUnknown_08595DD0,
+ .callback = unc_080B06FC,
+};
+
+const struct SpriteTemplate gUnknown_08595DFC =
+{
+ .tileTag = ANIM_TAG_ICE_CRYSTALS,
+ .paletteTag = ANIM_TAG_ICE_CRYSTALS,
+ .oam = &gUnknown_08524904,
+ .anims = gUnknown_08595AAC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_810CD4C,
+};