diff options
author | garak <garakmon@gmail.com> | 2018-09-25 17:05:09 -0400 |
---|---|---|
committer | garak <garakmon@gmail.com> | 2018-09-25 17:05:09 -0400 |
commit | ee8652206b2298fe7b5471114753be62b5d1fc8b (patch) | |
tree | 7d7b00d7d5a152d95974056ab568c97832102d25 | |
parent | 221fb1a0715b6f4ceebc2f29d1ac47577508faf7 (diff) |
battle_anim_813F0F4 data to C
-rw-r--r-- | data/battle_anim_813F0F4.s | 150 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rwxr-xr-x | src/battle/battle_anim_813F0F4.c | 285 |
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; |