summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2019-02-02 11:55:11 +0100
committerDizzyEggg <jajkodizzy@wp.pl>2019-02-02 11:55:11 +0100
commita7f94bbeeaaee3ef6c1f192c9010ca39d3262884 (patch)
tree68980231bdd626ed9a630e1fe371fcfcccd37d1c
parent9d8a43a1fb5d83680bd8509fa3fbc3b491b8bbf8 (diff)
Dump last battle anim file
-rw-r--r--data/battle_anim_80A9C70.s89
-rw-r--r--include/battle_anim.h4
-rw-r--r--ld_script.txt1
-rw-r--r--src/battle_anim_80A9C70.c176
4 files changed, 180 insertions, 90 deletions
diff --git a/data/battle_anim_80A9C70.s b/data/battle_anim_80A9C70.s
deleted file mode 100644
index f82a657b9..000000000
--- a/data/battle_anim_80A9C70.s
+++ /dev/null
@@ -1,89 +0,0 @@
-#include "constants/battle_anim.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_0853EDE4:: @ 853EDE4
- .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EDF8:: @ 853EDF8
- .4byte gUnknown_0853EDE4
-
- .align 2
-gUnknown_0853EDFC:: @ 853EDFC
- spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
- spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8A6C
-
- .align 2
-gUnknown_0853EE2C:: @ 853EE2C
- .2byte 0x0000, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EE34:: @ 853EE34
- .4byte gUnknown_0853EE2C
-
- .align 2
-gUnknown_0853EE38:: @ 853EE38
- spr_template ANIM_TAG_WEATHER_BALL, ANIM_TAG_WEATHER_BALL, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8E30
-
- .align 2
-gUnknown_0853EE50:: @ 853EE50
- spr_template ANIM_TAG_WEATHER_BALL, ANIM_TAG_WEATHER_BALL, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4
-
- .align 2
-gUnknown_0853EE68:: @ 853EE68
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0x0040, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_0853EE80:: @ 853EE80
- .4byte gUnknown_0853EE68
-
- .align 2
-gUnknown_0853EE84:: @ 853EE84
- spr_template ANIM_TAG_SPARKLE_4, ANIM_TAG_SPARKLE_4, gUnknown_08524914, gUnknown_0853EE80, NULL, gDummySpriteAffineAnimTable, sub_80A8B64
- spr_template ANIM_TAG_UNUSED_MONSTER_FOOT, ANIM_TAG_UNUSED_MONSTER_FOOT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
-
- .align 2
-gUnknown_0853EEB4:: @ 853EEB4
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EEBC:: @ 853EEBC
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EEC4:: @ 853EEC4
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EECC:: @ 853EECC
- .4byte gUnknown_0853EEB4
- .4byte gUnknown_0853EEBC
- .4byte gUnknown_0853EEC4
-
- .align 2
-gUnknown_0853EED8:: @ 853EED8
- spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524914, gUnknown_0853EECC, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
-
- .align 2
-gUnknown_0853EEF0:: @ 853EEF0
- .2byte 0x0000, 0x000f, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EEF8:: @ 853EEF8
- .4byte gUnknown_0853EEF0
-
- .align 2
-gUnknown_0853EEFC:: @ 853EEFC
- .2byte 0x0060, 0x0060, 0x0000, 0x0000, 0x0002, 0x0002, 0x0100, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0853EF14:: @ 853EF14
- .4byte gUnknown_0853EEFC
-
- .align 2
-gUnknown_0853EF18:: @ 853EF18
- spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C
diff --git a/include/battle_anim.h b/include/battle_anim.h
index fc0f603eb..8e8a17675 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -75,6 +75,10 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_80A5C6C.s
void sub_80A6450(struct Sprite *sprite);
+void sub_80A8AEC(struct Sprite *sprite);
+void sub_80A8A6C(struct Sprite *sprite);
+void sub_80A8E30(struct Sprite *sprite);
+void sub_80A8B64(struct Sprite *sprite);
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
void DestroySpriteAndMatrix(struct Sprite *sprite);
void AnimTranslateLinearSimple(struct Sprite *sprite);
diff --git a/ld_script.txt b/ld_script.txt
index bf8d4bde9..306a1f4b0 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -441,7 +441,6 @@ SECTIONS {
src/battle_anim.o(.rodata);
src/battle_anim_80A5C6C.o(.rodata);
data/map_events.o(.rodata);
- data/battle_anim_80A9C70.o(.rodata);
src/battle_anim_80A9C70.o(.rodata);
src/title_screen.o(.rodata);
src/field_weather.o(.rodata);
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c
index 001f99d7f..1271680e0 100644
--- a/src/battle_anim_80A9C70.c
+++ b/src/battle_anim_80A9C70.c
@@ -28,6 +28,182 @@ static void sub_80A9E44(struct Sprite *sprite);
static void sub_80A9E78(struct Sprite *sprite);
// const rom data
+static const union AnimCmd sSpriteAnim_853EDE4[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EDF8[] =
+{
+ sSpriteAnim_853EDE4
+};
+
+const struct SpriteTemplate gUnknown_0853EDFC =
+{
+ .tileTag = ANIM_TAG_UNUSED_ORB,
+ .paletteTag = ANIM_TAG_UNUSED_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = sSpriteAnimTable_853EDF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+const struct SpriteTemplate gUnknown_0853EE14 =
+{
+ .tileTag = ANIM_TAG_UNUSED_ORB,
+ .paletteTag = ANIM_TAG_UNUSED_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = sSpriteAnimTable_853EDF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8A6C,
+};
+
+static const union AnimCmd sSpriteAnim_853EE2C[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EE34[] =
+{
+ sSpriteAnim_853EE2C
+};
+
+const struct SpriteTemplate gUnknown_0853EE38 =
+{
+ .tileTag = ANIM_TAG_WEATHER_BALL,
+ .paletteTag = ANIM_TAG_WEATHER_BALL,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8E30,
+};
+
+const struct SpriteTemplate gUnknown_0853EE50 =
+{
+ .tileTag = ANIM_TAG_WEATHER_BALL,
+ .paletteTag = ANIM_TAG_WEATHER_BALL,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8EE4,
+};
+
+static const union AnimCmd sSpriteAnim_853EE68[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EE80[] =
+{
+ sSpriteAnim_853EE68
+};
+
+const struct SpriteTemplate gUnknown_0853EE84 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_4,
+ .paletteTag = ANIM_TAG_SPARKLE_4,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE80,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8B64,
+};
+
+const struct SpriteTemplate gUnknown_0853EE9C =
+{
+ .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT,
+ .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+static const union AnimCmd sSpriteAnim_853EEB4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_853EEBC[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_853EEC4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EECC[] =
+{
+ sSpriteAnim_853EEB4,
+ sSpriteAnim_853EEBC,
+ sSpriteAnim_853EEC4
+};
+
+const struct SpriteTemplate gUnknown_0853EED8 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EECC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+static const union AnimCmd sSpriteAnim_853EEF0[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EEF8[] =
+{
+ sSpriteAnim_853EEF0
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_853EEFC[] =
+{
+ AFFINEANIMCMD_FRAME(96, 96, 0, 0),
+ AFFINEANIMCMD_FRAME(2, 2, 0, 1),
+ AFFINEANIMCMD_JUMP(1)
+};
+
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] =
+{
+ sSpriteAffineAnim_853EEFC
+};
+
+const struct SpriteTemplate gUnknown_0853EF18 =
+{
+ .tileTag = ANIM_TAG_UNUSED_ORB,
+ .paletteTag = ANIM_TAG_UNUSED_ORB,
+ .oam = &gUnknown_085249CC,
+ .anims = sSpriteAnimTable_853EEF8,
+ .images = NULL,
+ .affineAnims = sSpriteAffineAnimTable_853EEF8,
+ .callback = sub_80A8A6C,
+};
+
static const struct Subsprite gUnknown_0853EF30[] =
{
{.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},