pokefirered/include/battle_interface.h
2022-11-14 23:50:20 +08:00

91 lines
2.9 KiB
C

#ifndef GUARD_BATTLE_INTERFACE_H
#define GUARD_BATTLE_INTERFACE_H
#include "global.h"
#include "battle_controllers.h"
enum
{
HP_CURRENT,
HP_MAX
};
enum
{
HEALTH_BAR,
EXP_BAR
};
enum
{
HP_BAR_EMPTY,
HP_BAR_RED,
HP_BAR_YELLOW,
HP_BAR_GREEN,
HP_BAR_FULL,
};
#define TAG_HEALTHBOX_PLAYER1_TILE 55039
#define TAG_HEALTHBOX_PLAYER2_TILE 55040
#define TAG_HEALTHBOX_OPPONENT1_TILE 55041
#define TAG_HEALTHBOX_OPPONENT2_TILE 55042
#define TAG_HEALTHBAR_PLAYER1_TILE 55044
#define TAG_HEALTHBAR_OPPONENT1_TILE 55045
#define TAG_HEALTHBAR_PLAYER2_TILE 55046
#define TAG_HEALTHBAR_OPPONENT2_TILE 55047
#define TAG_HEALTHBOX_PALS_1 55049
#define TAG_HEALTHBOX_PALS_2 55050
#define TAG_HEALTHBOX_SAFARI_TILE 55051
#define TAG_PARTY_SUMMARY_BAR_PLAYER_TILE 55052
#define TAG_PARTY_SUMMARY_BAR_OPPONENT_TILE 55053
#define TAG_PARTY_SUMMARY_BAR_PLAYER_PAL 55056
#define TAG_PARTY_SUMMARY_BAR_OPPONENT_PAL 55057
#define TAG_PARTY_SUMMARY_BALL_PLAYER_PAL 55058
#define TAG_PARTY_SUMMARY_BALL_OPPONENT_PAL 55059
#define TAG_PARTY_SUMMARY_BALL_PLAYER_TILE 55060
#define TAG_PARTY_SUMMARY_BALL_OPPONENT_TILE 55061
#define TAG_HEALTHBOX_PAL TAG_HEALTHBOX_PLAYER1_TILE
#define TAG_HEALTHBAR_PAL TAG_HEALTHBAR_PLAYER1_TILE
enum
{
HEALTHBOX_ALL,
HEALTHBOX_CURRENT_HP,
HEALTHBOX_MAX_HP,
HEALTHBOX_LEVEL,
HEALTHBOX_NICK,
HEALTHBOX_HEALTH_BAR,
HEALTHBOX_EXP_BAR,
HEALTHBOX_UNUSED_7,
HEALTHBOX_UNUSED_8,
HEALTHBOX_STATUS_ICON,
HEALTHBOX_SAFARI_ALL_TEXT,
HEALTHBOX_SAFARI_BALLS_TEXT
};
void Task_HidePartyStatusSummary(u8 taskId);
u8 CreateBattlerHealthboxSprites(u8 battlerId);
u8 CreateSafariPlayerHealthboxSprites(void);
void SetBattleBarStruct(u8 battlerId, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue);
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
void DestoryHealthboxSprite(u8 healthboxSpriteId);
void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
void UpdateOamPriorityInAllHealthboxes(u8 priority);
void InitBattlerHealthboxCoords(u8 battlerId);
void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
void SwapHpBarsWithHpText(void);
u8 CreatePartyStatusSummarySprites(u8 battlerId, struct HpAndStatus *partyInfo, u8 isSwitchingMons, bool8 isBattleStart);
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
u8 GetHPBarLevel(s16 hp, s16 maxhp);
void UpdateNickInHealthbox(u8 spriteId, struct Pokemon *mon);
void TryAddPokeballIconToHealthbox(u8 spriteId, u8);
s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
#endif // GUARD_BATTLE_INTERFACE_H