mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-27 04:53:43 +00:00
Use of sized bool types for CFont
This commit is contained in:
parent
a06bd7f735
commit
caa7d3177c
3 changed files with 176 additions and 65 deletions
|
@ -79,6 +79,10 @@ typedef int64_t int64;
|
||||||
// hardcode ucs-2
|
// hardcode ucs-2
|
||||||
typedef uint16_t wchar;
|
typedef uint16_t wchar;
|
||||||
|
|
||||||
|
typedef uint8 bool8;
|
||||||
|
typedef uint16 bool16;
|
||||||
|
typedef uint32 bool32;
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
typedef ptrdiff_t ssize_t;
|
typedef ptrdiff_t ssize_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -34,7 +34,7 @@ UnicodeStrlen(const wchar *str)
|
||||||
}
|
}
|
||||||
|
|
||||||
CFontDetails CFont::Details;
|
CFontDetails CFont::Details;
|
||||||
int16 CFont::NewLine;
|
bool16 CFont::NewLine;
|
||||||
CSprite2d CFont::Sprite[MAX_FONTS];
|
CSprite2d CFont::Sprite[MAX_FONTS];
|
||||||
|
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
|
@ -454,7 +454,7 @@ CFont::InitPerFrame(void)
|
||||||
CSprite2d::GetBank(15, Sprite[3].m_pTexture);
|
CSprite2d::GetBank(15, Sprite[3].m_pTexture);
|
||||||
#endif
|
#endif
|
||||||
SetDropShadowPosition(0);
|
SetDropShadowPosition(0);
|
||||||
NewLine = 0;
|
NewLine = false;
|
||||||
#ifdef BUTTON_ICONS
|
#ifdef BUTTON_ICONS
|
||||||
PS2Symbol = BUTTON_NONE;
|
PS2Symbol = BUTTON_NONE;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1048,7 +1048,6 @@ CFont::PrintString(float x, float y, wchar *start, wchar *end, float spwidth)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef XBOX_SUBTITLES
|
|
||||||
void
|
void
|
||||||
CFont::PrintStringFromBottom(float x, float y, wchar *str)
|
CFont::PrintStringFromBottom(float x, float y, wchar *str)
|
||||||
{
|
{
|
||||||
|
@ -1061,6 +1060,7 @@ CFont::PrintStringFromBottom(float x, float y, wchar *str)
|
||||||
PrintString(x, y, str);
|
PrintString(x, y, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef XBOX_SUBTITLES
|
||||||
void
|
void
|
||||||
CFont::PrintOutlinedString(float x, float y, wchar *str, float outlineStrength, bool fromBottom, CRGBA outlineColor)
|
CFont::PrintOutlinedString(float x, float y, wchar *str, float outlineStrength, bool fromBottom, CRGBA outlineColor)
|
||||||
{
|
{
|
||||||
|
@ -1263,7 +1263,6 @@ CFont::GetStringWidth(wchar *s, bool spaces)
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
float
|
float
|
||||||
CFont::GetStringWidth_Jap(wchar* s)
|
CFont::GetStringWidth_Jap(wchar* s)
|
||||||
|
@ -1384,7 +1383,7 @@ CFont::ParseToken(wchar *s, wchar*)
|
||||||
switch(*s){
|
switch(*s){
|
||||||
case 'N':
|
case 'N':
|
||||||
case 'n':
|
case 'n':
|
||||||
NewLine = 1;
|
NewLine = true;
|
||||||
break;
|
break;
|
||||||
case 'b': SetColor(CRGBA(128, 167, 243, 255)); break;
|
case 'b': SetColor(CRGBA(128, 167, 243, 255)); break;
|
||||||
case 'g': SetColor(CRGBA(95, 160, 106, 255)); break;
|
case 'g': SetColor(CRGBA(95, 160, 106, 255)); break;
|
||||||
|
@ -1430,14 +1429,6 @@ CFont::DrawFonts(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
wchar
|
|
||||||
CFont::character_code(uint8 c)
|
|
||||||
{
|
|
||||||
if(c < 128)
|
|
||||||
return c;
|
|
||||||
return foreign_table[c-128];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::SetScale(float x, float y)
|
CFont::SetScale(float x, float y)
|
||||||
|
@ -1453,9 +1444,16 @@ CFont::SetScale(float x, float y)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::SetBackgroundColor(CRGBA col)
|
CFont::SetSlantRefPoint(float x, float y)
|
||||||
{
|
{
|
||||||
Details.backgroundColor = col;
|
Details.slantRefX = x;
|
||||||
|
Details.slantRefY = y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetSlant(float s)
|
||||||
|
{
|
||||||
|
Details.slant = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1466,6 +1464,123 @@ CFont::SetColor(CRGBA col)
|
||||||
Details.color.a *= Details.alphaFade / 255.0f;
|
Details.color.a *= Details.alphaFade / 255.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetJustifyOn(void)
|
||||||
|
{
|
||||||
|
Details.justify = true;
|
||||||
|
Details.centre = false;
|
||||||
|
Details.rightJustify = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetJustifyOff(void)
|
||||||
|
{
|
||||||
|
Details.justify = false;
|
||||||
|
Details.rightJustify = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetCentreOn(void)
|
||||||
|
{
|
||||||
|
Details.centre = true;
|
||||||
|
Details.justify = false;
|
||||||
|
Details.rightJustify = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetCentreOff(void)
|
||||||
|
{
|
||||||
|
Details.centre = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetWrapx(float x)
|
||||||
|
{
|
||||||
|
Details.wrapX = x;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetCentreSize(float s)
|
||||||
|
{
|
||||||
|
Details.centreSize = s;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetBackgroundOn(void)
|
||||||
|
{
|
||||||
|
Details.background = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetBackgroundOff(void)
|
||||||
|
{
|
||||||
|
Details.background = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetBackgroundColor(CRGBA col)
|
||||||
|
{
|
||||||
|
Details.backgroundColor = col;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetBackGroundOnlyTextOn(void)
|
||||||
|
{
|
||||||
|
Details.backgroundOnlyText = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetBackGroundOnlyTextOff(void)
|
||||||
|
{
|
||||||
|
Details.backgroundOnlyText = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetRightJustifyOn(void)
|
||||||
|
{
|
||||||
|
Details.rightJustify = true;
|
||||||
|
Details.justify = false;
|
||||||
|
Details.centre = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetRightJustifyOff(void)
|
||||||
|
{
|
||||||
|
Details.rightJustify = false;
|
||||||
|
Details.justify = false;
|
||||||
|
Details.centre = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetPropOn(void)
|
||||||
|
{
|
||||||
|
Details.proportional = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetPropOff(void)
|
||||||
|
{
|
||||||
|
Details.proportional = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetFontStyle(int16 style)
|
||||||
|
{
|
||||||
|
Details.style = style;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetRightJustifyWrap(float wrap)
|
||||||
|
{
|
||||||
|
Details.rightJustifyWrap = wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetAlphaFade(float fade)
|
||||||
|
{
|
||||||
|
Details.alphaFade = fade;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::SetDropColor(CRGBA col)
|
CFont::SetDropColor(CRGBA col)
|
||||||
{
|
{
|
||||||
|
@ -1473,3 +1588,17 @@ CFont::SetDropColor(CRGBA col)
|
||||||
if (Details.alphaFade < 255.0f)
|
if (Details.alphaFade < 255.0f)
|
||||||
Details.dropColor.a *= Details.alphaFade / 255.0f;
|
Details.dropColor.a *= Details.alphaFade / 255.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CFont::SetDropShadowPosition(int16 pos)
|
||||||
|
{
|
||||||
|
Details.dropShadowPosition = pos;
|
||||||
|
}
|
||||||
|
|
||||||
|
wchar
|
||||||
|
CFont::character_code(uint8 c)
|
||||||
|
{
|
||||||
|
if(c < 128)
|
||||||
|
return c;
|
||||||
|
return foreign_table[c-128];
|
||||||
|
}
|
|
@ -13,12 +13,12 @@ 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;
|
||||||
float alphaFade;
|
float alphaFade;
|
||||||
CRGBA backgroundColor;
|
CRGBA backgroundColor;
|
||||||
float wrapX;
|
float wrapX;
|
||||||
|
@ -97,7 +97,7 @@ class CFont
|
||||||
#else
|
#else
|
||||||
static int16 Size[MAX_FONTS][193];
|
static int16 Size[MAX_FONTS][193];
|
||||||
#endif
|
#endif
|
||||||
static int16 NewLine;
|
static bool16 NewLine;
|
||||||
public:
|
public:
|
||||||
static CSprite2d Sprite[MAX_FONTS];
|
static CSprite2d Sprite[MAX_FONTS];
|
||||||
static CFontDetails Details;
|
static CFontDetails Details;
|
||||||
|
@ -116,8 +116,8 @@ public:
|
||||||
static void InitPerFrame(void);
|
static void InitPerFrame(void);
|
||||||
static void PrintChar(float x, float y, wchar c);
|
static void PrintChar(float x, float y, wchar c);
|
||||||
static void PrintString(float x, float y, wchar *s);
|
static void PrintString(float x, float y, wchar *s);
|
||||||
#ifdef XBOX_SUBTITLES
|
|
||||||
static void PrintStringFromBottom(float x, float y, wchar *str);
|
static void PrintStringFromBottom(float x, float y, wchar *str);
|
||||||
|
#ifdef XBOX_SUBTITLES
|
||||||
static void PrintOutlinedString(float x, float y, wchar *str, float outlineStrength, bool fromBottom, CRGBA outlineColor);
|
static void PrintOutlinedString(float x, float y, wchar *str, float outlineStrength, bool fromBottom, CRGBA outlineColor);
|
||||||
#endif
|
#endif
|
||||||
static int GetNumberLines(float xstart, float ystart, wchar *s);
|
static int GetNumberLines(float xstart, float ystart, wchar *s);
|
||||||
|
@ -142,49 +142,27 @@ public:
|
||||||
static void DrawFonts(void);
|
static void DrawFonts(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) {
|
static void SetFontStyle(int16 style);
|
||||||
Details.rightJustify = false;
|
static void SetRightJustifyWrap(float wrap);
|
||||||
Details.justify = false;
|
static void SetAlphaFade(float fade);
|
||||||
Details.centre = false;
|
static void SetDropShadowPosition(int16 pos);
|
||||||
}
|
|
||||||
static void SetCentreOn(void) {
|
|
||||||
Details.centre = true;
|
|
||||||
Details.justify = false;
|
|
||||||
Details.rightJustify = false;
|
|
||||||
}
|
|
||||||
static void SetCentreOff(void) {
|
|
||||||
Details.centre = false;
|
|
||||||
}
|
|
||||||
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) { Details.style = style; }
|
|
||||||
static void SetRightJustifyWrap(float wrap) { Details.rightJustifyWrap = wrap; }
|
|
||||||
static void SetAlphaFade(float fade) { Details.alphaFade = fade; }
|
|
||||||
static void SetDropShadowPosition(int16 pos) { Details.dropShadowPosition = 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);
|
||||||
|
|
Loading…
Reference in a new issue