summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/render/Font.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/render/Font.cpp b/src/render/Font.cpp
index 3f130344..d6a06db8 100644
--- a/src/render/Font.cpp
+++ b/src/render/Font.cpp
@@ -1055,6 +1055,7 @@ CFont::GetCharacterWidth(wchar c)
else
return Size[LanguageSet][Details.style][192];
#else
+
if (Details.proportional)
return Size[Details.style][c];
else
@@ -1100,6 +1101,11 @@ CFont::GetCharacterSize(wchar c)
else
return Size[LanguageSet][Details.style][209] * Details.scaleX;
#else
+
+#ifdef FIX_BUGS
+ // PS2 don't call FindNewCharacter in here at all, and also uses different chars for some symbols
+ if (!Details.bFontHalfTexture && c == 30) c = 61; // wanted star
+#endif
if (Details.bFontHalfTexture)
c = FindNewCharacter(c);
if (Details.proportional)
@@ -1523,6 +1529,10 @@ CFont::RenderFontBuffer()
PrintChar(textPosX + 2.0f, textPosY, c);
textPosX += 2.0f;
}
+#ifdef FIX_BUGS
+ // PS2 uses different chars for some symbols
+ if (!RenderState.bFontHalfTexture && c == 30) c = 61; // wanted star
+#endif
textPosX += RenderState.scaleX * (RenderState.proportional ? Size[RenderState.style][c] : Size[RenderState.style][209]);
if (c == '\0')
textPosX += RenderState.fExtraSpace;