mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 11:07:44 +00:00
Finish CPauseScreenBlur; work on CPlayerVisor
This commit is contained in:
@@ -2,36 +2,54 @@
|
||||
#define __URDE_CPAUSESCREENBLUR_HPP__
|
||||
|
||||
#include "CInGameGuiManagerCommon.hpp"
|
||||
#include "CToken.hpp"
|
||||
#include "Camera/CCameraFilter.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
class CStateManager;
|
||||
class CTexture;
|
||||
|
||||
namespace MP1
|
||||
{
|
||||
|
||||
class CPauseScreenBlur
|
||||
{
|
||||
u32 x10_ = 0;
|
||||
u32 x14_ = 0;
|
||||
enum class EState
|
||||
{
|
||||
InGame,
|
||||
MapScreen,
|
||||
SaveGame,
|
||||
HUDMessage,
|
||||
Pause
|
||||
};
|
||||
|
||||
TLockedToken<CTexture> x4_mapLightQuarter;
|
||||
EState x10_prevState = EState::InGame;
|
||||
EState x14_nextState = EState::InGame;
|
||||
float x18_blurAmt = 0.f;
|
||||
CCameraBlurPass x1c_camBlur;
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
bool x50_24_ : 1;
|
||||
bool x50_25_ : 1;
|
||||
bool x50_24_blurring : 1;
|
||||
bool x50_25_gameDraw : 1;
|
||||
};
|
||||
u32 _dummy = 0;
|
||||
};
|
||||
void OnBlurComplete(bool);
|
||||
void SetState(EState state);
|
||||
|
||||
public:
|
||||
CPauseScreenBlur();
|
||||
bool CheckLoadComplete();
|
||||
void OnNewInGameGuiState(EInGameGuiState state, CStateManager& stateMgr);
|
||||
bool GetX50_25() const { return x50_25_; }
|
||||
bool IsGameDraw() const { return x50_25_gameDraw; }
|
||||
void Update(float dt, const CStateManager& stateMgr, bool);
|
||||
void Draw(const CStateManager& stateMgr) const;
|
||||
float GetBlurAmt() const { return std::fabs(x18_blurAmt); }
|
||||
bool IsNotTransitioning() const { return x10_ == x14_; }
|
||||
bool IsNotTransitioning() const { return x10_prevState == x14_nextState; }
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user