diff options
Diffstat (limited to 'src/render/Font.cpp')
-rw-r--r-- | src/render/Font.cpp | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/src/render/Font.cpp b/src/render/Font.cpp index ef665fae..0b410497 100644 --- a/src/render/Font.cpp +++ b/src/render/Font.cpp @@ -250,7 +250,7 @@ CFont::Initialise(void) SetBackgroundColor(CRGBA(0x80, 0x80, 0x80, 0x80)); SetBackGroundOnlyTextOff(); SetPropOn(); - SetFontStyle(FONT_BANK); + SetFontStyle(FONT_STANDARD); SetRightJustifyWrap(0.0f); SetAlphaFade(255.0f); SetDropShadowPosition(0); @@ -348,7 +348,7 @@ CFont::PrintChar(float x, float y, wchar c) } #endif - if(Details.style == FONT_BANK || Details.style == FONT_HEADING){ + if(Details.style == FONT_STANDARD || Details.style == FONT_HEADING){ if(Details.dropShadowPosition != 0){ CSprite2d::AddSpriteToBank(Details.bank + Details.style, // BUG: game doesn't add bank CRect(x + SCREEN_SCALE_X(Details.dropShadowPosition), @@ -828,7 +828,7 @@ CFont::GetCharacterWidth(wchar c) if (IsJapanese()) { if (!Details.proportional) return Size[0][Details.style][192]; - if (c <= 94 || Details.style == FONT_HEADING || Details.style == FONT_BANK) { + if (c <= 94 || Details.style == FONT_HEADING || Details.style == FONT_STANDARD) { switch (Details.style) { case FONT_JAPANESE: @@ -844,7 +844,7 @@ CFont::GetCharacterWidth(wchar c) { case FONT_JAPANESE: return 29.4f; - case FONT_BANK: + case FONT_STANDARD: return 10.0f; case FONT_PAGER: return 31.5f; @@ -874,7 +874,7 @@ CFont::GetCharacterSize(wchar c) { if (!Details.proportional) return Size[0][Details.style][192] * Details.scaleX; - if (c <= 94 || Details.style == FONT_HEADING || Details.style == FONT_BANK) { + if (c <= 94 || Details.style == FONT_HEADING || Details.style == FONT_STANDARD) { switch (Details.style) { case FONT_JAPANESE: @@ -890,7 +890,7 @@ CFont::GetCharacterSize(wchar c) { case FONT_JAPANESE: return 29.4f * Details.scaleX; - case FONT_BANK: + case FONT_STANDARD: return 10.0f * Details.scaleX; case FONT_PAGER: return 31.5f * Details.scaleX; @@ -936,15 +936,27 @@ CFont::GetStringWidth(wchar *s, bool spaces) } else #endif { - for (; (*s != ' ' || spaces) && *s != '\0'; s++) { - if (*s == '~') { - s++; - while (*s != '~') s++; + for (wchar c = *s; (c != ' ' || spaces) && c != '\0'; c = *(++s)) { + if (c == '~') { + + // This is original code +#if 0 s++; - if (*s == ' ' && !spaces) - break; + while (*s != '~') { + s++; + } +#else + // TODO(Miami): This is my code to prevent fuck up until InsertPlayerControlKeysInString is done + if (*(s + 1) != '~') { + s++; + while (*s != '~') { + s++; + } + } +#endif + } else { + w += GetCharacterSize(c - ' '); } - w += GetCharacterSize(*s - ' '); } } return w; |