2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 00:27:42 +00:00

GuiSys and FrontEnd work

This commit is contained in:
Jack Andersen
2016-12-30 14:51:51 -10:00
parent 20677700e0
commit db7c2aeaf2
20 changed files with 496 additions and 79 deletions

View File

@@ -171,6 +171,28 @@ public:
struct SGBASupportFrame
{
struct SGBALinkFrame
{
enum class EUIType
{
Zero,
One,
Two,
Three,
Four,
Five,
Six,
Seven
};
void SetUIText(EUIType tp);
void ProcessUserInput(const CFinalInput &input, bool sui);
void Update(float dt);
void FinishedLoading();
void Draw();
SGBALinkFrame(const CGuiFrame* linkFrame, CGBASupport* support, bool);
};
enum class EAction
{
Zero,
@@ -178,7 +200,7 @@ public:
Two
};
u32 x0_ = 0;
std::unique_ptr<SGBALinkFrame> x0_gbaLinkFrame;
std::unique_ptr<CGBASupport> x4_gbaSupport;
TLockedToken<CGuiFrame> xc_gbaScreen;
TLockedToken<CGuiFrame> x18_gbaLink;
@@ -236,9 +258,9 @@ public:
enum class EMode
{
Emulator,
QuitNESMetroid,
SaveProgress,
ContinuePlaying,
SaveProgress
QuitNESMetroid
};
EMode x0_mode = EMode::Emulator;
@@ -246,13 +268,13 @@ public:
std::unique_ptr<CQuitScreen> x8_quitScreen;
std::unique_ptr<CGuiTextSupport> xc_textSupport;
float x10_remTime = 8.f;
bool x14_ = false;
bool x15_ = true;
bool x14_emulationSuspended = false;
bool x15_enableFiltering = true;
SNesEmulatorFrame();
void SetMode(EMode mode);
void ProcessUserInput(const CFinalInput& input, CSaveUI* sui);
bool DoUpdateWithSaveUI(float dt, CSaveUI* saveUi);
bool Update(float dt, CSaveUI* saveUi);
void Draw(CSaveUI* saveUi) const;
};