2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2017-01-17 01:23:19 +00:00
|
|
|
|
2019-09-28 02:53:03 +00:00
|
|
|
#include "Runtime/CIOWin.hpp"
|
2020-05-04 02:27:48 +00:00
|
|
|
#include "Runtime/CToken.hpp"
|
|
|
|
#include "Runtime/Audio/CStaticAudioPlayer.hpp"
|
|
|
|
#include "Runtime/Camera/CCameraFilter.hpp"
|
2017-01-17 01:23:19 +00:00
|
|
|
|
2020-05-04 02:27:48 +00:00
|
|
|
#include "zeus/CVector2i.hpp"
|
2017-01-17 01:23:19 +00:00
|
|
|
|
2020-05-04 02:27:48 +00:00
|
|
|
namespace metaforce {
|
|
|
|
class CGuiTextSupport;
|
|
|
|
class CStringTable;
|
|
|
|
class CRasterFont;
|
|
|
|
class CMoviePlayer;
|
|
|
|
struct CFinalInput;
|
|
|
|
|
|
|
|
namespace MP1 {
|
2018-12-08 05:30:43 +00:00
|
|
|
class CCredits : public CIOWin {
|
2020-05-04 02:27:48 +00:00
|
|
|
u32 x14_ = 0;
|
|
|
|
TLockedToken<CStringTable> x18_creditsTable;
|
|
|
|
TLockedToken<CRasterFont> x20_creditsFont;
|
|
|
|
std::unique_ptr<CMoviePlayer> x28_;
|
|
|
|
std::unique_ptr<CStaticAudioPlayer> x2c_;
|
|
|
|
std::vector<std::pair<std::unique_ptr<CGuiTextSupport>, zeus::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();
|
|
|
|
void DrawText();
|
|
|
|
static void DrawText(CGuiTextSupport&, const zeus::CVector3f& translation);
|
|
|
|
|
2017-01-17 01:23:19 +00:00
|
|
|
public:
|
2018-12-08 05:30:43 +00:00
|
|
|
CCredits();
|
2019-08-09 19:46:49 +00:00
|
|
|
EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) override;
|
|
|
|
bool GetIsContinueDraw() const override { return false; }
|
2020-03-30 01:55:58 +00:00
|
|
|
void Draw() override;
|
2017-01-17 01:23:19 +00:00
|
|
|
|
2020-05-04 02:27:48 +00:00
|
|
|
EMessageReturn Update(float, CArchitectureQueue& queue);
|
|
|
|
EMessageReturn ProcessUserInput(const CFinalInput& input);
|
|
|
|
};
|
|
|
|
} // namespace MP1
|
|
|
|
} // namespace metaforce
|