mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-03-06 23:48:02 +01:00
Debug option to show opponents hp
This commit is contained in:
parent
2f6cc2be80
commit
cc764d8b77
@ -85,6 +85,7 @@ enum
|
||||
LIST_ITEM_STATUS3,
|
||||
LIST_ITEM_SIDE_STATUS,
|
||||
LIST_ITEM_AI,
|
||||
LIST_ITEM_VARIOUS,
|
||||
LIST_ITEM_COUNT
|
||||
};
|
||||
|
||||
@ -103,7 +104,8 @@ enum
|
||||
VAL_BITFIELD_8,
|
||||
VAL_BITFIELD_16,
|
||||
VAL_BITFIELD_32,
|
||||
VAR_SIDE_STATUS
|
||||
VAR_SIDE_STATUS,
|
||||
VAR_SHOW_HP,
|
||||
};
|
||||
|
||||
enum
|
||||
@ -121,6 +123,11 @@ enum
|
||||
LIST_SIDE_STICKY_WEB,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
VARIOUS_SHOW_HP,
|
||||
};
|
||||
|
||||
// const rom data
|
||||
static const u8 sText_Ability[] = _("Ability");
|
||||
static const u8 sText_Moves[] = _("Moves");
|
||||
@ -186,6 +193,8 @@ static const u8 sText_TryFaint[] = _("Try Faint");
|
||||
static const u8 sText_SetUpFirstTurn[] = _("Setup 1 turn");
|
||||
static const u8 sText_Risky[] = _("Risky");
|
||||
static const u8 sText_StrongestMove[] = _("Most dmg move");
|
||||
static const u8 sText_Various[] = _("Various");
|
||||
static const u8 sText_ShowHP[] = _("Show HP");
|
||||
|
||||
static const u8 sText_EmptyString[] = _("");
|
||||
|
||||
@ -277,6 +286,12 @@ static const struct ListMenuItem sMainListItems[] =
|
||||
{sText_Status3, LIST_ITEM_STATUS3},
|
||||
{sText_SideStatus, LIST_ITEM_SIDE_STATUS},
|
||||
{sText_AI, LIST_ITEM_AI},
|
||||
{sText_Various, LIST_ITEM_VARIOUS},
|
||||
};
|
||||
|
||||
static const struct ListMenuItem sVariousListItems[] =
|
||||
{
|
||||
{sText_ShowHP, VARIOUS_SHOW_HP},
|
||||
};
|
||||
|
||||
static const struct ListMenuItem sAIListItems[] =
|
||||
@ -852,6 +867,10 @@ static void CreateSecondaryListMenu(struct BattleDebugMenu *data)
|
||||
itemsCount = ARRAY_COUNT(sAIListItems);
|
||||
data->bitfield = sAIBitfield;
|
||||
break;
|
||||
case LIST_ITEM_VARIOUS:
|
||||
listTemplate.items = sVariousListItems;
|
||||
itemsCount = ARRAY_COUNT(sVariousListItems);
|
||||
break;
|
||||
case LIST_ITEM_SIDE_STATUS:
|
||||
listTemplate.items = sSideStatusListItems;
|
||||
itemsCount = ARRAY_COUNT(sSideStatusListItems);
|
||||
@ -1024,6 +1043,9 @@ static void UpdateBattlerValue(struct BattleDebugMenu *data)
|
||||
case VAR_SIDE_STATUS:
|
||||
*GetSideStatusValue(data, TRUE, data->modifyArrows.currValue != 0) = data->modifyArrows.currValue;
|
||||
break;
|
||||
case VAR_SHOW_HP:
|
||||
(*(struct BattleSpriteInfo*)(data->modifyArrows.modifiedValPtr)).hpNumbersNoBars = data->modifyArrows.currValue;
|
||||
break;
|
||||
}
|
||||
data->battlerWasChanged[data->battlerId] = TRUE;
|
||||
}
|
||||
@ -1264,6 +1286,17 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data)
|
||||
data->modifyArrows.typeOfVal = VAL_U8;
|
||||
data->modifyArrows.currValue = gBattleMons[data->battlerId].statStages[data->currentSecondaryListItemId + STAT_ATK];
|
||||
break;
|
||||
case LIST_ITEM_VARIOUS:
|
||||
if (data->currentSecondaryListItemId == VARIOUS_SHOW_HP)
|
||||
{
|
||||
data->modifyArrows.minValue = 0;
|
||||
data->modifyArrows.maxValue = 1;
|
||||
data->modifyArrows.maxDigits = 1;
|
||||
data->modifyArrows.modifiedValPtr = &gBattleSpritesDataPtr->battlerData[data->battlerId];
|
||||
data->modifyArrows.typeOfVal = VAR_SHOW_HP;
|
||||
data->modifyArrows.currValue = gBattleSpritesDataPtr->battlerData[data->battlerId].hpNumbersNoBars;
|
||||
}
|
||||
break;
|
||||
case LIST_ITEM_STATUS1:
|
||||
data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].status1;
|
||||
data->modifyArrows.currValue = GetBitfieldValue(gBattleMons[data->battlerId].status1, data->bitfield[data->currentSecondaryListItemId].currBit, data->bitfield[data->currentSecondaryListItemId].bitsCount);
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "battle_anim.h"
|
||||
#include "constants/rgb.h"
|
||||
#include "data2.h"
|
||||
#include "battle_debug.h"
|
||||
|
||||
struct TestingBar
|
||||
{
|
||||
@ -1218,7 +1219,7 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
|
||||
|
||||
memcpy(text, sUnknown_0832C3C4, sizeof(sUnknown_0832C3C4));
|
||||
battler = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
if (IsDoubleBattle() == TRUE || GetBattlerSide(battler) == B_SIDE_OPPONENT)
|
||||
if (IsDoubleBattle() == TRUE)
|
||||
{
|
||||
UpdateHpTextInHealthboxInDoubles(healthboxSpriteId, value, maxOrCurrent);
|
||||
}
|
||||
@ -1237,12 +1238,12 @@ void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent)
|
||||
else
|
||||
{
|
||||
if (maxOrCurrent == HP_CURRENT)
|
||||
var = 20;
|
||||
var = 21;
|
||||
else
|
||||
var = 48;
|
||||
var = 49;
|
||||
}
|
||||
|
||||
ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_RIGHT_ALIGN, 3);
|
||||
ConvertIntToDecimalStringN(text + 6, value, STR_CONV_MODE_LEADING_ZEROS, 3);
|
||||
RenderTextFont9(gMonSpritesGfxPtr->barFontGfx, 9, text);
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
@ -2193,9 +2194,6 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
|
||||
s32 maxHp, currHp;
|
||||
u8 battlerId = gSprites[healthboxSpriteId].hMain_Battler;
|
||||
|
||||
if (elementId == HEALTHBOX_ALL && !IsDoubleBattle())
|
||||
GetBattlerSide(battlerId); // Pointless function call.
|
||||
|
||||
if (GetBattlerSide(gSprites[healthboxSpriteId].hMain_Battler) == B_SIDE_PLAYER)
|
||||
{
|
||||
u8 isDoubles;
|
||||
@ -2245,6 +2243,10 @@ void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elem
|
||||
{
|
||||
if (elementId == HEALTHBOX_LEVEL || elementId == HEALTHBOX_ALL)
|
||||
UpdateLvlInHealthbox(healthboxSpriteId, GetMonData(mon, MON_DATA_LEVEL));
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars && (elementId == HEALTHBOX_CURRENT_HP || elementId == HEALTHBOX_ALL))
|
||||
UpdateHpTextInHealthbox(healthboxSpriteId, GetMonData(mon, MON_DATA_HP), HP_CURRENT);
|
||||
if (gBattleSpritesDataPtr->battlerData[battlerId].hpNumbersNoBars && (elementId == HEALTHBOX_MAX_HP || elementId == HEALTHBOX_ALL))
|
||||
UpdateHpTextInHealthbox(healthboxSpriteId, GetMonData(mon, MON_DATA_MAX_HP), HP_MAX);
|
||||
if (elementId == HEALTHBOX_HEALTH_BAR || elementId == HEALTHBOX_ALL)
|
||||
{
|
||||
LoadBattleBarGfx(0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user