starting battle_anim_effects_2

This commit is contained in:
Sewef 2019-10-20 10:47:56 +02:00 committed by huderlem
parent ac399ade4a
commit 49ad6da8fb
6 changed files with 106 additions and 100 deletions

View file

@ -1885,11 +1885,11 @@ Move_PAY_DAY:
monbgprio_28 ANIM_TARGET monbgprio_28 ANIM_TARGET
setalpha 12, 8 setalpha 12, 8
playsewithpan SE_W013B, SOUND_PAN_ATTACKER playsewithpan SE_W013B, SOUND_PAN_ATTACKER
createsprite gUnknown_085934D8, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152 createsprite gCoinThrowSpriteTemplate, ANIM_ATTACKER, 2, 20, 0, 0, 0, 1152
waitforvisualfinish waitforvisualfinish
playsewithpan SE_W006, SOUND_PAN_TARGET playsewithpan SE_W006, SOUND_PAN_TARGET
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 1, 0, 0, 1, 2
createsprite gUnknown_085934F0, ANIM_ATTACKER, 2 createsprite gFallingCoinSpriteTemplate, ANIM_ATTACKER, 2
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1
waitforvisualfinish waitforvisualfinish
clearmonbg ANIM_TARGET clearmonbg ANIM_TARGET
@ -4196,7 +4196,7 @@ Move_AIR_CUTTER:
monbg ANIM_DEF_PARTNER monbg ANIM_DEF_PARTNER
setalpha 12, 8 setalpha 12, 8
delay 0 delay 0
createvisualtask sub_8103CF0, 2, 32, -24, 1536, 2, 128 createvisualtask AnimTask_AirCutterProjectile, 2, 32, -24, 1536, 2, 128
waitforvisualfinish waitforvisualfinish
playsewithpan SE_W015, SOUND_PAN_TARGET playsewithpan SE_W015, SOUND_PAN_TARGET
createsprite gAirCutterSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0, 2 createsprite gAirCutterSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0, 2
@ -7320,7 +7320,7 @@ Move_EGG_BOMB:
loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_EXPLOSION
loadspritegfx ANIM_TAG_LARGE_FRESH_EGG loadspritegfx ANIM_TAG_LARGE_FRESH_EGG
playsewithpan SE_W039, SOUND_PAN_ATTACKER playsewithpan SE_W039, SOUND_PAN_ATTACKER
createsprite gUnknown_08593488, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32 createsprite gEggThrowSpriteTemplate, ANIM_TARGET, 2, 10, 0, 0, 0, 25, -32
waitforvisualfinish waitforvisualfinish
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1
createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 6, 5, 1, 0 createsprite gBattleAnimSpriteTemplate_859371C, ANIM_TARGET, 4, 6, 5, 1, 0
@ -8593,26 +8593,26 @@ Move_MUDDY_WATER:
Move_BULLET_SEED: Move_BULLET_SEED:
loadspritegfx ANIM_TAG_SEED loadspritegfx ANIM_TAG_SEED
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
delay 5 delay 5
createsprite gUnknown_0859351C, ANIM_TARGET, 2, 20, 0 createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0
waitforvisualfinish waitforvisualfinish
end end
@ -8858,7 +8858,7 @@ Move_METAL_SOUND:
end end
MetalSound1: MetalSound1:
panse_1B SE_W103, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 panse_1B SE_W103, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0
createsprite gUnknown_08593458, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0 createsprite gMetalSoundSpriteTemplate, ANIM_TARGET, 2, 16, 0, 0, 0, 30, 0
delay 2 delay 2
return return
@ -9503,13 +9503,13 @@ Move_WATER_PULSE:
playsewithpan SE_W145C, SOUND_PAN_TARGET playsewithpan SE_W145C, SOUND_PAN_TARGET
waitforvisualfinish waitforvisualfinish
playsewithpan SE_W202, SOUND_PAN_ATTACKER playsewithpan SE_W202, SOUND_PAN_ATTACKER
createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15 createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15
delay 5 delay 5
playsewithpan SE_W202, SOUND_PAN_ATTACKER playsewithpan SE_W202, SOUND_PAN_ATTACKER
createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15 createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15
delay 5 delay 5
playsewithpan SE_W202, SOUND_PAN_ATTACKER playsewithpan SE_W202, SOUND_PAN_ATTACKER
createsprite gUnknown_08593470, ANIM_TARGET, 2, 0, 0, 40, 15 createsprite gWaterPulseRingSpriteTemplate, ANIM_TARGET, 2, 0, 0, 40, 15
delay 13 delay 13
createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 8, 18, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 8, 18, 1
waitforvisualfinish waitforvisualfinish

View file

@ -147,7 +147,7 @@ void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2); void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2);
void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds); void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds);
bool8 RunAffineAnimFromTaskData(struct Task *task); bool8 RunAffineAnimFromTaskData(struct Task *task);
void sub_80A78AC(struct Sprite *sprite); void AnimThrowProjectile(struct Sprite *sprite);
void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused); void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused);
u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10);
void sub_80A749C(struct Sprite *sprite); void sub_80A749C(struct Sprite *sprite);
@ -225,7 +225,7 @@ void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite);
void AnimMoveTwisterParticle(struct Sprite* sprite); void AnimMoveTwisterParticle(struct Sprite* sprite);
// water.c // water.c
void sub_8108C94(struct Sprite *sprite); void AnimWaterPulseRing(struct Sprite *sprite);
// flying.c // flying.c
void sub_810E2C8(struct Sprite *sprite); void sub_810E2C8(struct Sprite *sprite);

View file

@ -25,9 +25,9 @@ void Anim_SwordsDanceBlade(struct Sprite *);
void AnimSonicBoomProjectile(struct Sprite *); void AnimSonicBoomProjectile(struct Sprite *);
void sub_8103AA4(struct Sprite *); void sub_8103AA4(struct Sprite *);
void sub_8103FE8(struct Sprite *); void sub_8103FE8(struct Sprite *);
void sub_8104088(struct Sprite *); void AnimCoinThrow(struct Sprite *);
void sub_810413C(struct Sprite *); void AnimFallingCoin(struct Sprite *);
void sub_81041C4(struct Sprite *); void AnimBulletSeed(struct Sprite *);
void Anim_RazorWindTornado(struct Sprite *); void Anim_RazorWindTornado(struct Sprite *);
void Anim_ViceGripPincer(struct Sprite *); void Anim_ViceGripPincer(struct Sprite *);
void Anim_GuillotinePincer(struct Sprite *); void Anim_GuillotinePincer(struct Sprite *);
@ -63,9 +63,9 @@ static void sub_8103680(struct Sprite *);
static void AnimTask_WithdrawStep(u8); static void AnimTask_WithdrawStep(u8);
static void Anim_SwordsDanceBladeStep(struct Sprite *); static void Anim_SwordsDanceBladeStep(struct Sprite *);
static void sub_8104018(struct Sprite *); static void sub_8104018(struct Sprite *);
static void sub_8104154(struct Sprite *); static void AnimFallingCoin_Step(struct Sprite *);
static void sub_810421C(struct Sprite *); static void AnimBulletSeed_Step1(struct Sprite *);
static void sub_81042A0(struct Sprite *); static void AnimBulletSeed_Step2(struct Sprite *);
static void Anim_ViceGripPincerStep(struct Sprite *); static void Anim_ViceGripPincerStep(struct Sprite *);
static void Anim_GuillotinePincerStep1(struct Sprite *); static void Anim_GuillotinePincerStep1(struct Sprite *);
static void Anim_GuillotinePincerStep2(struct Sprite *); static void Anim_GuillotinePincerStep2(struct Sprite *);
@ -105,6 +105,7 @@ static void sub_8106EC8(struct Sprite *);
static void sub_8107018(struct Sprite *); static void sub_8107018(struct Sprite *);
static void sub_810703C(struct Sprite *); static void sub_810703C(struct Sprite *);
// Unused
const struct SpriteTemplate gUnknown_08593264 = const struct SpriteTemplate gUnknown_08593264 =
{ {
.tileTag = ANIM_TAG_FINGER, .tileTag = ANIM_TAG_FINGER,
@ -127,6 +128,7 @@ const union AnimCmd *const gUnknown_08593284[] =
gUnknown_0859327C, gUnknown_0859327C,
}; };
// Unused
const struct SpriteTemplate gUnknown_08593288 = const struct SpriteTemplate gUnknown_08593288 =
{ {
.tileTag = ANIM_TAG_MUSIC_NOTES, .tileTag = ANIM_TAG_MUSIC_NOTES,
@ -138,6 +140,7 @@ const struct SpriteTemplate gUnknown_08593288 =
.callback = sub_8103498, .callback = sub_8103498,
}; };
// Unused
const struct SpriteTemplate gUnknown_085932A0 = const struct SpriteTemplate gUnknown_085932A0 =
{ {
.tileTag = 0, .tileTag = 0,
@ -150,6 +153,7 @@ const struct SpriteTemplate gUnknown_085932A0 =
}; };
extern const union AffineAnimCmd *const gUnknown_08597060[]; extern const union AffineAnimCmd *const gUnknown_08597060[];
// Unused
const struct SpriteTemplate gUnknown_085932B8 = const struct SpriteTemplate gUnknown_085932B8 =
{ {
.tileTag = ANIM_TAG_CLAMP, .tileTag = ANIM_TAG_CLAMP,
@ -187,6 +191,7 @@ const union AffineAnimCmd *const gUnknown_08593300[] =
gUnknown_085932E8, gUnknown_085932E8,
}; };
// Unused
const struct SpriteTemplate gUnknown_08593304 = const struct SpriteTemplate gUnknown_08593304 =
{ {
.tileTag = ANIM_TAG_EXPLOSION_6, .tileTag = ANIM_TAG_EXPLOSION_6,
@ -198,7 +203,7 @@ const struct SpriteTemplate gUnknown_08593304 =
.callback = AnimSparklingParticle, .callback = AnimSparklingParticle,
}; };
const union AnimCmd gUnknown_0859331C[] = const union AnimCmd gKinesisZapEnergyAnimCmds[] =
{ {
ANIMCMD_FRAME(0, 3, .hFlip = TRUE), ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
ANIMCMD_FRAME(8, 3, .hFlip = TRUE), ANIMCMD_FRAME(8, 3, .hFlip = TRUE),
@ -211,9 +216,9 @@ const union AnimCmd gUnknown_0859331C[] =
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd *const gUnknown_08593340[] = const union AnimCmd *const gKinesisZapEnergyAnimTable[] =
{ {
gUnknown_0859331C, gKinesisZapEnergyAnimCmds,
}; };
const struct SpriteTemplate gKinesisZapEnergySpriteTemplate = const struct SpriteTemplate gKinesisZapEnergySpriteTemplate =
@ -221,13 +226,13 @@ const struct SpriteTemplate gKinesisZapEnergySpriteTemplate =
.tileTag = ANIM_TAG_ALERT, .tileTag = ANIM_TAG_ALERT,
.paletteTag = ANIM_TAG_ALERT, .paletteTag = ANIM_TAG_ALERT,
.oam = &gOamData_AffineOff_ObjNormal_32x16, .oam = &gOamData_AffineOff_ObjNormal_32x16,
.anims = gUnknown_08593340, .anims = gKinesisZapEnergyAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = Anim_KinesisZapEnergy, .callback = Anim_KinesisZapEnergy,
}; };
const union AffineAnimCmd gUnknown_0859335C[] = const union AffineAnimCmd gSwordsDanceBladeAffineAnimCmds[] =
{ {
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12), AFFINEANIMCMD_FRAME(0x14, 0x0, 0, 12),
@ -235,9 +240,9 @@ const union AffineAnimCmd gUnknown_0859335C[] =
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_0859337C[] = const union AffineAnimCmd *const gSwordsDanceBladeAffineAnimTable[] =
{ {
gUnknown_0859335C, gSwordsDanceBladeAffineAnimCmds,
}; };
const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate = const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate =
@ -247,7 +252,7 @@ const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjBlend_32x64, .oam = &gOamData_AffineNormal_ObjBlend_32x64,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_0859337C, .affineAnims = gSwordsDanceBladeAffineAnimTable,
.callback = Anim_SwordsDanceBlade, .callback = Anim_SwordsDanceBlade,
}; };
@ -262,7 +267,7 @@ const struct SpriteTemplate gSonicBoomSpriteTemplate =
.callback = AnimSonicBoomProjectile, .callback = AnimSonicBoomProjectile,
}; };
const struct SpriteTemplate gUnknown_085933B0 = const struct SpriteTemplate gAirWaveProjectileSpriteTemplate =
{ {
.tileTag = ANIM_TAG_AIR_WAVE, .tileTag = ANIM_TAG_AIR_WAVE,
.paletteTag = ANIM_TAG_AIR_WAVE, .paletteTag = ANIM_TAG_AIR_WAVE,
@ -273,14 +278,14 @@ const struct SpriteTemplate gUnknown_085933B0 =
.callback = sub_8103AA4, .callback = sub_8103AA4,
}; };
const union AffineAnimCmd gUnknown_085933C8[] = const union AffineAnimCmd gGrowingRingAffineAnimCmds[] =
{ {
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0),
AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56), AFFINEANIMCMD_FRAME(0x7, 0x7, 0, -56),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd gUnknown_085933E0[] = const union AffineAnimCmd gWaterPulseRingAffineAnimCmds[] =
{ {
AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10), AFFINEANIMCMD_FRAME(0x5, 0x5, 0, 10),
AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10), AFFINEANIMCMD_FRAME(0xFFF6, 0xFFF6, 0, 10),
@ -292,14 +297,14 @@ const union AffineAnimCmd gUnknown_085933E0[] =
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_08593420[] = const union AffineAnimCmd *const gGrowingRingAffineAnimTable[] =
{ {
gUnknown_085933C8, gGrowingRingAffineAnimCmds,
}; };
const union AffineAnimCmd *const gUnknown_08593424[] = const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[] =
{ {
gUnknown_085933E0, gWaterPulseRingAffineAnimCmds,
}; };
const struct SpriteTemplate gSupersonicWaveSpriteTemplate = const struct SpriteTemplate gSupersonicWaveSpriteTemplate =
@ -309,7 +314,7 @@ const struct SpriteTemplate gSupersonicWaveSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_16x32, .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08593420, .affineAnims = gGrowingRingAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation, .callback = TranslateAnimSpriteToTargetMonLocation,
}; };
@ -320,33 +325,33 @@ const struct SpriteTemplate gScreechWaveSpriteTemplate =
.oam = &gOamData_AffineDouble_ObjNormal_16x32, .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08593420, .affineAnims = gGrowingRingAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation, .callback = TranslateAnimSpriteToTargetMonLocation,
}; };
const struct SpriteTemplate gUnknown_08593458 = const struct SpriteTemplate gMetalSoundSpriteTemplate =
{ {
.tileTag = ANIM_TAG_METAL_SOUND_WAVES, .tileTag = ANIM_TAG_METAL_SOUND_WAVES,
.paletteTag = ANIM_TAG_METAL_SOUND_WAVES, .paletteTag = ANIM_TAG_METAL_SOUND_WAVES,
.oam = &gOamData_AffineDouble_ObjNormal_32x64, .oam = &gOamData_AffineDouble_ObjNormal_32x64,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08593420, .affineAnims = gGrowingRingAffineAnimTable,
.callback = TranslateAnimSpriteToTargetMonLocation, .callback = TranslateAnimSpriteToTargetMonLocation,
}; };
const struct SpriteTemplate gUnknown_08593470 = const struct SpriteTemplate gWaterPulseRingSpriteTemplate =
{ {
.tileTag = ANIM_TAG_BLUE_RING_2, .tileTag = ANIM_TAG_BLUE_RING_2,
.paletteTag = ANIM_TAG_BLUE_RING_2, .paletteTag = ANIM_TAG_BLUE_RING_2,
.oam = &gOamData_AffineDouble_ObjNormal_16x32, .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08593424, .affineAnims = gWaterPulseRingAffineAnimTable,
.callback = sub_8108C94, .callback = AnimWaterPulseRing,
}; };
const struct SpriteTemplate gUnknown_08593488 = const struct SpriteTemplate gEggThrowSpriteTemplate =
{ {
.tileTag = ANIM_TAG_LARGE_FRESH_EGG, .tileTag = ANIM_TAG_LARGE_FRESH_EGG,
.paletteTag = ANIM_TAG_LARGE_FRESH_EGG, .paletteTag = ANIM_TAG_LARGE_FRESH_EGG,
@ -354,9 +359,10 @@ const struct SpriteTemplate gUnknown_08593488 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A78AC, .callback = AnimThrowProjectile,
}; };
// Unused
const struct SpriteTemplate gUnknown_085934A0 = const struct SpriteTemplate gUnknown_085934A0 =
{ {
.tileTag = ANIM_TAG_VOID_LINES, .tileTag = ANIM_TAG_VOID_LINES,
@ -368,82 +374,82 @@ const struct SpriteTemplate gUnknown_085934A0 =
.callback = sub_8103FE8, .callback = sub_8103FE8,
}; };
const union AnimCmd gUnknown_085934B8[] = const union AnimCmd gCoinAnimCmds[] =
{ {
ANIMCMD_FRAME(8, 1), ANIMCMD_FRAME(8, 1),
ANIMCMD_END, ANIMCMD_END,
}; };
const union AnimCmd *const gUnknown_085934C0[] = const union AnimCmd *const gCoinAnimTable[] =
{ {
gUnknown_085934B8, gCoinAnimCmds,
}; };
const union AffineAnimCmd gUnknown_085934C4[] = const union AffineAnimCmd gFallingCoinAffineAnimCmds[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 10, 1),
AFFINEANIMCMD_JUMP(0), AFFINEANIMCMD_JUMP(0),
}; };
const union AffineAnimCmd *const gUnknown_085934D4[] = const union AffineAnimCmd *const gFallingCoinAffineAnimTable[] =
{ {
gUnknown_085934C4, gFallingCoinAffineAnimCmds,
}; };
const struct SpriteTemplate gUnknown_085934D8 = const struct SpriteTemplate gCoinThrowSpriteTemplate =
{ {
.tileTag = ANIM_TAG_COIN, .tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN, .paletteTag = ANIM_TAG_COIN,
.oam = &gOamData_AffineNormal_ObjNormal_16x16, .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_085934C0, .anims = gCoinAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8104088, .callback = AnimCoinThrow,
}; };
const struct SpriteTemplate gUnknown_085934F0 = const struct SpriteTemplate gFallingCoinSpriteTemplate =
{ {
.tileTag = ANIM_TAG_COIN, .tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN, .paletteTag = ANIM_TAG_COIN,
.oam = &gOamData_AffineNormal_ObjNormal_16x16, .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gUnknown_085934C0, .anims = gCoinAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_085934D4, .affineAnims = gFallingCoinAffineAnimTable,
.callback = sub_810413C, .callback = AnimFallingCoin,
}; };
const union AffineAnimCmd gUnknown_08593508[] = const union AffineAnimCmd gBulletSeedAffineAnimCmds[] =
{ {
AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1), AFFINEANIMCMD_FRAME(0x0, 0x0, 20, 1),
AFFINEANIMCMD_JUMP(0), AFFINEANIMCMD_JUMP(0),
}; };
const union AffineAnimCmd *const gUnknown_08593518[] = const union AffineAnimCmd *const gBulletSeedAffineAnimTable[] =
{ {
gUnknown_08593508, gBulletSeedAffineAnimCmds,
}; };
const struct SpriteTemplate gUnknown_0859351C = const struct SpriteTemplate gBulletSeedSpriteTemplate =
{ {
.tileTag = ANIM_TAG_SEED, .tileTag = ANIM_TAG_SEED,
.paletteTag = ANIM_TAG_SEED, .paletteTag = ANIM_TAG_SEED,
.oam = &gOamData_AffineNormal_ObjNormal_16x16, .oam = &gOamData_AffineNormal_ObjNormal_16x16,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08593518, .affineAnims = gBulletSeedAffineAnimTable,
.callback = sub_81041C4, .callback = AnimBulletSeed,
}; };
const union AffineAnimCmd gUnknown_08593534[] = const union AffineAnimCmd gRazorWindTornadoAffineAnimCmds[] =
{ {
AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40), AFFINEANIMCMD_FRAME(0x4, 0x0, 0, 40),
AFFINEANIMCMD_END, AFFINEANIMCMD_END,
}; };
const union AffineAnimCmd *const gUnknown_0859354C[] = const union AffineAnimCmd *const gRazorWindTornadoAffineAnimTable[] =
{ {
gUnknown_08593534, gRazorWindTornadoAffineAnimCmds,
}; };
const struct SpriteTemplate gRazorWindTornadoSpriteTemplate = const struct SpriteTemplate gRazorWindTornadoSpriteTemplate =
@ -453,7 +459,7 @@ const struct SpriteTemplate gRazorWindTornadoSpriteTemplate =
.oam = &gOamData_AffineNormal_ObjNormal_32x64, .oam = &gOamData_AffineNormal_ObjNormal_32x64,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_0859354C, .affineAnims = gRazorWindTornadoAffineAnimTable,
.callback = Anim_RazorWindTornado, .callback = Anim_RazorWindTornado,
}; };
@ -1592,19 +1598,19 @@ void sub_8103AA4(struct Sprite *sprite)
} }
} }
static void sub_8103BE4(u8 taskId) static void AirCutterProjectileStep2(u8 taskId)
{ {
if (gTasks[taskId].data[1] == 0) if (gTasks[taskId].data[1] == 0)
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
static void sub_8103C0C(u8 taskId) static void AirCutterProjectileStep1(u8 taskId)
{ {
if (gTasks[taskId].data[0]-- <= 0) if (gTasks[taskId].data[0]-- <= 0)
{ {
u8 spriteId; u8 spriteId;
struct Sprite *sprite; struct Sprite *sprite;
spriteId = CreateSprite(&gUnknown_085933B0, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]); spriteId = CreateSprite(&gAirWaveProjectileSpriteTemplate, gTasks[taskId].data[9], gTasks[taskId].data[10], gTasks[taskId].data[2] - gTasks[taskId].data[1]);
sprite = &gSprites[spriteId]; sprite = &gSprites[spriteId];
switch (gTasks[taskId].data[4]) switch (gTasks[taskId].data[4])
{ {
@ -1623,11 +1629,11 @@ static void sub_8103C0C(u8 taskId)
gTasks[taskId].data[1]++; gTasks[taskId].data[1]++;
PlaySE12WithPanning(SE_W059B, BattleAnimAdjustPanning(-63)); PlaySE12WithPanning(SE_W059B, BattleAnimAdjustPanning(-63));
if (gTasks[taskId].data[1] > 2) if (gTasks[taskId].data[1] > 2)
gTasks[taskId].func = sub_8103BE4; gTasks[taskId].func = AirCutterProjectileStep2;
} }
} }
void sub_8103CF0(u8 taskId) void AnimTask_AirCutterProjectile(u8 taskId)
{ {
s16 attackerY = 0; s16 attackerY = 0;
s16 attackerX = 0; s16 attackerX = 0;
@ -1724,7 +1730,7 @@ void sub_8103CF0(u8 taskId)
if (gTasks[taskId].data[2] < 3) if (gTasks[taskId].data[2] < 3)
gTasks[taskId].data[2] = 3; gTasks[taskId].data[2] = 3;
gTasks[taskId].func = sub_8103C0C; gTasks[taskId].func = AirCutterProjectileStep1;
} }
void sub_8103FE8(struct Sprite *sprite) void sub_8103FE8(struct Sprite *sprite)
@ -1754,7 +1760,7 @@ static void sub_8104018(struct Sprite *sprite)
} }
} }
void sub_8104088(struct Sprite *sprite) void AnimCoinThrow(struct Sprite *sprite)
{ {
s16 r6; s16 r6;
s16 r7; s16 r7;
@ -1777,14 +1783,14 @@ void sub_8104088(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }
void sub_810413C(struct Sprite *sprite) void AnimFallingCoin(struct Sprite *sprite)
{ {
sprite->data[2] = -16; sprite->data[2] = -16;
sprite->pos1.y += 8; sprite->pos1.y += 8;
sprite->callback = sub_8104154; sprite->callback = AnimFallingCoin_Step;
} }
static void sub_8104154(struct Sprite *sprite) static void AnimFallingCoin_Step(struct Sprite *sprite)
{ {
sprite->data[0] += 0x80; sprite->data[0] += 0x80;
sprite->pos2.x = sprite->data[0] >> 8; sprite->pos2.x = sprite->data[0] >> 8;
@ -1802,7 +1808,7 @@ static void sub_8104154(struct Sprite *sprite)
} }
} }
void sub_81041C4(struct Sprite *sprite) void AnimBulletSeed(struct Sprite *sprite)
{ {
InitSpritePosToAnimAttacker(sprite, TRUE); InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 20; sprite->data[0] = 20;
@ -1810,10 +1816,10 @@ void sub_81041C4(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation; sprite->callback = StartAnimLinearTranslation;
sprite->affineAnimPaused = 1; sprite->affineAnimPaused = 1;
StoreSpriteCallbackInData6(sprite, sub_810421C); StoreSpriteCallbackInData6(sprite, AnimBulletSeed_Step1);
} }
static void sub_810421C(struct Sprite *sprite) static void AnimBulletSeed_Step1(struct Sprite *sprite)
{ {
int i; int i;
u16 rand; u16 rand;
@ -1831,11 +1837,11 @@ static void sub_810421C(struct Sprite *sprite)
sprite->data[6] = 0xFFF4 - (rand & 7); sprite->data[6] = 0xFFF4 - (rand & 7);
rand = Random2(); rand = Random2();
sprite->data[7] = (rand % 0xA0) + 0xA0; sprite->data[7] = (rand % 0xA0) + 0xA0;
sprite->callback = sub_81042A0; sprite->callback = AnimBulletSeed_Step2;
sprite->affineAnimPaused = 0; sprite->affineAnimPaused = 0;
} }
static void sub_81042A0(struct Sprite *sprite) static void AnimBulletSeed_Step2(struct Sprite *sprite)
{ {
sprite->data[0] += sprite->data[7]; sprite->data[0] += sprite->data[7];
sprite->pos2.x = sprite->data[0] >> 8; sprite->pos2.x = sprite->data[0] >> 8;

View file

@ -166,7 +166,7 @@ const struct SpriteTemplate gUnknown_085CE050 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A78AC, .callback = AnimThrowProjectile,
}; };
const union AnimCmd gUnknown_085CE068[] = const union AnimCmd gUnknown_085CE068[] =

View file

@ -30,7 +30,7 @@ extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64;
static void sub_80A6FB4(struct Sprite *sprite); static void sub_80A6FB4(struct Sprite *sprite);
static void sub_80A7144(struct Sprite *sprite); static void sub_80A7144(struct Sprite *sprite);
static void sub_80A791C(struct Sprite *sprite); static void AnimThrowProjectile_Step(struct Sprite *sprite);
static void sub_80A8DFC(struct Sprite *sprite); static void sub_80A8DFC(struct Sprite *sprite);
static void sub_80A8E88(struct Sprite *sprite); static void sub_80A8E88(struct Sprite *sprite);
static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId); static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId);
@ -1513,7 +1513,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
} }
void sub_80A78AC(struct Sprite *sprite) void AnimThrowProjectile(struct Sprite *sprite)
{ {
InitSpritePosToAnimAttacker(sprite, 1); InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker))
@ -1523,10 +1523,10 @@ void sub_80A78AC(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
sprite->data[5] = gBattleAnimArgs[5]; sprite->data[5] = gBattleAnimArgs[5];
InitAnimArcTranslation(sprite); InitAnimArcTranslation(sprite);
sprite->callback = sub_80A791C; sprite->callback = AnimThrowProjectile_Step;
} }
static void sub_80A791C(struct Sprite *sprite) static void AnimThrowProjectile_Step(struct Sprite *sprite)
{ {
if (TranslateAnimHorizontalArc(sprite)) if (TranslateAnimHorizontalArc(sprite))
DestroyAnimSprite(sprite); DestroyAnimSprite(sprite);

View file

@ -39,7 +39,7 @@ void sub_8108B94(struct Sprite *);
void sub_8108BE0(struct Sprite *); void sub_8108BE0(struct Sprite *);
void sub_8108C08(struct Sprite *); void sub_8108C08(struct Sprite *);
void sub_8108C54(struct Sprite *); void sub_8108C54(struct Sprite *);
void sub_8108CDC(struct Sprite *); void AnimWaterPulseRing_Step(struct Sprite *);
void sub_810756C(u8); void sub_810756C(u8);
void sub_81076F4(u8); void sub_81076F4(u8);
void sub_8107B84(u8); void sub_8107B84(u8);
@ -54,7 +54,7 @@ void sub_810871C(struct Task*, u8);
void sub_8108AC0(struct Task*); void sub_8108AC0(struct Task*);
void sub_8108D54(struct Sprite*, int, int); void sub_8108D54(struct Sprite*, int, int);
extern const union AffineAnimCmd *const gUnknown_08593420[]; extern const union AffineAnimCmd *const gGrowingRingAffineAnimTable[];
extern const union AffineAnimCmd *const gUnknown_08596208[]; extern const union AffineAnimCmd *const gUnknown_08596208[];
extern const union AnimCmd *const gUnknown_08595AB8[]; extern const union AnimCmd *const gUnknown_08595AB8[];
@ -257,7 +257,7 @@ const struct SpriteTemplate gUnknown_08595170 =
.oam = &gOamData_AffineDouble_ObjNormal_16x32, .oam = &gOamData_AffineDouble_ObjNormal_16x32,
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gUnknown_08593420, .affineAnims = gGrowingRingAffineAnimTable,
.callback = sub_81075EC, .callback = sub_81075EC,
}; };
@ -337,7 +337,7 @@ const struct SpriteTemplate gUnknown_08595208 =
.anims = gUnknown_08595200, .anims = gUnknown_08595200,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A78AC, .callback = AnimThrowProjectile,
}; };
const struct SpriteTemplate gUnknown_08595220 = const struct SpriteTemplate gUnknown_08595220 =
@ -1975,17 +1975,17 @@ void sub_8108C54(struct Sprite *sprite)
} }
} }
void sub_8108C94(struct Sprite *sprite) void AnimWaterPulseRing(struct Sprite *sprite)
{ {
InitSpritePosToAnimAttacker(sprite, TRUE); InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sprite->data[3] = gBattleAnimArgs[2]; sprite->data[3] = gBattleAnimArgs[2];
sprite->data[4] = gBattleAnimArgs[3]; sprite->data[4] = gBattleAnimArgs[3];
sprite->callback = sub_8108CDC; sprite->callback = AnimWaterPulseRing_Step;
} }
void sub_8108CDC(struct Sprite *sprite) void AnimWaterPulseRing_Step(struct Sprite *sprite)
{ {
int xDiff = sprite->data[1] - sprite->pos1.x; int xDiff = sprite->data[1] - sprite->pos1.x;
int yDiff = sprite->data[2] - sprite->pos1.y; int yDiff = sprite->data[2] - sprite->pos1.y;