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

Initial CSlideShow

This commit is contained in:
Jack Andersen
2016-09-16 10:18:03 -10:00
parent f5ac582541
commit 2fed8f36fb
19 changed files with 383 additions and 39 deletions

View File

@@ -3,6 +3,8 @@
#include "CIOWin.hpp"
#include "CGameDebug.hpp"
#include "RetroTypes.hpp"
#include "CToken.hpp"
namespace urde
{
@@ -10,14 +12,62 @@ class CGuiSliderGroup;
class CGuiTableGroup;
class CMoviePlayer;
struct SObjectTag;
class CDependencyGroup;
class CTexture;
class CAudioGroupSet;
namespace MP1
{
class CFrontEndUI : public CIOWin
{
u32 x14_ = 0;
u32 x18_;
public:
enum class Phase
{
Zero,
One,
Two,
Three,
Four,
Five,
Six
};
struct SScreenData
{
};
private:
Phase x14_phase = Phase::Zero;
u32 x18_rndA;
u32 x1c_rndB;
TLockedToken<CDependencyGroup> x20_depsGroup;
TLockedToken<CTexture> x38_pressStart;
TLockedToken<CAudioGroupSet> x44_frontendAudioGrp;
u32 x50_ = 0;
u32 x54_ = 0;
float x58_ = 0.f;
bool x5c_ = false;
float x60_ = 0.f;
float x64_ = 0.f;
float x68_ = 1.f;
std::unique_ptr<u32> x6c_[9];
int xb8_nextAttract = -1;
int xbc_nextAttract = 0;
int xc0_attractCount = 0;
std::unique_ptr<u32> xc4_;
u32 xc8_ = 0;
u32 xcc_ = 0;
bool xd0_ = 0;
bool xd1_ = 0;
bool xd2_ = 0;
u32 xd4_ = 0;
u32 xd8_ = 0;
std::unique_ptr<SScreenData> xdc_scrData;
u32 xe0_ = 0;
u32 xe4_ = 0;
u32 xec_ = 0;
u32 xf0_ = 0;
u32 xf4_ = 0;
public:
enum class EMenuMovie
{
@@ -26,7 +76,7 @@ public:
{
};
CFrontEndUI();
CFrontEndUI(CArchitectureQueue& queue);
void OnSliderSelectionChange(CGuiSliderGroup* grp, float);
void OnCheckBoxSelectionChange(CGuiTableGroup* grp);
void OnOptionSubMenuCancel(CGuiTableGroup* grp);
@@ -38,8 +88,9 @@ public:
void OnNewGameMenuAdvance(CGuiTableGroup* grp);
void OnFileMenuAdvance(CGuiTableGroup* grp);
void OnMainMenuAdvance(CGuiTableGroup* grp);
const char* GetAttractMovieFileName(int idx);
const char* GetNextAttractMovieFileName(int idx);
void StartSlideShow(CArchitectureQueue& queue);
std::string GetAttractMovieFileName(int idx);
std::string GetNextAttractMovieFileName();
void SetCurrentMovie(EMenuMovie movie);
void StopAttractMovie();
void StartAttractMovie(int idx);
@@ -50,7 +101,8 @@ public:
void HandleDebugMenuReturnValue(CGameDebug::EReturnValue val, CArchitectureQueue& queue);
void Draw() const;
void UpdateMovies(float dt);
void Update(float dt, CArchitectureQueue& queue);
void ProcessUserInput(const CFinalInput& input, CArchitectureQueue& queue);
EMessageReturn Update(float dt, CArchitectureQueue& queue);
EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
void StartGame();
void InitializeFrame();