Use of sized bool types for CFont

This commit is contained in:
Sergeanur 2021-01-16 16:06:11 +02:00
parent 32ab01cd32
commit 21a6ed247b
2 changed files with 585 additions and 502 deletions

File diff suppressed because it is too large Load Diff

View File

@ -14,28 +14,28 @@ struct CFontDetails
float slant; float slant;
float slantRefX; float slantRefX;
float slantRefY; float slantRefY;
bool justify; bool8 justify;
bool centre; bool8 centre;
bool rightJustify; bool8 rightJustify;
bool background; bool8 background;
bool backgroundOnlyText; bool8 backgroundOnlyText;
bool proportional; bool8 proportional;
bool bIsShadow; bool8 bIsShadow;
bool bFlash; bool8 bFlash;
bool bBold; bool8 bBold;
float alphaFade; float alphaFade;
CRGBA backgroundColor; CRGBA backgroundColor;
float wrapX; float wrapX;
float centreSize; float centreSize;
float rightJustifyWrap; float rightJustifyWrap;
int16 style; int16 style;
bool bFontHalfTexture; bool8 bFontHalfTexture;
uint32 bank; uint32 bank;
int16 dropShadowPosition; int16 dropShadowPosition;
CRGBA dropColor; CRGBA dropColor;
bool bFlashState; bool8 bFlashState;
int nFlashTimer; int nFlashTimer;
bool anonymous_23; bool8 anonymous_23;
uint32 anonymous_25; uint32 anonymous_25;
}; };
@ -51,10 +51,10 @@ struct CFontRenderState
float slant; float slant;
float slantRefX; float slantRefX;
float slantRefY; float slantRefY;
bool bIsShadow; bool8 bIsShadow;
bool bFontHalfTexture; bool8 bFontHalfTexture;
bool proportional; bool8 proportional;
bool anonymous_14; bool8 anonymous_14;
int16 style; int16 style;
}; };
@ -168,72 +168,33 @@ public:
static uint16 *ParseToken(wchar *s, bool japShit = false); static uint16 *ParseToken(wchar *s, bool japShit = false);
#else #else
static uint16 *ParseToken(wchar *s); static uint16 *ParseToken(wchar *s);
static uint16* ParseToken(wchar *s, CRGBA &color, bool &flash, bool &bold); static uint16 *ParseToken(wchar *s, CRGBA &color, bool &flash, bool &bold);
#endif #endif
static void DrawFonts(void); static void DrawFonts(void);
static void RenderFontBuffer(void); static void RenderFontBuffer(void);
static uint16 character_code(uint8 c); static uint16 character_code(uint8 c);
static CFontDetails GetDetails() { return Details; }
static void SetScale(float x, float y); static void SetScale(float x, float y);
static void SetSlantRefPoint(float x, float y) { Details.slantRefX = x; Details.slantRefY = y; } static void SetSlantRefPoint(float x, float y);
static void SetSlant(float s) { Details.slant = s; } static void SetSlant(float s);
static void SetJustifyOn(void) { static void SetJustifyOn(void);
Details.justify = true; static void SetJustifyOff(void);
Details.centre = false; static void SetRightJustifyOn(void);
Details.rightJustify = false; static void SetRightJustifyOff(void);
} static void SetCentreOn(void);
static void SetJustifyOff(void) { static void SetCentreOff(void);
Details.justify = false; static void SetWrapx(float x);
Details.rightJustify = false; static void SetCentreSize(float s);
} static void SetBackgroundOn(void);
static void SetRightJustifyOn(void) { static void SetBackgroundOff(void);
Details.rightJustify = true; static void SetBackGroundOnlyTextOn(void);
Details.justify = false; static void SetBackGroundOnlyTextOff(void);
Details.centre = false; static void SetPropOn(void);
} static void SetPropOff(void);
static void SetRightJustifyOff(void) {
Details.rightJustify = false;
Details.justify = false;
Details.centre = false;
}
static void SetCentreOn(void) {
Details.centre = true;
Details.justify = false;
Details.rightJustify = false;
}
static void SetCentreOff(void) {
Details.centre = false;
}
static void SetAlignment(uint8 alignment) {
if (alignment == ALIGN_LEFT) {
CFont::Details.justify = true;
CFont::Details.centre = false;
CFont::Details.rightJustify = false;
}
else if (alignment == ALIGN_CENTER) {
CFont::Details.justify = false;
CFont::Details.centre = true;
CFont::Details.rightJustify = false;
}
else if (alignment == ALIGN_RIGHT) {
CFont::Details.justify = false;
CFont::Details.centre = false;
CFont::Details.rightJustify = true;
}
}
static void SetWrapx(float x) { Details.wrapX = x; }
static void SetCentreSize(float s) { Details.centreSize = s; }
static void SetBackgroundOn(void) { Details.background = true; }
static void SetBackgroundOff(void) { Details.background = false; }
static void SetBackGroundOnlyTextOn(void) { Details.backgroundOnlyText = true; }
static void SetBackGroundOnlyTextOff(void) { Details.backgroundOnlyText = false; }
static void SetPropOn(void) { Details.proportional = true; }
static void SetPropOff(void) { Details.proportional = false; }
static void SetFontStyle(int16 style); static void SetFontStyle(int16 style);
static void SetRightJustifyWrap(float wrap) { Details.rightJustifyWrap = wrap; } static void SetRightJustifyWrap(float wrap);
static void SetAlphaFade(float fade) { Details.alphaFade = fade; } static void SetAlphaFade(float fade);
static void SetDropShadowPosition(int16 pos) { Details.dropShadowPosition = pos; } static void SetDropShadowPosition(int16 pos);
static void SetBackgroundColor(CRGBA col); static void SetBackgroundColor(CRGBA col);
static void SetColor(CRGBA col); static void SetColor(CRGBA col);
static void SetDropColor(CRGBA col); static void SetDropColor(CRGBA col);