dump battle animation scripts

This commit is contained in:
DizzyEggg 2017-12-31 16:28:57 +01:00
parent 1496ea3a24
commit 4f950d698c
23 changed files with 11339 additions and 109 deletions

View File

@ -867,7 +867,7 @@ LaunchStatusAnimation: @ 80AA364
strb r4, [r0]
ldr r0, =gAnimBankTarget
strb r4, [r0]
ldr r0, =gUnknown_082C92FC
ldr r0, =gBattleAnims_Statuses
movs r2, 0
bl LaunchBattleAnimation
ldr r0, =task0A_80788BC

View File

@ -17067,8 +17067,8 @@ sub_8107144: @ 8107144
.pool
thumb_func_end sub_8107144
thumb_func_start update_fury_cutter_counter_copy
update_fury_cutter_counter_copy: @ 8107168
thumb_func_start sub_8107168
sub_8107168: @ 8107168
push {lr}
lsls r0, 24
lsrs r0, 24
@ -17081,7 +17081,7 @@ update_fury_cutter_counter_copy: @ 8107168
pop {r0}
bx r0
.pool
thumb_func_end update_fury_cutter_counter_copy
thumb_func_end sub_8107168
thumb_func_start sub_8107188
sub_8107188: @ 8107188

View File

@ -639,8 +639,8 @@ _0815A5AC:
.pool
thumb_func_end sub_815A52C
thumb_func_start c3_80DE6F0
c3_80DE6F0: @ 815A5C8
thumb_func_start sub_815A5C8
sub_815A5C8: @ 815A5C8
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
@ -656,7 +656,7 @@ c3_80DE6F0: @ 815A5C8
strb r0, [r1]
bx lr
.pool
thumb_func_end c3_80DE6F0
thumb_func_end sub_815A5C8
thumb_func_start sub_815A5F0
sub_815A5F0: @ 815A5F0
@ -3271,8 +3271,8 @@ _0815BAFC:
.pool
thumb_func_end sub_815B7D0
thumb_func_start c3_80DFBE4
c3_80DFBE4: @ 815BB18
thumb_func_start sub_815BB18
sub_815BB18: @ 815BB18
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@ -3297,7 +3297,7 @@ c3_80DFBE4: @ 815BB18
pop {r0}
bx r0
.pool
thumb_func_end c3_80DFBE4
thumb_func_end sub_815BB18
thumb_func_start sub_815BB58
sub_815BB58: @ 815BB58

View File

@ -150,8 +150,8 @@ _08158C4C:
.pool
thumb_func_end sub_8158C04
thumb_func_start mas_80DCF38
mas_80DCF38: @ 8158C58
thumb_func_start sub_8158C58
sub_8158C58: @ 8158C58
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@ -230,7 +230,7 @@ mas_80DCF38: @ 8158C58
pop {r0}
bx r0
.pool
thumb_func_end mas_80DCF38
thumb_func_end sub_8158C58
thumb_func_start sub_8158D08
sub_8158D08: @ 8158D08

View File

@ -0,0 +1,268 @@
@ commands
.macro loadspritegfx param0
.byte 0x0
.2byte \param0
.endm
.macro unloadspritegfx param0
.byte 0x1
.2byte \param0
.endm
.macro createsprite template, priority, argv:vararg
.byte 0x02
.4byte \template
.byte \priority
.byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
.Lsprite_\@_1:
.2byte \argv
.Lsprite_\@_2:
.endm
.macro createvisualtask addr, priority, argv:vararg
.byte 0x03
.4byte \addr
.byte \priority
.byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
.Lcreatetask_\@_1:
.2byte \argv
.Lcreatetask_\@_2:
.endm
.macro delay param0
.byte 0x4
.byte \param0
.endm
.macro waitforvisualfinish
.byte 0x5
.endm
.macro hang1
.byte 0x6
.endm
.macro hang2
.byte 0x7
.endm
.macro end
.byte 0x8
.endm
.macro playse param0
.byte 0x9
.2byte \param0
.endm
.macro monbg bank
.byte 0xa
.byte \bank
.endm
.macro clearmonbg bank
.byte 0xb
.byte \bank
.endm
.macro setalpha param0
.byte 0xc
.2byte \param0
.endm
.macro blendoff
.byte 0xd
.endm
.macro call param0
.byte 0xe
.4byte \param0
.endm
.macro return
.byte 0xf
.endm
.macro setarg param0, param1
.byte 0x10
.byte \param0
.2byte \param1
.endm
.macro choosetwoturnanim param0, param1
.byte 0x11
.4byte \param0
.4byte \param1
.endm
.macro jumpifmoveturn param0, param1
.byte 0x12
.byte \param0
.4byte \param1
.endm
.macro goto param0
.byte 0x13
.4byte \param0
.endm
.macro fadetobg param0
.byte 0x14
.byte \param0
.endm
.macro restorebg
.byte 0x15
.endm
.macro waitbgfadeout
.byte 0x16
.endm
.macro waitbgfadein
.byte 0x17
.endm
.macro changebg param0
.byte 0x18
.byte \param0
.endm
.macro playsewithpan param0, param1
.byte 0x19
.2byte \param0
.byte \param1
.endm
.macro setpan param0
.byte 0x1a
.byte \param0
.endm
.macro panse_1B param0, param1, param2, param3, param4
.byte 0x1b
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
.macro loopsewithpan param0, param1, param2, param3
.byte 0x1c
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.endm
.macro waitplaysewithpan param0, param1, param2
.byte 0x1d
.2byte \param0
.byte \param1
.byte \param2
.endm
.macro setbldcnt param0
.byte 0x1e
.2byte \param0
.endm
.macro createsoundtask addr, argv:vararg
.byte 0x1F
.4byte \addr
.byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
.Lcreatetask_1F_\@_1:
.2byte \argv
.Lcreatetask_1F_\@_2:
.endm
.macro waitsound
.byte 0x20
.endm
.macro jumpargeq param0, param1, param2
.byte 0x21
.byte \param0
.2byte \param1
.4byte \param2
.endm
.macro monbg_22 bank
.byte 0x22
.byte \bank
.endm
.macro clearmonbg_23 bank
.byte 0x23
.byte \bank
.endm
.macro jumpifcontest param0
.byte 0x24
.4byte \param0
.endm
.macro fadetobgfromset param0, param1, param2
.byte 0x25
.byte \param0
.byte \param1
.byte \param2
.endm
.macro panse_26 param0, param1, param2, param3, param4
.byte 0x26
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
.macro panse_27 param0, param1, param2, param3, param4
.byte 0x27
.2byte \param0
.byte \param1
.byte \param2
.byte \param3
.byte \param4
.endm
.macro monbgprio_28 bank
.byte 0x28
.byte \bank
.endm
.macro monbgprio_29
.byte 0x29
.endm
.macro monbgprio_2A bank
.byte 0x2a
.byte \bank
.endm
.macro invisible bank
.byte 0x2b
.byte \bank
.endm
.macro visible bank
.byte 0x2c
.byte \bank
.endm
.macro doublebattle_2D bank
.byte 0x2d
.byte \bank
.endm
.macro doublebattle_2E bank
.byte 0x2e
.byte \bank
.endm
.macro stopsound
.byte 0x2f
.endm

File diff suppressed because it is too large Load Diff

View File

@ -10,6 +10,7 @@
.section script_data, "aw", %progbits
.align 2
gBattleScriptsForMoveEffects:: @ 82D86A8
.4byte BattleScript_EffectHit
.4byte BattleScript_EffectSleep

View File

@ -778,52 +778,6 @@ extern struct BattleStruct* gBattleStruct;
#define MOVE_EFFECT_AFFECTS_USER 0x40
#define MOVE_EFFECT_CERTAIN 0x80
// table ids for general animations
#define B_ANIM_CASTFORM_CHANGE 0x0
#define B_ANIM_STATS_CHANGE 0x1
#define B_ANIM_SUBSTITUTE_FADE 0x2
#define B_ANIM_SUBSTITUTE_APPEAR 0x3
#define B_ANIM_x4 0x4
#define B_ANIM_ITEM_KNOCKOFF 0x5
#define B_ANIM_TURN_TRAP 0x6
#define B_ANIM_ITEM_EFFECT 0x7
#define B_ANIM_SMOKEBALL_ESCAPE 0x8
#define B_ANIM_HANGED_ON 0x9
#define B_ANIM_RAIN_CONTINUES 0xA
#define B_ANIM_SUN_CONTINUES 0xB
#define B_ANIM_SANDSTORM_CONTINUES 0xC
#define B_ANIM_HAIL_CONTINUES 0xD
#define B_ANIM_LEECH_SEED_DRAIN 0xE
#define B_ANIM_MON_HIT 0xF
#define B_ANIM_ITEM_STEAL 0x10
#define B_ANIM_SNATCH_MOVE 0x11
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
#define B_ANIM_DOOM_DESIRE_HIT 0x13
#define B_ANIM_x14 0x14
#define B_ANIM_INGRAIN_HEAL 0x15
#define B_ANIM_WISH_HEAL 0x16
// special animations table
#define B_ANIM_LVL_UP 0x0
#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
#define B_ANIM_BALL_THROW 0x3
#define B_ANIM_SAFARI_BALL_THROW 0x4
#define B_ANIM_SUBSTITUTE_TO_MON 0x5
#define B_ANIM_MON_TO_SUBSTITUTE 0x6
// status animation table
#define B_ANIM_STATUS_PSN 0x0
#define B_ANIM_STATUS_CONFUSION 0x1
#define B_ANIM_STATUS_BRN 0x2
#define B_ANIM_STATUS_INFATUATION 0x3
#define B_ANIM_STATUS_SLP 0x4
#define B_ANIM_STATUS_PRZ 0x5
#define B_ANIM_STATUS_FRZ 0x6
#define B_ANIM_STATUS_CURSED 0x7
#define B_ANIM_STATUS_NIGHTMARE 0x8
#define B_ANIM_STATUS_WRAPPED 0x9
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit

View File

@ -1,14 +1,6 @@
#ifndef GUARD_BATTLE_ANIM_H
#define GUARD_BATTLE_ANIM_H
enum
{
ANIM_BANK_ATTACKER,
ANIM_BANK_TARGET,
ANIM_BANK_ATK_PARTNER,
ANIM_BANK_DEF_PARTNER,
};
enum
{
BG_ANIM_SCREEN_SIZE,

View File

@ -0,0 +1,85 @@
#ifndef GUARD_CONSTANTS_BATTLE_ANIM_H
#define GUARD_CONSTANTS_BATTLE_ANIM_H
// banks enum used in scripts
#define ANIM_ATTACKER 0
#define ANIM_TARGET 1
#define ANIM_ATK_PARTNER 2
#define ANIM_DEF_PARTNER 3
// move background ids
#define BG_DARK_ 0 // the same as BG_DARK but is unused
#define BG_DARK 1
#define BG_GHOST 2
#define BG_PSYCHIC 3
#define BG_IMPACT_OPPONENT 4
#define BG_IMPACT_PLAYER 5
#define BG_IMPACT_CONTESTS 6
#define BG_DRILL 7
#define BG_DRILL_CONTESTS 8
#define BG_HIGHSPEED_OPPONENT 9
#define BG_HIGHSPEED_PLAYER 10
#define BG_THUNDER 11
#define BG_GUILLOTINE_OPPONENT 12
#define BG_GUILLOTINE_PLAYER 13
#define BG_GUILLOTINE_CONTESTS 14
#define BG_ICE 15
#define BG_COSMIC 16
#define BG_SEISMICTOSS_SKUUPPERCUT 17
#define BG_FLYING 18
#define BG_FLYING_CONTESTS 19
#define BG_AURORABEAM 20
#define BG_FISSURE 21
#define BG_BUG_OPPONENT 22
#define BG_BUG_PLAYER 23
#define BG_SOLARBEAM_OPPONENT 24
#define BG_SOLARBEAM_PLAYER 25
#define BG_SOLARBEAM_CONTESTS 26
// table ids for general animations
#define B_ANIM_CASTFORM_CHANGE 0x0
#define B_ANIM_STATS_CHANGE 0x1
#define B_ANIM_SUBSTITUTE_FADE 0x2
#define B_ANIM_SUBSTITUTE_APPEAR 0x3
#define B_ANIM_x4 0x4
#define B_ANIM_ITEM_KNOCKOFF 0x5
#define B_ANIM_TURN_TRAP 0x6
#define B_ANIM_ITEM_EFFECT 0x7
#define B_ANIM_SMOKEBALL_ESCAPE 0x8
#define B_ANIM_HANGED_ON 0x9
#define B_ANIM_RAIN_CONTINUES 0xA
#define B_ANIM_SUN_CONTINUES 0xB
#define B_ANIM_SANDSTORM_CONTINUES 0xC
#define B_ANIM_HAIL_CONTINUES 0xD
#define B_ANIM_LEECH_SEED_DRAIN 0xE
#define B_ANIM_MON_HIT 0xF
#define B_ANIM_ITEM_STEAL 0x10
#define B_ANIM_SNATCH_MOVE 0x11
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
#define B_ANIM_DOOM_DESIRE_HIT 0x13
#define B_ANIM_x14 0x14
#define B_ANIM_INGRAIN_HEAL 0x15
#define B_ANIM_WISH_HEAL 0x16
// special animations table
#define B_ANIM_LVL_UP 0x0
#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
#define B_ANIM_BALL_THROW 0x3
#define B_ANIM_SAFARI_BALL_THROW 0x4
#define B_ANIM_SUBSTITUTE_TO_MON 0x5
#define B_ANIM_MON_TO_SUBSTITUTE 0x6
// status animation table
#define B_ANIM_STATUS_PSN 0x0
#define B_ANIM_STATUS_CONFUSION 0x1
#define B_ANIM_STATUS_BRN 0x2
#define B_ANIM_STATUS_INFATUATION 0x3
#define B_ANIM_STATUS_SLP 0x4
#define B_ANIM_STATUS_PRZ 0x5
#define B_ANIM_STATUS_FRZ 0x6
#define B_ANIM_STATUS_CURSED 0x7
#define B_ANIM_STATUS_NIGHTMARE 0x8
#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist
#endif // GUARD_CONSTANTS_BATTLE_ANIM_H

View File

@ -1,6 +1,7 @@
#include "global.h"
#include "battle.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "sprite.h"
#include "contest.h"
#include "m4a.h"
@ -67,7 +68,7 @@ static void ScriptCmd_return(void);
static void ScriptCmd_setarg(void);
static void ScriptCmd_choosetwoturnanim(void);
static void ScriptCmd_jumpifmoveturn(void);
static void ScriptCmd_jump(void);
static void ScriptCmd_goto(void);
static void ScriptCmd_fadetobg(void);
static void ScriptCmd_restorebg(void);
static void ScriptCmd_waitbgfadeout(void);
@ -156,7 +157,7 @@ static void (* const sScriptCmdTable[])(void) =
ScriptCmd_setarg,
ScriptCmd_choosetwoturnanim,
ScriptCmd_jumpifmoveturn,
ScriptCmd_jump,
ScriptCmd_goto,
ScriptCmd_fadetobg,
ScriptCmd_restorebg,
ScriptCmd_waitbgfadeout,
@ -605,7 +606,7 @@ static void ScriptCmd_monbg(void)
sBattleAnimScriptPtr++;
animBank = sBattleAnimScriptPtr[0];
if (animBank & ANIM_BANK_TARGET)
if (animBank & ANIM_TARGET)
bank = gAnimBankTarget;
else
bank = gAnimBankAttacker;
@ -862,12 +863,12 @@ static void ScriptCmd_clearmonbg(void)
sBattleAnimScriptPtr++;
animBankId = sBattleAnimScriptPtr[0];
if (animBankId == ANIM_BANK_ATTACKER)
animBankId = ANIM_BANK_ATK_PARTNER;
else if (animBankId == ANIM_BANK_TARGET)
animBankId = ANIM_BANK_DEF_PARTNER;
if (animBankId == ANIM_ATTACKER)
animBankId = ANIM_ATK_PARTNER;
else if (animBankId == ANIM_TARGET)
animBankId = ANIM_DEF_PARTNER;
if (animBankId == ANIM_BANK_ATTACKER || animBankId == ANIM_BANK_ATK_PARTNER)
if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER)
bank = gAnimBankAttacker;
else
bank = gAnimBankTarget;
@ -924,12 +925,12 @@ static void ScriptCmd_monbg_22(void)
animBankId = sBattleAnimScriptPtr[0];
if (animBankId == ANIM_BANK_ATTACKER)
animBankId = ANIM_BANK_ATK_PARTNER;
else if (animBankId == ANIM_BANK_TARGET)
animBankId = ANIM_BANK_DEF_PARTNER;
if (animBankId == ANIM_ATTACKER)
animBankId = ANIM_ATK_PARTNER;
else if (animBankId == ANIM_TARGET)
animBankId = ANIM_DEF_PARTNER;
if (animBankId == ANIM_BANK_ATTACKER || animBankId == ANIM_BANK_ATK_PARTNER)
if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER)
bank = gAnimBankAttacker;
else
bank = gAnimBankTarget;
@ -969,12 +970,12 @@ static void ScriptCmd_clearmonbg_23(void)
sBattleAnimScriptPtr++;
animBankId = sBattleAnimScriptPtr[0];
if (animBankId == ANIM_BANK_ATTACKER)
animBankId = ANIM_BANK_ATK_PARTNER;
else if (animBankId == ANIM_BANK_TARGET)
animBankId = ANIM_BANK_DEF_PARTNER;
if (animBankId == ANIM_ATTACKER)
animBankId = ANIM_ATK_PARTNER;
else if (animBankId == ANIM_TARGET)
animBankId = ANIM_DEF_PARTNER;
if (animBankId == ANIM_BANK_ATTACKER || animBankId == ANIM_BANK_ATK_PARTNER)
if (animBankId == ANIM_ATTACKER || animBankId == ANIM_ATK_PARTNER)
bank = gAnimBankAttacker;
else
bank = gAnimBankTarget;
@ -1099,7 +1100,7 @@ static void ScriptCmd_jumpifmoveturn(void)
sBattleAnimScriptPtr += 4;
}
static void ScriptCmd_jump(void)
static void ScriptCmd_goto(void)
{
sBattleAnimScriptPtr++;
sBattleAnimScriptPtr = SCRIPT_READ_PTR(sBattleAnimScriptPtr);
@ -1699,7 +1700,7 @@ static void ScriptCmd_monbgprio_28(void)
wantedBank = sBattleAnimScriptPtr[1];
sBattleAnimScriptPtr += 2;
if (wantedBank != ANIM_BANK_ATTACKER)
if (wantedBank != ANIM_ATTACKER)
bank = gAnimBankTarget;
else
bank = gAnimBankAttacker;
@ -1732,7 +1733,7 @@ static void ScriptCmd_monbgprio_2A(void)
sBattleAnimScriptPtr += 2;
if (GetBankSide(gAnimBankAttacker) != GetBankSide(gAnimBankTarget))
{
if (wantedBank != ANIM_BANK_ATTACKER)
if (wantedBank != ANIM_ATTACKER)
bank = gAnimBankTarget;
else
bank = gAnimBankAttacker;
@ -1779,15 +1780,15 @@ static void ScriptCmd_doublebattle_2D(void)
if (!IsContest() && IsDoubleBattle()
&& GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget))
{
if (wantedBank == ANIM_BANK_ATTACKER)
if (wantedBank == ANIM_ATTACKER)
{
r4 = sub_80A8364(gAnimBankAttacker);
spriteId = GetAnimBankSpriteId(0);
spriteId = GetAnimBankSpriteId(ANIM_ATTACKER);
}
else
{
r4 = sub_80A8364(gAnimBankTarget);
spriteId = GetAnimBankSpriteId(1);
spriteId = GetAnimBankSpriteId(ANIM_TARGET);
}
if (spriteId != 0xFF)
{
@ -1814,15 +1815,15 @@ static void ScriptCmd_doublebattle_2E(void)
if (!IsContest() && IsDoubleBattle()
&& GetBankSide(gAnimBankAttacker) == GetBankSide(gAnimBankTarget))
{
if (wantedBank == ANIM_BANK_ATTACKER)
if (wantedBank == ANIM_ATTACKER)
{
r4 = sub_80A8364(gAnimBankAttacker);
spriteId = GetAnimBankSpriteId(0);
spriteId = GetAnimBankSpriteId(ANIM_ATTACKER);
}
else
{
r4 = sub_80A8364(gAnimBankTarget);
spriteId = GetAnimBankSpriteId(1);
spriteId = GetAnimBankSpriteId(ANIM_TARGET);
}
if (spriteId != 0xFF && r4 == 2)

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_link_817C95C.h"
#include "pokemon.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_link_817C95C.h"
#include "pokemon.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_link_817C95C.h"
#include "battle_ai_script_commands.h"
#include "pokemon.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_link_817C95C.h"
#include "pokemon.h"
#include "link.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "pokemon.h"
#include "link.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "battle_link_817C95C.h"
#include "recorded_battle.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_ai_script_commands.h"
#include "recorded_battle.h"
#include "pokemon.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "pokemon.h"
#include "link.h"
#include "util.h"

View File

@ -4,6 +4,7 @@
#include "battle_message.h"
#include "battle_interface.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_link_817C95C.h"
#include "pokemon.h"
#include "link.h"

View File

@ -3,6 +3,7 @@
#include "battle_controllers.h"
#include "battle_ai_script_commands.h"
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "battle_interface.h"
#include "main.h"
#include "malloc.h"
@ -39,8 +40,8 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern const struct BattleMove gBattleMoves[];
extern const u8 gUnknown_0831C604[];
extern const u8 * const gUnknown_082C9320[];
extern const u8 * const gUnknown_082C937C[];
extern const u8 * const gBattleAnims_VariousTable[];
extern const u8 * const gBattleAnims_Special[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct CompressedSpriteSheet gMonBackPicTable[];
extern const struct CompressedSpriteSheet gTrainerFrontPicTable[];
@ -414,7 +415,7 @@ void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status)
else if (status & STATUS2_NIGHTMARE)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_NIGHTMARE);
else if (status & STATUS2_WRAPPED)
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_WRAPPED);
LaunchStatusAnimation(gActiveBank, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist
else // no animation
gBattleSpritesDataPtr->healthBoxesData[gActiveBank].statusAnimActive = 0;
}
@ -448,7 +449,7 @@ bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank,
gAnimBankAttacker = atkBank;
gAnimBankTarget = defBank;
gBattleSpritesDataPtr->animationData->animArg = argument;
LaunchBattleAnimation(gUnknown_082C9320, tableId, FALSE);
LaunchBattleAnimation(gBattleAnims_VariousTable, tableId, FALSE);
taskId = CreateTask(Task_ClearBitWhenBattleTableAnimDone, 10);
gTasks[taskId].tBank = activeBank;
gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBank].animFromTableActive = 1;
@ -492,7 +493,7 @@ void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tab
gAnimBankAttacker = atkBank;
gAnimBankTarget = defBank;
LaunchBattleAnimation(gUnknown_082C937C, tableId, FALSE);
LaunchBattleAnimation(gBattleAnims_Special, tableId, FALSE);
taskId = CreateTask(Task_ClearBitWhenSpecialAnimDone, 10);
gTasks[taskId].tBank = activeBank;
gBattleSpritesDataPtr->healthBoxesData[gTasks[taskId].tBank].specialAnimActive = 1;

View File

@ -18,6 +18,7 @@
#include "constants/species.h"
#include "constants/songs.h"
#include "constants/trainers.h"
#include "constants/battle_anim.h"
#include "text.h"
#include "sound.h"
#include "pokedex.h"

View File

@ -3,6 +3,7 @@
#include "constants/abilities.h"
#include "constants/moves.h"
#include "constants/hold_effects.h"
#include "constants/battle_anim.h"
#include "pokemon.h"
#include "constants/species.h"
#include "item.h"