summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgarak <garakmon@gmail.com>2018-09-25 17:05:09 -0400
committergarak <garakmon@gmail.com>2018-09-25 17:05:09 -0400
commitee8652206b2298fe7b5471114753be62b5d1fc8b (patch)
tree7d7b00d7d5a152d95974056ab568c97832102d25
parent221fb1a0715b6f4ceebc2f29d1ac47577508faf7 (diff)
battle_anim_813F0F4 data to C
-rw-r--r--data/battle_anim_813F0F4.s150
-rw-r--r--ld_script.txt2
-rwxr-xr-xsrc/battle/battle_anim_813F0F4.c285
3 files changed, 280 insertions, 157 deletions
diff --git a/data/battle_anim_813F0F4.s b/data/battle_anim_813F0F4.s
deleted file mode 100644
index b043929c3..000000000
--- a/data/battle_anim_813F0F4.s
+++ /dev/null
@@ -1,150 +0,0 @@
- .include "include/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gBallOpenParticleSpritesheets:: @ 840B258
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55020
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55021
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55022
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55023
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55024
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55025
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55026
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55027
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55028
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55029
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55030
- obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55031
-
- .align 2
-gBallOpenParticlePalettes:: @ 840B2B8
- obj_pal gBattleAnimSpritePalette_136, 55020
- obj_pal gBattleAnimSpritePalette_136, 55021
- obj_pal gBattleAnimSpritePalette_136, 55022
- obj_pal gBattleAnimSpritePalette_136, 55023
- obj_pal gBattleAnimSpritePalette_136, 55024
- obj_pal gBattleAnimSpritePalette_136, 55025
- obj_pal gBattleAnimSpritePalette_136, 55026
- obj_pal gBattleAnimSpritePalette_136, 55027
- obj_pal gBattleAnimSpritePalette_136, 55028
- obj_pal gBattleAnimSpritePalette_136, 55029
- obj_pal gBattleAnimSpritePalette_136, 55030
- obj_pal gBattleAnimSpritePalette_136, 55031
-
- .align 2
-gSpriteAnim_840B318:: @ 840B318
- obj_image_anim_frame 0, 1
- obj_image_anim_frame 1, 1
- obj_image_anim_frame 2, 1
- obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP
- obj_image_anim_frame 2, 1
- obj_image_anim_frame 1, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_840B334:: @ 840B334
- obj_image_anim_frame 3, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B33C:: @ 840B33C
- obj_image_anim_frame 4, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B344:: @ 840B344
- obj_image_anim_frame 5, 1
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_840B34C:: @ 840B34C
- obj_image_anim_frame 6, 4
- obj_image_anim_frame 7, 4
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_840B358:: @ 840B358
- obj_image_anim_frame 7, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_840B360:: @ 840B360
- .4byte gSpriteAnim_840B318
- .4byte gSpriteAnim_840B334
- .4byte gSpriteAnim_840B33C
- .4byte gSpriteAnim_840B344
- .4byte gSpriteAnim_840B34C
- .4byte gSpriteAnim_840B358
-
-gBallOpenParticleAnimNums:: @ 840B378
- .byte 0
- .byte 0
- .byte 0
- .byte 5
- .byte 1
- .byte 2
- .byte 2
- .byte 3
- .byte 5
- .byte 5
- .byte 4
- .byte 4
-
- .align 2
-gBallOpenParticleAnimationFuncs:: @ 840B384
- .4byte PokeBallOpenParticleAnimation
- .4byte GreatBallOpenParticleAnimation
- .4byte SafariBallOpenParticleAnimation
- .4byte UltraBallOpenParticleAnimation
- .4byte MasterBallOpenParticleAnimation
- .4byte SafariBallOpenParticleAnimation
- .4byte DiveBallOpenParticleAnimation
- .4byte UltraBallOpenParticleAnimation
- .4byte RepeatBallOpenParticleAnimation
- .4byte TimerBallOpenParticleAnimation
- .4byte GreatBallOpenParticleAnimation
- .4byte PremierBallOpenParticleAnimation
-
- .align 2
-gSpriteTemplates_840B3B4:: @ 840B3B4
- spr_template 55020, 55020, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55021, 55021, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55022, 55022, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55023, 55023, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55024, 55024, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55025, 55025, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55026, 55026, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55027, 55027, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55028, 55028, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55029, 55029, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55030, 55030, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 55031, 55031, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 1
-gUnknown_0840B4D4:: @ 840B4D4
- .2byte 0x7ADF
- .2byte 0x7AF0
- .2byte 0x53D7
- .2byte 0x3FFF
- .2byte 0x7297
- .2byte 0x67F5
- .2byte 0x7B2C
- .2byte 0x2B7E
- .2byte 0x431F
- .2byte 0x7BDD
- .2byte 0x2A3F
- .2byte 0x293F
- .2byte 0x0
- .2byte 0x201
- .2byte 0x403
- .2byte 0x101
- .2byte 0x100
- .2byte 0x503
- .2byte 0x506
- .2byte 0x4
-
- .align 2
-gBattleAnimSpriteTemplate_840B4FC:: @ 840B4FC
- spr_template 10269, 10269, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8141C30
diff --git a/ld_script.txt b/ld_script.txt
index 14a390c83..8de75f556 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -743,7 +743,7 @@ SECTIONS {
src/battle/battle_controller_wally.o(.rodata);
src/player_pc.o(.rodata);
src/intro.o(.rodata);
- data/battle_anim_813F0F4.o(.rodata);
+ src/battle/battle_anim_813F0F4.o(.rodata);
src/hall_of_fame.o(.rodata);
src/credits.o(.rodata);
src/lottery_corner.o(.rodata);
diff --git a/src/battle/battle_anim_813F0F4.c b/src/battle/battle_anim_813F0F4.c
index f112c59aa..2bcc30273 100755
--- a/src/battle/battle_anim_813F0F4.c
+++ b/src/battle/battle_anim_813F0F4.c
@@ -36,14 +36,9 @@ extern u8 gEffectBank;
extern const u8 gUnknown_08D2EE48[];
extern const u8 gUnknown_08D2EDFC[];
extern const u16 gUnknown_08D2E150[];
-extern const struct CompressedSpritePalette gBallOpenParticlePalettes[];
extern const struct SpriteTemplate gSpriteTemplates_840B3B4[];
extern const struct SpriteTemplate gSpriteTemplate_8402500;
extern const struct SpriteTemplate gBattleAnimSpriteTemplate_84024E8;
-extern const u8 gBallOpenParticleAnimNums[];
-extern const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[];
-extern const TaskFunc gBallOpenParticleAnimationFuncs[];
-extern const u16 gUnknown_0840B4D4[];
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
@@ -86,6 +81,284 @@ static void sub_8141CBC(struct Sprite *sprite);
static void sub_8141CF4(struct Sprite *sprite);
static void sub_8141D20(struct Sprite *sprite);
+extern const u8 gBattleAnimSpriteSheet_Particles[];
+const struct CompressedSpriteSheet gBallOpenParticleSpritesheets[] =
+{
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55020},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55021},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55022},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55023},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55024},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55025},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55026},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55027},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55028},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55029},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55030},
+ {gBattleAnimSpriteSheet_Particles, 0x100, 55031},
+};
+
+extern const u8 gBattleAnimSpritePalette_136[];
+const struct CompressedSpritePalette gBallOpenParticlePalettes[] =
+{
+ {gBattleAnimSpritePalette_136, 55020},
+ {gBattleAnimSpritePalette_136, 55021},
+ {gBattleAnimSpritePalette_136, 55022},
+ {gBattleAnimSpritePalette_136, 55023},
+ {gBattleAnimSpritePalette_136, 55024},
+ {gBattleAnimSpritePalette_136, 55025},
+ {gBattleAnimSpritePalette_136, 55026},
+ {gBattleAnimSpritePalette_136, 55027},
+ {gBattleAnimSpritePalette_136, 55028},
+ {gBattleAnimSpritePalette_136, 55029},
+ {gBattleAnimSpritePalette_136, 55030},
+ {gBattleAnimSpritePalette_136, 55031},
+};
+
+const union AnimCmd gSpriteAnim_840B318[] =
+{
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(0, 1, .hFlip = TRUE),
+ ANIMCMD_FRAME(2, 1),
+ ANIMCMD_FRAME(1, 1),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_840B334[] =
+{
+ ANIMCMD_FRAME(3, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_840B33C[] =
+{
+ ANIMCMD_FRAME(4, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_840B344[] =
+{
+ ANIMCMD_FRAME(5, 1),
+ ANIMCMD_END,
+};
+
+const union AnimCmd gSpriteAnim_840B34C[] =
+{
+ ANIMCMD_FRAME(6, 4),
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_840B358[] =
+{
+ ANIMCMD_FRAME(7, 4),
+ ANIMCMD_END,
+};
+
+const union AnimCmd *const gSpriteAnimTable_840B360[] =
+{
+ gSpriteAnim_840B318,
+ gSpriteAnim_840B334,
+ gSpriteAnim_840B33C,
+ gSpriteAnim_840B344,
+ gSpriteAnim_840B34C,
+ gSpriteAnim_840B358,
+};
+
+const u8 gBallOpenParticleAnimNums[] =
+{
+ 0,
+ 0,
+ 0,
+ 5,
+ 1,
+ 2,
+ 2,
+ 3,
+ 5,
+ 5,
+ 4,
+ 4,
+};
+
+void PokeBallOpenParticleAnimation(u8);
+void GreatBallOpenParticleAnimation(u8);
+void SafariBallOpenParticleAnimation(u8);
+void UltraBallOpenParticleAnimation(u8);
+void MasterBallOpenParticleAnimation(u8);
+void SafariBallOpenParticleAnimation(u8);
+void DiveBallOpenParticleAnimation(u8);
+void UltraBallOpenParticleAnimation(u8);
+void RepeatBallOpenParticleAnimation(u8);
+void TimerBallOpenParticleAnimation(u8);
+void GreatBallOpenParticleAnimation(u8);
+void PremierBallOpenParticleAnimation(u8);
+
+const TaskFunc gBallOpenParticleAnimationFuncs[] =
+{
+ PokeBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ MasterBallOpenParticleAnimation,
+ SafariBallOpenParticleAnimation,
+ DiveBallOpenParticleAnimation,
+ UltraBallOpenParticleAnimation,
+ RepeatBallOpenParticleAnimation,
+ TimerBallOpenParticleAnimation,
+ GreatBallOpenParticleAnimation,
+ PremierBallOpenParticleAnimation,
+};
+
+const struct SpriteTemplate gSpriteTemplates_840B3B4[] =
+{
+ {
+ .tileTag = 55020,
+ .paletteTag = 55020,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55021,
+ .paletteTag = 55021,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55022,
+ .paletteTag = 55022,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55023,
+ .paletteTag = 55023,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55024,
+ .paletteTag = 55024,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55025,
+ .paletteTag = 55025,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55026,
+ .paletteTag = 55026,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55027,
+ .paletteTag = 55027,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55028,
+ .paletteTag = 55028,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55029,
+ .paletteTag = 55029,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55030,
+ .paletteTag = 55030,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+ {
+ .tileTag = 55031,
+ .paletteTag = 55031,
+ .oam = &gOamData_837DF24,
+ .anims = gSpriteAnimTable_840B360,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+ },
+};
+
+const u16 gUnknown_0840B4D4[] =
+{
+ 0x7ADF,
+ 0x7AF0,
+ 0x53D7,
+ 0x3FFF,
+ 0x7297,
+ 0x67F5,
+ 0x7B2C,
+ 0x2B7E,
+ 0x431F,
+ 0x7BDD,
+ 0x2A3F,
+ 0x293F,
+ 0x0000,
+ 0x0201,
+ 0x0403,
+ 0x0101,
+ 0x0100,
+ 0x0503,
+ 0x0506,
+ 0x0004,
+};
+
+static void sub_8141C30(struct Sprite *sprite);
+const struct SpriteTemplate gBattleAnimSpriteTemplate_840B4FC =
+{
+ .tileTag = 10269,
+ .paletteTag = 10269,
+ .oam = &gOamData_837DF2C,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_8141C30,
+};
void unref_sub_813F0F4(u8 taskId)
{
@@ -1826,7 +2099,7 @@ void sub_8141C08(u8 taskId)
DestroyAnimVisualTask(taskId);
}
-void sub_8141C30(struct Sprite *sprite)
+static void sub_8141C30(struct Sprite *sprite)
{
InitAnimSpritePos(sprite, 0);
sprite->data[0] = 30;