Files
MinecraftConsoles/Minecraft.Client/Common/UI/UIScene_HUD.h
daoge b3feddfef3 feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict

* feat: TU19 (Dec 2014) Features & Content (#32)

* December 2014 files

* Working release build

* Fix compilation issues

* Add sound to Windows64Media

* Add DLC content and force Tutorial DLC

* Revert "Add DLC content and force Tutorial DLC"

This reverts commit 97a4399472.

* Disable broken light packing

* Disable breakpoint during DLC texture map load

Allows DLC loading but the DLC textures are still broken

* Fix post build not working

* ...

* fix vs2022 build

* fix cmake build

---------

Co-authored-by: Loki <lokirautio@gmail.com>
2026-03-03 03:04:10 +08:00

181 lines
6.1 KiB
C++

#pragma once
#include "UIScene.h"
#include "IUIScene_HUD.h"
#define CHAT_LINES_COUNT 10
class UIScene_HUD : public UIScene, public IUIScene_HUD
{
private:
bool m_bSplitscreen;
protected:
UIControl_Label m_labelChatText[CHAT_LINES_COUNT];
UIControl_Label m_labelJukebox;
UIControl m_controlLabelBackground[CHAT_LINES_COUNT];
UIControl_Label m_labelDisplayName;
IggyName m_funcLoadHud, m_funcSetExpBarProgress, m_funcSetPlayerLevel, m_funcSetActiveSlot;
IggyName m_funcSetHealth, m_funcSetFood, m_funcSetAir, m_funcSetArmour;
IggyName m_funcShowHealth, m_funcShowHorseHealth, m_funcShowFood, m_funcShowAir, m_funcShowArmour, m_funcShowExpbar;
IggyName m_funcSetRegenerationEffect, m_funcSetFoodSaturationLevel;
IggyName m_funcSetDragonHealth, m_funcSetDragonLabel, m_funcShowDragonHealth;
IggyName m_funcSetSelectedLabel, m_funcHideSelectedLabel;
IggyName m_funcRepositionHud, m_funcSetDisplayName, m_funcSetTooltipsEnabled;
IggyName m_funcSetRidingHorse, m_funcSetHorseHealth, m_funcSetHorseJumpBarProgress;
IggyName m_funcSetHealthAbsorb;
UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene)
UI_MAP_ELEMENT(m_labelChatText[0],"Label1")
UI_MAP_ELEMENT(m_labelChatText[1],"Label2")
UI_MAP_ELEMENT(m_labelChatText[2],"Label3")
UI_MAP_ELEMENT(m_labelChatText[3],"Label4")
UI_MAP_ELEMENT(m_labelChatText[4],"Label5")
UI_MAP_ELEMENT(m_labelChatText[5],"Label6")
UI_MAP_ELEMENT(m_labelChatText[6],"Label7")
UI_MAP_ELEMENT(m_labelChatText[7],"Label8")
UI_MAP_ELEMENT(m_labelChatText[8],"Label9")
UI_MAP_ELEMENT(m_labelChatText[9],"Label10")
UI_MAP_ELEMENT(m_controlLabelBackground[0],"Label1Background")
UI_MAP_ELEMENT(m_controlLabelBackground[1],"Label2Background")
UI_MAP_ELEMENT(m_controlLabelBackground[2],"Label3Background")
UI_MAP_ELEMENT(m_controlLabelBackground[3],"Label4Background")
UI_MAP_ELEMENT(m_controlLabelBackground[4],"Label5Background")
UI_MAP_ELEMENT(m_controlLabelBackground[5],"Label6Background")
UI_MAP_ELEMENT(m_controlLabelBackground[6],"Label7Background")
UI_MAP_ELEMENT(m_controlLabelBackground[7],"Label8Background")
UI_MAP_ELEMENT(m_controlLabelBackground[8],"Label9Background")
UI_MAP_ELEMENT(m_controlLabelBackground[9],"Label10Background")
UI_MAP_ELEMENT(m_labelJukebox,"Jukebox")
UI_MAP_ELEMENT(m_labelDisplayName,"LabelGamertag")
UI_MAP_NAME(m_funcLoadHud, L"LoadHud")
UI_MAP_NAME(m_funcSetExpBarProgress, L"SetExpBarProgress")
UI_MAP_NAME(m_funcSetPlayerLevel, L"SetPlayerLevel")
UI_MAP_NAME(m_funcSetActiveSlot, L"SetActiveSlot")
UI_MAP_NAME(m_funcSetHealth, L"SetHealth")
UI_MAP_NAME(m_funcSetFood, L"SetFood")
UI_MAP_NAME(m_funcSetAir, L"SetAir")
UI_MAP_NAME(m_funcSetArmour, L"SetArmour")
UI_MAP_NAME(m_funcShowHealth, L"ShowHealth")
UI_MAP_NAME(m_funcShowHorseHealth, L"ShowHorseHealth")
UI_MAP_NAME(m_funcShowFood, L"ShowFood")
UI_MAP_NAME(m_funcShowAir, L"ShowAir")
UI_MAP_NAME(m_funcShowArmour, L"ShowArmour")
UI_MAP_NAME(m_funcShowExpbar, L"ShowExpBar")
UI_MAP_NAME(m_funcSetRegenerationEffect, L"SetRegenerationEffect")
UI_MAP_NAME(m_funcSetFoodSaturationLevel, L"SetFoodSaturationLevel")
UI_MAP_NAME(m_funcSetDragonHealth, L"SetDragonHealth")
UI_MAP_NAME(m_funcSetDragonLabel, L"SetDragonLabel")
UI_MAP_NAME(m_funcShowDragonHealth, L"ShowDragonHealthBar")
UI_MAP_NAME(m_funcSetSelectedLabel, L"SetSelectedLabel")
UI_MAP_NAME(m_funcHideSelectedLabel, L"HideSelectedLabel")
UI_MAP_NAME(m_funcRepositionHud, L"RepositionHud")
UI_MAP_NAME(m_funcSetDisplayName, L"SetGamertag")
UI_MAP_NAME(m_funcSetTooltipsEnabled, L"SetTooltipsEnabled")
UI_MAP_NAME(m_funcSetRidingHorse, L"SetRidingHorse")
UI_MAP_NAME(m_funcSetHorseHealth, L"SetHorseHealth")
UI_MAP_NAME(m_funcSetHorseJumpBarProgress, L"SetHorseJumpBarProgress")
UI_MAP_NAME(m_funcSetHealthAbsorb, L"SetHealthAbsorb")
UI_END_MAP_ELEMENTS_AND_NAMES()
public:
UIScene_HUD(int iPad, void *initData, UILayer *parentLayer);
virtual void tick();
virtual void updateSafeZone();
protected:
// TODO: This should be pure virtual in this class
virtual wstring getMoviePath();
public:
virtual EUIScene getSceneType() { return eUIScene_HUD;}
// Returns true if this scene handles input
virtual bool stealsFocus() { return false; }
// Returns true if this scene has focus for the pad passed in
virtual bool hasFocus(int iPad) { return false; }
// Returns true if lower scenes in this scenes layer, or in any layer below this scenes layers should be hidden
virtual bool hidesLowerScenes() { return false; }
virtual void customDraw(IggyCustomDrawCallbackRegion *region);
virtual void handleReload();
private:
virtual int getPad();
virtual void SetOpacity(float opacity);
virtual void SetVisible(bool visible);
void SetHudSize(int scale);
void SetExpBarProgress(float progress, int xpNeededForNextLevel);
void SetExpLevel(int level);
void SetActiveSlot(int slot);
void SetHealth(int iHealth, int iLastHealth, bool bBlink, bool bPoison, bool bWither);
void SetFood(int iFood, int iLastFood, bool bPoison);
void SetAir(int iAir, int extra);
void SetArmour(int iArmour);
void ShowHealth(bool show);
void ShowHorseHealth(bool show);
void ShowFood(bool show);
void ShowAir(bool show);
void ShowArmour(bool show);
void ShowExpBar(bool show);
void SetRegenerationEffect(bool bEnabled);
void SetFoodSaturationLevel(int iSaturation);
void SetDragonHealth(float health);
void SetDragonLabel(const wstring &label);
void ShowDragonHealth(bool show);
void HideSelectedLabel();
void SetDisplayName(const wstring &displayName);
void SetTooltipsEnabled(bool bEnabled);
void SetRidingHorse(bool ridingHorse, bool bIsJumpable, int maxHorseHealth);
void SetHorseHealth(int health, bool blink = false);
void SetHorseJumpBarProgress(float progress);
void SetHealthAbsorb(int healthAbsorb);
public:
void SetSelectedLabel(const wstring &label);
void ShowDisplayName(bool show);
void handleGameTick();
// RENDERING
virtual void render(S32 width, S32 height, C4JRender::eViewportType viewport);
protected:
void handleTimerComplete(int id);
#ifdef _DURANGO
virtual long long getDefaultGtcButtons() { return _360_GTC_PAUSE | _360_GTC_MENU | _360_GTC_VIEW; }
#endif
private:
void repositionHud();
};