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

CTextExecuteBuffer imps

This commit is contained in:
Jack Andersen
2016-03-19 14:32:30 -10:00
parent 08ccc1be63
commit 7835769a98
13 changed files with 608 additions and 57 deletions

View File

@@ -17,41 +17,38 @@ class CTextExecuteBuffer
{
std::list<std::shared_ptr<CInstruction>> x0_instList;
u32 x14_ = 0;
CSaveableState x18_;
CSaveableState x18_textState;
CBlockInstruction* x6c_curBlock = nullptr;
CLineInstruction* x70_curLine = nullptr;
std::list<std::shared_ptr<CInstruction>>::iterator x74_curInst;
u32 x80_ = 0;
u32 x84_ = 0;
u32 x88_curFontSize = 0;
u32 x90_ = 0;
u32 x94_ = 0;
u32 x98_ = 0;
std::list<std::shared_ptr<CInstruction>>::iterator x74_curWordIt;
s32 x78_curY;
s32 x7c_curX;
s32 x80_ = 0;
s32 x84_ = 0;
s32 x88_spaceDistance = 0;
std::vector<CSaveableState> x8c_stateStack;
public:
CTextExecuteBuffer()
{
x74_curInst = x0_instList.begin();
x74_curWordIt = x0_instList.begin();
}
CTextRenderBuffer CreateTextRenderBuffer() const;
std::vector<TResId> GetAssets() const;
std::vector<CToken> GetAssets() const;
void AddString(const wchar_t* str, int);
void AddStringFragment(const wchar_t* str, int);
void WrapOneTTB(const wchar_t* str, int);
void WrapOneLTR(const wchar_t* str, int);
void MoveWordTTB();
int WrapOneLTR(const wchar_t* str, int);
void MoveWordLTR();
void StartNewLine();
void StartNewWord();
void TerminateLine();
void TerminateLineTTB();
void TerminateLineLTR();
void AddPopState();
void AddPushState();
void AddVerticalJustification(EVerticalJustification);
void AddJustification(EJustification);
void AddLineExtraSpace(int);
void AddLineExtraSpace(s32 space);
void AddLineSpacing(float);
void AddRemoveColorOverride(int);
void AddColorOverride(int, const CTextColor& color);