#pragma once #include #include "Runtime/CToken.hpp" #include "Runtime/GCNTypes.hpp" #include "Runtime/GuiSys/CDrawStringOptions.hpp" #include "Runtime/GuiSys/CGuiTextSupport.hpp" #include namespace urde { class CRasterFont; class CSaveableState { friend class CColorOverrideInstruction; friend class CFontInstruction; friend class CGuiTextSupport; friend class CLineExtraSpaceInstruction; friend class CLineSpacingInstruction; friend class CRemoveColorOverrideInstruction; friend class CTextExecuteBuffer; friend class CTextInstruction; friend class CWordInstruction; protected: CDrawStringOptions x0_drawStrOpts; TLockedToken x48_font; std::vector x54_colors; std::vector x64_colorOverrides; float x74_lineSpacing = 1.f; s32 x78_extraLineSpace = 0; bool x7c_enableWordWrap = false; EJustification x80_just = EJustification::Left; EVerticalJustification x84_vjust = EVerticalJustification::Top; public: CSaveableState() { x54_colors.resize(3, zeus::skBlack); x64_colorOverrides.resize(16); } bool IsFinishedLoading() const; }; } // namespace urde