mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 13:47:43 +00:00
Additional HUD work
This commit is contained in:
@@ -6,6 +6,9 @@
|
||||
namespace urde
|
||||
{
|
||||
class CGuiFrame;
|
||||
class CGuiWidget;
|
||||
class CGuiTextPane;
|
||||
class CGuiModel;
|
||||
|
||||
class CHudVisorBeamMenu
|
||||
{
|
||||
@@ -16,10 +19,52 @@ public:
|
||||
Beam
|
||||
};
|
||||
private:
|
||||
struct SMenuItem
|
||||
{
|
||||
CGuiModel* x0_model_loz = nullptr;
|
||||
CGuiModel* x4_model_icon = nullptr;
|
||||
float x8_positioner = 0.f;
|
||||
float xc_opacity = 0.f;
|
||||
};
|
||||
|
||||
enum class EAnimPhase
|
||||
{
|
||||
None,
|
||||
Steady,
|
||||
SelectFlash,
|
||||
Animate
|
||||
};
|
||||
|
||||
CGuiFrame& x0_baseHud;
|
||||
EHudVisorBeamMenu x4_type;
|
||||
u32 x8_selectedItem = 0;
|
||||
u32 xc_pendingSelection = 0;
|
||||
float x10_interp = 1.f;
|
||||
bool x14_24_visibleDebug : 1;
|
||||
bool x14_25_visibleGame : 1;
|
||||
bool x14_26_dirty : 1;
|
||||
CGuiWidget* x18_basewidget_menu;
|
||||
CGuiWidget* x1c_basewidget_menutitle;
|
||||
CGuiTextPane* x20_textpane_menu;
|
||||
CGuiModel* x24_model_ghost;
|
||||
rstl::reserved_vector<SMenuItem, 4> x28_menuItems;
|
||||
EAnimPhase x6c_animPhase = EAnimPhase::Steady;
|
||||
float x70_ = FLT_EPSILON;
|
||||
float x74_ = FLT_EPSILON;
|
||||
float x78_textFader = 0.f;
|
||||
float x7c_animDur;
|
||||
bool x80_24_swapBeamControls : 1;
|
||||
|
||||
void UpdateMenuWidgetTransform(int, CGuiWidget& w, float);
|
||||
public:
|
||||
CHudVisorBeamMenu(CGuiFrame* baseHud, EHudVisorBeamMenu type, rstl::prereserved_vector<bool, 4> enables);
|
||||
CHudVisorBeamMenu(CGuiFrame& baseHud, EHudVisorBeamMenu type,
|
||||
const rstl::prereserved_vector<bool, 4>& enables);
|
||||
void Update(float dt, bool init);
|
||||
void UpdateHudAlpha(float alpha);
|
||||
void SetIsVisibleGame(bool v);
|
||||
void SetPlayerHas(const rstl::prereserved_vector<bool, 4>& enables);
|
||||
void SetSelection(int, int, float);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user