summaryrefslogtreecommitdiff
path: root/src/battle/anim/ice.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle/anim/ice.c')
-rwxr-xr-xsrc/battle/anim/ice.c495
1 files changed, 495 insertions, 0 deletions
diff --git a/src/battle/anim/ice.c b/src/battle/anim/ice.c
new file mode 100755
index 000000000..50c8b9030
--- /dev/null
+++ b/src/battle/anim/ice.c
@@ -0,0 +1,495 @@
+#include "global.h"
+#include "rom_8077ABC.h"
+#include "battle_anim.h"
+
+extern s16 gBattleAnimArgs[];
+extern u8 gAnimBankAttacker;
+extern u8 gAnimBankTarget;
+
+void sub_80D7704(struct Sprite *sprite);
+void sub_80D78EC(struct Sprite *sprite);
+void sub_80D792C(struct Sprite *sprite);
+void sub_80D79B4(struct Sprite *sprite);
+void sub_80D7A64(struct Sprite *sprite);
+void sub_80D7CD4(struct Sprite *sprite);
+void sub_80D7E88(struct Sprite *sprite);
+void sub_80D7F10(struct Sprite *sprite);
+void sub_80D83E0(struct Sprite *sprite);
+void sub_80D8700(struct Sprite *sprite);
+void sub_80D8D1C(struct Sprite *sprite);
+void sub_807A9BC(struct Sprite *sprite);
+void unc_080B06FC(struct Sprite *sprite);
+void sub_80D8F10(struct Sprite *sprite);
+
+const union AnimCmd gSpriteAnim_83D9B58[] =
+{
+ ANIMCMD_FRAME(0, 5, .hFlip = TRUE),
+ ANIMCMD_FRAME(1, 5, .hFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9B64[] =
+{
+ gSpriteAnim_83D9B58,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83D9B68 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837DF24,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7704,
+};
+
+const union AnimCmd gSpriteAnim_83D9B80[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D9B88[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D9B90[] =
+{
+ ANIMCMD_FRAME(6, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D9B98[] =
+{
+ ANIMCMD_FRAME(7, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D9BA0[] =
+{
+ ANIMCMD_FRAME(8, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D9BA8[] =
+{
+ ANIMCMD_FRAME(12, 6),
+ ANIMCMD_FRAME(13, 6),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9BB4[] =
+{
+ gSpriteAnim_83D9B80,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9BB8[] =
+{
+ gSpriteAnim_83D9B88,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9BBC[] =
+{
+ gSpriteAnim_83D9B90,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9BC0[] =
+{
+ gSpriteAnim_83D9B98,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9BC4[] =
+{
+ gSpriteAnim_83D9BA0,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9BC8[] =
+{
+ gSpriteAnim_83D9BA8,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9BCC[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 40, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9BDC[] =
+{
+ gSpriteAffineAnim_83D9BCC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9BE0 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837E144,
+ .anims = gSpriteAnimTable_83D9BB8,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9BDC,
+ .callback = sub_80D78EC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9BF8 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837E044,
+ .anims = gSpriteAnimTable_83D9BBC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D78EC,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9C10[] =
+{
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
+ AFFINEANIMCMD_JUMP(0),
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9C20[] =
+{
+ gSpriteAffineAnim_83D9C10,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C24 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837E0E4,
+ .anims = gSpriteAnimTable_83D9BB8,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9C20,
+ .callback = sub_80D792C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C3C =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837E044,
+ .anims = gSpriteAnimTable_83D9BBC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D792C,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9C54[] =
+{
+ AFFINEANIMCMD_FRAME(0xCE, 0xCE, 0, 0),
+ AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
+ AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9C74[] =
+{
+ gSpriteAffineAnim_83D9C54,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C78 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837E0E4,
+ .anims = gSpriteAnimTable_83D9BB8,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9C74,
+ .callback = sub_80D79B4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9C90 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837E0A4,
+ .anims = gSpriteAnimTable_83D9BBC,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9C74,
+ .callback = sub_80D79B4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9CA8 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_83D9BC0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7A64,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9CC0 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837DF2C,
+ .anims = gSpriteAnimTable_83D9BC4,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7CD4,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9CD8 =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_83D9BC0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7CD4,
+};
+
+const union AnimCmd gSpriteAnim_83D9CF0[] =
+{
+ 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 gSpriteAnimTable_83D9D10[] =
+{
+ gSpriteAnim_83D9CF0,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D14 =
+{
+ .tileTag = 10142,
+ .paletteTag = 10142,
+ .oam = &gOamData_837E084,
+ .anims = gSpriteAnimTable_83D9D10,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7E88,
+};
+
+const union AnimCmd gSpriteAnim_83D9D2C[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9D38[] =
+{
+ gSpriteAnim_83D9D2C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D3C =
+{
+ .tileTag = 10144,
+ .paletteTag = 10144,
+ .oam = &gOamData_837E074,
+ .anims = gSpriteAnimTable_83D9D38,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7F10,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D54 =
+{
+ .tileTag = 10172,
+ .paletteTag = 10172,
+ .oam = &gOamData_837E074,
+ .anims = gSpriteAnimTable_83D9D38,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D7F10,
+};
+
+const u8 gUnknown_083D9D6C[] =
+{
+ 0, 1, 2, 2, 2, 2, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 8, 8, 9,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9D80 =
+{
+ .tileTag = 10155,
+ .paletteTag = 10155,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D83E0,
+};
+
+const u8 gUnknown_083D9D98[] =
+{
+ 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9DAC =
+{
+ .tileTag = 10172,
+ .paletteTag = 10172,
+ .oam = &gOamData_837E074,
+ .anims = gSpriteAnimTable_83D9D38,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D8700,
+};
+
+// bitfield array
+const u32 gUnknown_083D9DC4[] =
+{
+ 0x2001E064,
+ 0x0001E055,
+ 0x1011E0F2,
+ 0x1021E042,
+ 0x0031E0B6,
+ 0x2001E03C,
+ 0x0011E0D6,
+ 0x1001E071,
+ 0x1031E0D2,
+ 0x0021E026,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9DEC[] =
+{
+ AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9DFC[] =
+{
+ AFFINEANIMCMD_FRAME(0xF0, 0xF0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9E0C[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9E1C[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9E2C[] =
+{
+ gSpriteAffineAnim_83D9DEC,
+ gSpriteAffineAnim_83D9DFC,
+ gSpriteAffineAnim_83D9E0C,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9E38[] =
+{
+ gSpriteAffineAnim_83D9E1C,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83D9E3C =
+{
+ .tileTag = 10263,
+ .paletteTag = 10263,
+ .oam = &gOamData_837DF8C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9E2C,
+ .callback = sub_80D8D1C,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9E54 =
+{
+ .tileTag = 10263,
+ .paletteTag = 10263,
+ .oam = &gOamData_837DF8C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9E38,
+ .callback = sub_807A9BC,
+};
+
+const union AnimCmd gSpriteAnim_83D9E6C[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_83D9E74[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_FRAME(32, 4),
+ ANIMCMD_FRAME(48, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_83D9E88[] =
+{
+ gSpriteAnim_83D9E6C,
+ gSpriteAnim_83D9E74,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9E90[] =
+{
+ AFFINEANIMCMD_FRAME(0xE0, 0xE0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9EA0[] =
+{
+ AFFINEANIMCMD_FRAME(0x118, 0x118, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9EB0[] =
+{
+ AFFINEANIMCMD_FRAME(0x150, 0x150, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9EC0[] =
+{
+ AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd gSpriteAffineAnim_83D9ED0[] =
+{
+ AFFINEANIMCMD_FRAME(0x1C0, 0x1C0, 0, 0),
+ AFFINEANIMCMD_END,
+};
+
+const union AffineAnimCmd *const gSpriteAffineAnimTable_83D9EE0[] =
+{
+ gSpriteAffineAnim_83D9E90,
+ gSpriteAffineAnim_83D9EA0,
+ gSpriteAffineAnim_83D9EB0,
+ gSpriteAffineAnim_83D9EC0,
+ gSpriteAffineAnim_83D9ED0,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9EF4 =
+{
+ .tileTag = 10043,
+ .paletteTag = 10043,
+ .oam = &gOamData_837DFF4,
+ .anims = gSpriteAnimTable_83D9E88,
+ .images = NULL,
+ .affineAnims = gSpriteAffineAnimTable_83D9EE0,
+ .callback = unc_080B06FC,
+};
+
+const struct SpriteTemplate gBattleAnimSpriteTemplate_83D9F0C =
+{
+ .tileTag = 10141,
+ .paletteTag = 10141,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_83D9BBC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80D8F10,
+};