mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-27 02:34:29 +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
|
||||
typedef uint16_t wchar;
|
||||
|
||||
typedef uint8 bool8;
|
||||
typedef uint16 bool16;
|
||||
typedef uint32 bool32;
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
typedef ptrdiff_t ssize_t;
|
||||
#endif
|
||||
|
|
|
@ -34,7 +34,7 @@ UnicodeStrlen(const wchar *str)
|
|||
}
|
||||
|
||||
CFontDetails CFont::Details;
|
||||
int16 CFont::NewLine;
|
||||
bool16 CFont::NewLine;
|
||||
CSprite2d CFont::Sprite[MAX_FONTS];
|
||||
|
||||
#ifdef MORE_LANGUAGES
|
||||
|
@ -454,7 +454,7 @@ CFont::InitPerFrame(void)
|
|||
CSprite2d::GetBank(15, Sprite[3].m_pTexture);
|
||||
#endif
|
||||
SetDropShadowPosition(0);
|
||||
NewLine = 0;
|
||||
NewLine = false;
|
||||
#ifdef BUTTON_ICONS
|
||||
PS2Symbol = BUTTON_NONE;
|
||||
#endif
|
||||
|
@ -1048,7 +1048,6 @@ CFont::PrintString(float x, float y, wchar *start, wchar *end, float spwidth)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef XBOX_SUBTITLES
|
||||
void
|
||||
CFont::PrintStringFromBottom(float x, float y, wchar *str)
|
||||
{
|
||||
|
@ -1061,6 +1060,7 @@ CFont::PrintStringFromBottom(float x, float y, wchar *str)
|
|||
PrintString(x, y, str);
|
||||
}
|
||||
|
||||
#ifdef XBOX_SUBTITLES
|
||||
void
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
#ifdef MORE_LANGUAGES
|
||||
float
|
||||
CFont::GetStringWidth_Jap(wchar* s)
|
||||
|
@ -1384,7 +1383,7 @@ CFont::ParseToken(wchar *s, wchar*)
|
|||
switch(*s){
|
||||
case 'N':
|
||||
case 'n':
|
||||
NewLine = 1;
|
||||
NewLine = true;
|
||||
break;
|
||||
case 'b': SetColor(CRGBA(128, 167, 243, 255)); break;
|
||||
case 'g': SetColor(CRGBA(95, 160, 106, 255)); break;
|
||||
|
@ -1430,14 +1429,6 @@ CFont::DrawFonts(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
wchar
|
||||
CFont::character_code(uint8 c)
|
||||
{
|
||||
if(c < 128)
|
||||
return c;
|
||||
return foreign_table[c-128];
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
CFont::SetScale(float x, float y)
|
||||
|
@ -1453,9 +1444,16 @@ CFont::SetScale(float x, float y)
|
|||
}
|
||||
|
||||
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
|
||||
|
@ -1466,6 +1464,123 @@ CFont::SetColor(CRGBA col)
|
|||
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
|
||||
CFont::SetDropColor(CRGBA col)
|
||||
{
|
||||
|
@ -1473,3 +1588,17 @@ CFont::SetDropColor(CRGBA col)
|
|||
if (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 slantRefX;
|
||||
float slantRefY;
|
||||
bool justify;
|
||||
bool centre;
|
||||
bool rightJustify;
|
||||
bool background;
|
||||
bool backgroundOnlyText;
|
||||
bool proportional;
|
||||
bool8 justify;
|
||||
bool8 centre;
|
||||
bool8 rightJustify;
|
||||
bool8 background;
|
||||
bool8 backgroundOnlyText;
|
||||
bool8 proportional;
|
||||
float alphaFade;
|
||||
CRGBA backgroundColor;
|
||||
float wrapX;
|
||||
|
@ -97,7 +97,7 @@ class CFont
|
|||
#else
|
||||
static int16 Size[MAX_FONTS][193];
|
||||
#endif
|
||||
static int16 NewLine;
|
||||
static bool16 NewLine;
|
||||
public:
|
||||
static CSprite2d Sprite[MAX_FONTS];
|
||||
static CFontDetails Details;
|
||||
|
@ -116,8 +116,8 @@ public:
|
|||
static void InitPerFrame(void);
|
||||
static void PrintChar(float x, float y, wchar c);
|
||||
static void PrintString(float x, float y, wchar *s);
|
||||
#ifdef XBOX_SUBTITLES
|
||||
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);
|
||||
#endif
|
||||
static int GetNumberLines(float xstart, float ystart, wchar *s);
|
||||
|
@ -142,49 +142,27 @@ public:
|
|||
static void DrawFonts(void);
|
||||
static uint16 character_code(uint8 c);
|
||||
|
||||
static CFontDetails GetDetails() { return Details; }
|
||||
static void SetScale(float x, float y);
|
||||
static void SetSlantRefPoint(float x, float y) { Details.slantRefX = x; Details.slantRefY = y; }
|
||||
static void SetSlant(float s) { Details.slant = s; }
|
||||
static void SetJustifyOn(void) {
|
||||
Details.justify = true;
|
||||
Details.centre = false;
|
||||
Details.rightJustify = false;
|
||||
}
|
||||
static void SetJustifyOff(void) {
|
||||
Details.justify = false;
|
||||
Details.rightJustify = false;
|
||||
}
|
||||
static void SetRightJustifyOn(void) {
|
||||
Details.rightJustify = true;
|
||||
Details.justify = false;
|
||||
Details.centre = false;
|
||||
}
|
||||
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 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 SetSlantRefPoint(float x, float y);
|
||||
static void SetSlant(float s);
|
||||
static void SetJustifyOn(void);
|
||||
static void SetJustifyOff(void);
|
||||
static void SetRightJustifyOn(void);
|
||||
static void SetRightJustifyOff(void);
|
||||
static void SetCentreOn(void);
|
||||
static void SetCentreOff(void);
|
||||
static void SetWrapx(float x);
|
||||
static void SetCentreSize(float s);
|
||||
static void SetBackgroundOn(void);
|
||||
static void SetBackgroundOff(void);
|
||||
static void SetBackGroundOnlyTextOn(void);
|
||||
static void SetBackGroundOnlyTextOff(void);
|
||||
static void SetPropOn(void);
|
||||
static void SetPropOff(void);
|
||||
static void SetFontStyle(int16 style);
|
||||
static void SetRightJustifyWrap(float wrap);
|
||||
static void SetAlphaFade(float fade);
|
||||
static void SetDropShadowPosition(int16 pos);
|
||||
static void SetBackgroundColor(CRGBA col);
|
||||
static void SetColor(CRGBA col);
|
||||
static void SetDropColor(CRGBA col);
|
||||
|
|
Loading…
Reference in a new issue