2017-10-09 17:18:40 +01:00
|
|
|
#ifndef GUARD_BATTLE_INTERFACE_H
|
|
|
|
#define GUARD_BATTLE_INTERFACE_H
|
|
|
|
|
2018-12-16 17:35:10 +00:00
|
|
|
#include "battle_controllers.h"
|
|
|
|
|
2017-10-21 16:32:35 +01:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
HP_CURRENT,
|
2022-08-25 15:40:56 +01:00
|
|
|
HP_MAX,
|
|
|
|
HP_BOTH
|
2017-10-21 16:32:35 +01:00
|
|
|
};
|
|
|
|
|
2017-10-22 17:43:15 +01:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
HEALTH_BAR,
|
|
|
|
EXP_BAR
|
|
|
|
};
|
|
|
|
|
2017-11-04 15:11:13 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
HP_BAR_EMPTY,
|
|
|
|
HP_BAR_RED,
|
|
|
|
HP_BAR_YELLOW,
|
|
|
|
HP_BAR_GREEN,
|
|
|
|
HP_BAR_FULL,
|
|
|
|
};
|
|
|
|
|
2017-10-19 17:25:48 +01:00
|
|
|
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
|
|
|
|
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
|
|
|
|
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
|
|
|
|
#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702
|
|
|
|
|
2018-06-18 23:43:15 +01:00
|
|
|
#define TAG_HEALTHBAR_PLAYER1_TILE 0xD704
|
|
|
|
#define TAG_HEALTHBAR_OPPONENT1_TILE 0xD705
|
|
|
|
#define TAG_HEALTHBAR_PLAYER2_TILE 0xD706
|
|
|
|
#define TAG_HEALTHBAR_OPPONENT2_TILE 0xD707
|
|
|
|
|
2022-08-17 16:44:20 +01:00
|
|
|
#define TAG_HEALTHBOX_PALS_1 0xD709
|
|
|
|
#define TAG_HEALTHBOX_PALS_2 0xD70A
|
2017-10-19 17:25:48 +01:00
|
|
|
#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B
|
|
|
|
#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C
|
|
|
|
|
|
|
|
#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710
|
|
|
|
#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712
|
|
|
|
|
|
|
|
#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714
|
|
|
|
|
2022-08-17 16:44:20 +01:00
|
|
|
#define TAG_HEALTHBAR_PAL TAG_HEALTHBAR_PLAYER1_TILE
|
|
|
|
#define TAG_HEALTHBOX_PAL TAG_HEALTHBOX_PLAYER1_TILE
|
|
|
|
|
2021-08-25 07:35:21 +01:00
|
|
|
#define TAG_MEGA_TRIGGER_TILE 0xD777
|
2019-05-02 22:10:01 +01:00
|
|
|
#define TAG_MEGA_INDICATOR_TILE 0xD778
|
2021-08-25 07:35:21 +01:00
|
|
|
#define TAG_ALPHA_INDICATOR_TILE 0xD779
|
|
|
|
#define TAG_OMEGA_INDICATOR_TILE 0xD77A
|
2021-12-17 03:44:01 +00:00
|
|
|
#define TAG_ZMOVE_TRIGGER_TILE 0xD77B
|
2023-08-10 04:12:26 +01:00
|
|
|
#define TAG_BURST_TRIGGER_TILE 0xD77C
|
2023-10-09 20:51:41 +01:00
|
|
|
#define TAG_DYNAMAX_TRIGGER_TILE 0xD77D
|
|
|
|
#define TAG_DYNAMAX_INDICATOR_TILE 0xD77E
|
2018-09-17 21:40:49 +01:00
|
|
|
|
2021-08-25 07:35:21 +01:00
|
|
|
#define TAG_MEGA_TRIGGER_PAL 0xD777
|
|
|
|
#define TAG_MEGA_INDICATOR_PAL 0xD778
|
2023-03-11 18:48:21 +00:00
|
|
|
#define TAG_MISC_INDICATOR_PAL 0xD779 // Alpha, Omega, and Dynamax indicators use the same palette as each of them only uses 4 different colors.
|
2021-12-17 03:44:01 +00:00
|
|
|
#define TAG_ZMOVE_TRIGGER_PAL 0xD77B
|
2023-08-10 04:12:26 +01:00
|
|
|
#define TAG_BURST_TRIGGER_PAL 0xD77C
|
2023-10-09 20:51:41 +01:00
|
|
|
#define TAG_DYNAMAX_TRIGGER_PAL 0xD77D
|
2018-09-17 21:40:49 +01:00
|
|
|
|
2017-10-09 17:18:40 +01:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
HEALTHBOX_ALL,
|
|
|
|
HEALTHBOX_CURRENT_HP,
|
|
|
|
HEALTHBOX_MAX_HP,
|
|
|
|
HEALTHBOX_LEVEL,
|
|
|
|
HEALTHBOX_NICK,
|
|
|
|
HEALTHBOX_HEALTH_BAR,
|
|
|
|
HEALTHBOX_EXP_BAR,
|
2017-10-18 22:52:21 +01:00
|
|
|
HEALTHBOX_UNUSED_7,
|
|
|
|
HEALTHBOX_UNUSED_8,
|
2017-10-09 17:18:40 +01:00
|
|
|
HEALTHBOX_STATUS_ICON,
|
|
|
|
HEALTHBOX_SAFARI_ALL_TEXT,
|
|
|
|
HEALTHBOX_SAFARI_BALLS_TEXT
|
|
|
|
};
|
|
|
|
|
2022-08-24 22:00:21 +01:00
|
|
|
u32 WhichBattleCoords(u32 battlerId);
|
2018-09-01 17:36:08 +01:00
|
|
|
u8 CreateBattlerHealthboxSprites(u8 battler);
|
2017-10-09 17:18:40 +01:00
|
|
|
u8 CreateSafariPlayerHealthboxSprites(void);
|
2018-09-01 17:36:08 +01:00
|
|
|
void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue);
|
2017-10-09 17:18:40 +01:00
|
|
|
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
|
2017-10-19 14:28:41 +01:00
|
|
|
void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
|
2017-10-19 17:25:48 +01:00
|
|
|
void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
|
2021-02-03 06:30:08 +00:00
|
|
|
void UpdateOamPriorityInAllHealthboxes(u8 priority, bool32 hideHpBoxes);
|
2018-09-01 17:36:08 +01:00
|
|
|
void InitBattlerHealthboxCoords(u8 battler);
|
2023-03-11 07:03:51 +00:00
|
|
|
void GetBattlerHealthboxCoords(u8 battler, s16 *x, s16 *y);
|
2022-08-25 15:40:56 +01:00
|
|
|
void UpdateHpTextInHealthbox(u32 healthboxSpriteId, u32 maxOrCurrent, s16 currHp, s16 maxHp);
|
2017-10-19 14:28:41 +01:00
|
|
|
void SwapHpBarsWithHpText(void);
|
2018-09-20 19:59:00 +01:00
|
|
|
void ChangeMegaTriggerSprite(u8 spriteId, u8 animId);
|
2018-09-17 21:40:49 +01:00
|
|
|
void CreateMegaTriggerSprite(u8 battlerId, u8 palId);
|
2018-09-20 10:23:12 +01:00
|
|
|
bool32 IsMegaTriggerSpriteActive(void);
|
|
|
|
void HideMegaTriggerSprite(void);
|
2018-09-17 21:40:49 +01:00
|
|
|
void DestroyMegaTriggerSprite(void);
|
2023-08-10 04:12:26 +01:00
|
|
|
void ChangeBurstTriggerSprite(u8 spriteId, u8 animId);
|
|
|
|
void CreateBurstTriggerSprite(u8 battlerId, u8 palId);
|
|
|
|
bool32 IsBurstTriggerSpriteActive(void);
|
|
|
|
void HideBurstTriggerSprite(void);
|
|
|
|
void DestroyBurstTriggerSprite(void);
|
2023-02-26 11:51:35 +00:00
|
|
|
void MegaIndicator_LoadSpritesGfx(void);
|
2022-06-01 17:41:57 +01:00
|
|
|
u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart);
|
2018-06-28 20:06:32 +01:00
|
|
|
void Task_HidePartyStatusSummary(u8 taskId);
|
2017-10-19 14:28:41 +01:00
|
|
|
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
|
2022-05-21 20:21:50 +01:00
|
|
|
s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 unused);
|
2017-10-19 14:28:41 +01:00
|
|
|
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
|
|
|
|
u8 GetHPBarLevel(s16 hp, s16 maxhp);
|
2018-09-29 11:47:35 +01:00
|
|
|
void CreateAbilityPopUp(u8 battlerId, u32 ability, bool32 isDoubleBattle);
|
2020-11-19 22:16:27 +00:00
|
|
|
void DestroyAbilityPopUp(u8 battlerId);
|
2020-11-26 20:56:18 +00:00
|
|
|
void HideTriggerSprites(void);
|
2021-06-25 20:37:59 +01:00
|
|
|
bool32 CanThrowLastUsedBall(void);
|
|
|
|
void TryHideLastUsedBall(void);
|
|
|
|
void TryRestoreLastUsedBall(void);
|
|
|
|
void TryAddLastUsedBallItemSprites(void);
|
2023-08-25 00:23:26 +01:00
|
|
|
void SwapBallToDisplay(bool32 sameBall);
|
|
|
|
void ArrowsChangeColorLastBallCycle(bool32 showArrows);
|
2021-10-12 15:32:51 +01:00
|
|
|
void UpdateAbilityPopup(u8 battlerId);
|
2017-10-09 17:18:40 +01:00
|
|
|
|
|
|
|
#endif // GUARD_BATTLE_INTERFACE_H
|