#pragma once #include "Runtime/CIOWin.hpp" #include "Runtime/CToken.hpp" #include "Runtime/Audio/CStaticAudioPlayer.hpp" #include "Runtime/Camera/CCameraFilter.hpp" #include "zeus/CVector2i.hpp" namespace metaforce { class CGuiTextSupport; class CStringTable; class CRasterFont; class CMoviePlayer; struct CFinalInput; namespace MP1 { class CCredits : public CIOWin { u32 x14_ = 0; TLockedToken x18_creditsTable; TLockedToken x20_creditsFont; std::unique_ptr x28_; std::unique_ptr x2c_; std::vector, 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); CCameraFilterPassPoly m_videoFilter; CCameraFilterPassPoly m_textFilter; public: CCredits(); EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) override; bool GetIsContinueDraw() const override { return false; } void Draw() override; EMessageReturn Update(float, CArchitectureQueue& queue); EMessageReturn ProcessUserInput(const CFinalInput& input); }; } // namespace MP1 } // namespace metaforce