diff options
author | garak <garakmon@gmail.com> | 2018-10-24 20:01:40 -0400 |
---|---|---|
committer | garak <garakmon@gmail.com> | 2018-10-24 20:01:40 -0400 |
commit | 17c26fae1a71d4b95b044b70c03656ef44194da5 (patch) | |
tree | 1330a852ad6058872ee5f3d1bcef7e1cb3c27831 /src | |
parent | 22a0b58e57a26f8636b0afcb841aef8ae4910192 (diff) |
fire, electric, ice data
Diffstat (limited to 'src')
-rw-r--r-- | src/electric.c | 438 | ||||
-rw-r--r-- | src/fire.c | 438 | ||||
-rw-r--r-- | src/ice.c | 491 |
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, +}; |