2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 09:47:43 +00:00

New code style refactor

This commit is contained in:
Jack Andersen
2018-12-07 19:30:43 -10:00
parent 41ae32be31
commit 636c82a568
1451 changed files with 171430 additions and 203303 deletions

View File

@@ -9,140 +9,115 @@
#include "optional.hpp"
#include <string>
namespace urde
{
namespace urde {
class CSimplePool;
class CRasterFont;
class CTextRenderBuffer;
class CTextExecuteBuffer;
enum class EJustification
{
Left = 0,
Center,
Right,
Full,
NLeft,
NCenter,
NRight,
LeftMono,
CenterMono,
RightMono
enum class EJustification { Left = 0, Center, Right, Full, NLeft, NCenter, NRight, LeftMono, CenterMono, RightMono };
enum class EVerticalJustification {
Top = 0,
Center,
Bottom,
Full,
NTop,
NCenter,
NBottom,
TopMono,
CenterMono,
RightMono
};
enum class EVerticalJustification
{
Top = 0,
Center,
Bottom,
Full,
NTop,
NCenter,
NBottom,
TopMono,
CenterMono,
RightMono
};
enum class EColorType { Main, Outline, Geometry, Foreground, Background };
enum class EColorType
{
Main,
Outline,
Geometry,
Foreground,
Background
};
enum class ETextDirection { Horizontal, Vertical };
enum class ETextDirection
{
Horizontal,
Vertical
};
class CGuiTextProperties
{
friend class CGuiTextSupport;
bool x0_wordWrap;
bool x1_horizontal;
EJustification x4_justification;
EVerticalJustification x8_vertJustification;
const std::vector<std::pair<CAssetId, CAssetId>>* xc_txtrMap;
public:
CGuiTextProperties(bool wordWrap, bool horizontal, EJustification justification,
EVerticalJustification vertJustification,
const std::vector<std::pair<CAssetId, CAssetId>>* txtrMap=nullptr)
: x0_wordWrap(wordWrap), x1_horizontal(horizontal), x4_justification(justification),
x8_vertJustification(vertJustification), xc_txtrMap(txtrMap) {}
};
class CGuiTextSupport
{
friend class CGuiTextPane;
std::u16string x0_string;
float x10_curTimeMod900 = 0.f;
CGuiTextProperties x14_props;
zeus::CColor x24_fontColor;
zeus::CColor x28_outlineColor;
zeus::CColor x2c_geometryColor;
bool x30_imageBaseline = false;
s32 x34_extentX;
s32 x38_extentY;
float x3c_curTime = 0.f;
std::vector<std::pair<float, int>> x40_primStartTimes;
bool x50_typeEnable = false;
float x54_chFadeTime = 0.1f;
float x58_chRate = 10.0f;
CAssetId x5c_fontId;
CGuiWidget::EGuiModelDrawFlags m_drawFlags;
std::experimental::optional<CTextRenderBuffer> x60_renderBuf;
std::vector<CToken> x2bc_assets;
TLockedToken<CRasterFont> x2cc_font;
std::pair<zeus::CVector2i, zeus::CVector2i> x2dc_oneBufBounds;
std::list<CTextRenderBuffer> x2ec_renderBufferPages;
int x304_pageCounter = 0;
bool x308_multipageFlag = false;
CTextRenderBuffer* GetCurrentPageRenderBuffer() const;
bool _GetIsTextSupportFinishedLoading() const;
class CGuiTextProperties {
friend class CGuiTextSupport;
bool x0_wordWrap;
bool x1_horizontal;
EJustification x4_justification;
EVerticalJustification x8_vertJustification;
const std::vector<std::pair<CAssetId, CAssetId>>* xc_txtrMap;
public:
CGuiTextSupport(CAssetId fontId, const CGuiTextProperties& props,
const zeus::CColor& fontCol, const zeus::CColor& outlineCol,
const zeus::CColor& geomCol, s32 extX, s32 extY, CSimplePool* store,
CGuiWidget::EGuiModelDrawFlags drawFlags);
float GetCurrentAnimationOverAge() const;
float GetNumCharsTotal() const;
float GetNumCharsPrinted() const;
float GetTotalAnimationTime() const;
bool IsAnimationDone() const;
void SetTypeWriteEffectOptions(bool enable, float chFadeTime, float chRate);
void Update(float dt);
void ClearRenderBuffer();
void CheckAndRebuildTextBuffer();
bool CheckAndRebuildRenderBuffer();
const std::pair<zeus::CVector2i, zeus::CVector2i>& GetBounds();
void AutoSetExtent();
void Render() const;
void SetGeometryColor(const zeus::CColor& col);
void SetOutlineColor(const zeus::CColor& col);
void SetFontColor(const zeus::CColor& col);
void AddText(std::u16string_view str);
void SetText(std::u16string_view str, bool multipage=false);
void SetText(std::string_view str, bool multipage=false);
void SetJustification(EJustification j);
void SetVerticalJustification(EVerticalJustification j);
void SetImageBaseline(bool b);
bool GetIsTextSupportFinishedLoading() const;
float GetCurTime() const { return x3c_curTime; }
void SetCurTime(float t) { x3c_curTime = t; }
std::u16string_view GetString() const { return x0_string; }
void SetControlTXTRMap(const std::vector<std::pair<CAssetId, CAssetId>>* txtrMap);
int GetPageCounter() const { return x304_pageCounter; }
int GetTotalPageCount();
void SetPage(int page);
CGuiTextProperties(bool wordWrap, bool horizontal, EJustification justification,
EVerticalJustification vertJustification,
const std::vector<std::pair<CAssetId, CAssetId>>* txtrMap = nullptr)
: x0_wordWrap(wordWrap)
, x1_horizontal(horizontal)
, x4_justification(justification)
, x8_vertJustification(vertJustification)
, xc_txtrMap(txtrMap) {}
};
}
class CGuiTextSupport {
friend class CGuiTextPane;
std::u16string x0_string;
float x10_curTimeMod900 = 0.f;
CGuiTextProperties x14_props;
zeus::CColor x24_fontColor;
zeus::CColor x28_outlineColor;
zeus::CColor x2c_geometryColor;
bool x30_imageBaseline = false;
s32 x34_extentX;
s32 x38_extentY;
float x3c_curTime = 0.f;
std::vector<std::pair<float, int>> x40_primStartTimes;
bool x50_typeEnable = false;
float x54_chFadeTime = 0.1f;
float x58_chRate = 10.0f;
CAssetId x5c_fontId;
CGuiWidget::EGuiModelDrawFlags m_drawFlags;
std::experimental::optional<CTextRenderBuffer> x60_renderBuf;
std::vector<CToken> x2bc_assets;
TLockedToken<CRasterFont> x2cc_font;
std::pair<zeus::CVector2i, zeus::CVector2i> x2dc_oneBufBounds;
std::list<CTextRenderBuffer> x2ec_renderBufferPages;
int x304_pageCounter = 0;
bool x308_multipageFlag = false;
CTextRenderBuffer* GetCurrentPageRenderBuffer() const;
bool _GetIsTextSupportFinishedLoading() const;
public:
CGuiTextSupport(CAssetId fontId, const CGuiTextProperties& props, const zeus::CColor& fontCol,
const zeus::CColor& outlineCol, const zeus::CColor& geomCol, s32 extX, s32 extY, CSimplePool* store,
CGuiWidget::EGuiModelDrawFlags drawFlags);
float GetCurrentAnimationOverAge() const;
float GetNumCharsTotal() const;
float GetNumCharsPrinted() const;
float GetTotalAnimationTime() const;
bool IsAnimationDone() const;
void SetTypeWriteEffectOptions(bool enable, float chFadeTime, float chRate);
void Update(float dt);
void ClearRenderBuffer();
void CheckAndRebuildTextBuffer();
bool CheckAndRebuildRenderBuffer();
const std::pair<zeus::CVector2i, zeus::CVector2i>& GetBounds();
void AutoSetExtent();
void Render() const;
void SetGeometryColor(const zeus::CColor& col);
void SetOutlineColor(const zeus::CColor& col);
void SetFontColor(const zeus::CColor& col);
void AddText(std::u16string_view str);
void SetText(std::u16string_view str, bool multipage = false);
void SetText(std::string_view str, bool multipage = false);
void SetJustification(EJustification j);
void SetVerticalJustification(EVerticalJustification j);
void SetImageBaseline(bool b);
bool GetIsTextSupportFinishedLoading() const;
float GetCurTime() const { return x3c_curTime; }
void SetCurTime(float t) { x3c_curTime = t; }
std::u16string_view GetString() const { return x0_string; }
void SetControlTXTRMap(const std::vector<std::pair<CAssetId, CAssetId>>* txtrMap);
int GetPageCounter() const { return x304_pageCounter; }
int GetTotalPageCount();
void SetPage(int page);
};
} // namespace urde