2022-10-24 01:44:54 +00:00
|
|
|
#ifndef _CCREDITS
|
|
|
|
#define _CCREDITS
|
|
|
|
|
|
|
|
#include "MetroidPrime/CIOWin.hpp"
|
|
|
|
|
2023-01-19 09:05:39 +00:00
|
|
|
#include "Kyoto/TToken.hpp"
|
|
|
|
#include "Kyoto/Math/CVector2i.hpp"
|
|
|
|
|
|
|
|
#include "rstl/single_ptr.hpp"
|
|
|
|
|
|
|
|
class CFinalInput;
|
|
|
|
class CStringTable;
|
|
|
|
class CRasterFont;
|
|
|
|
class CMoviePlayer;
|
|
|
|
class CStaticAudioPlayer;
|
|
|
|
class CGuiTextSupport;
|
|
|
|
class CVector3f;
|
|
|
|
|
2022-10-24 01:44:54 +00:00
|
|
|
class CCredits : public CIOWin {
|
|
|
|
public:
|
|
|
|
CCredits();
|
2023-01-19 09:05:39 +00:00
|
|
|
~CCredits() override;
|
|
|
|
|
|
|
|
EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) override;
|
|
|
|
bool GetIsContinueDraw() const override;
|
|
|
|
void Draw() const override;
|
|
|
|
|
|
|
|
EMessageReturn Update(float, CArchitectureQueue& queue);
|
|
|
|
EMessageReturn ProcessUserInput(const CFinalInput& input);
|
2022-10-24 01:44:54 +00:00
|
|
|
|
|
|
|
private:
|
2023-01-19 09:05:39 +00:00
|
|
|
int x14_; // = 0;
|
|
|
|
TLockedToken< CStringTable > x18_creditsTable;
|
|
|
|
TLockedToken< CRasterFont > x20_creditsFont;
|
|
|
|
rstl::single_ptr< CMoviePlayer > x28_moviePlayer;
|
|
|
|
rstl::single_ptr< CStaticAudioPlayer > x2c_;
|
|
|
|
rstl::vector< rstl::pair< rstl::single_ptr< CGuiTextSupport >, CVector2i > > x30_text;
|
|
|
|
int x44_textSupport; // = 0;
|
|
|
|
float x48_; // = 0.f;
|
|
|
|
float x4c_; // = 0.f;
|
|
|
|
float x50_; // = 8.f;
|
|
|
|
float x54_;
|
|
|
|
float x58_; // = 0.f;
|
|
|
|
bool x5c_24_ : 1; // = false;
|
|
|
|
bool x5c_25_ : 1; // = false;
|
|
|
|
bool x5c_26_ : 1; // = false;
|
|
|
|
bool x5c_27_ : 1; // = true;
|
|
|
|
bool x5c_28_ : 1; // = false;
|
|
|
|
|
|
|
|
void DrawVideo() const;
|
|
|
|
void DrawText() const;
|
|
|
|
static void DrawText(CGuiTextSupport&, const CVector3f& translation);
|
2022-10-24 01:44:54 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CCREDITS
|