2018-10-06 20:42:33 -07:00
|
|
|
#pragma once
|
2017-01-16 17:23:19 -08:00
|
|
|
|
2019-09-27 19:53:03 -07:00
|
|
|
#include "Runtime/CIOWin.hpp"
|
2020-05-03 19:27:48 -07:00
|
|
|
#include "Runtime/CToken.hpp"
|
|
|
|
#include "Runtime/Audio/CStaticAudioPlayer.hpp"
|
|
|
|
#include "Runtime/Camera/CCameraFilter.hpp"
|
2017-01-16 17:23:19 -08:00
|
|
|
|
2020-05-03 19:27:48 -07:00
|
|
|
#include "zeus/CVector2i.hpp"
|
2017-01-16 17:23:19 -08:00
|
|
|
|
2020-05-03 19:27:48 -07:00
|
|
|
namespace metaforce {
|
|
|
|
class CGuiTextSupport;
|
|
|
|
class CStringTable;
|
|
|
|
class CRasterFont;
|
|
|
|
class CMoviePlayer;
|
|
|
|
struct CFinalInput;
|
|
|
|
|
|
|
|
namespace MP1 {
|
2018-12-07 21:30:43 -08:00
|
|
|
class CCredits : public CIOWin {
|
2020-05-03 19:27:48 -07: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-16 17:23:19 -08:00
|
|
|
public:
|
2018-12-07 21:30:43 -08:00
|
|
|
CCredits();
|
2019-08-09 12:46:49 -07:00
|
|
|
EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) override;
|
|
|
|
bool GetIsContinueDraw() const override { return false; }
|
2020-03-29 18:55:58 -07:00
|
|
|
void Draw() override;
|
2017-01-16 17:23:19 -08:00
|
|
|
|
2020-05-03 19:27:48 -07:00
|
|
|
EMessageReturn Update(float, CArchitectureQueue& queue);
|
|
|
|
EMessageReturn ProcessUserInput(const CFinalInput& input);
|
|
|
|
};
|
|
|
|
} // namespace MP1
|
|
|
|
} // namespace metaforce
|