From ac549f0febcafeef4781154dee969a690f086791 Mon Sep 17 00:00:00 2001 From: Regalis Date: Tue, 14 Mar 2017 20:32:29 +0200 Subject: [PATCH] Fixed incorrectly aligned letters in scaled texts --- Subsurface/Source/Fonts/ScalableFont.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Subsurface/Source/Fonts/ScalableFont.cs b/Subsurface/Source/Fonts/ScalableFont.cs index 525621b99..ab41b3f70 100644 --- a/Subsurface/Source/Fonts/ScalableFont.cs +++ b/Subsurface/Source/Fonts/ScalableFont.cs @@ -199,15 +199,15 @@ namespace Barotrauma int lineNum = 0; Vector2 currentPos = position; - Vector2 advanceUnit = new Vector2((float)Math.Cos(rotation), (float)Math.Sin(rotation)); + Vector2 advanceUnit = new Vector2((float)Math.Cos(rotation) * scale.X, (float)Math.Sin(rotation) * scale.Y); for (int i = 0; i < text.Length; i++) { if (text[i]=='\n') { lineNum++; currentPos = position; - currentPos.X += baseHeight * 18 / 10 * lineNum * advanceUnit.Y * scale.Y; - currentPos.Y += baseHeight * 18 / 10 * lineNum * advanceUnit.X * scale.Y; + currentPos.X += baseHeight * 18 / 10 * lineNum * advanceUnit.Y; + currentPos.Y += baseHeight * 18 / 10 * lineNum * advanceUnit.X; continue; } uint charIndex = text[i]; @@ -223,7 +223,7 @@ namespace Barotrauma sb.Draw(tex, currentPos + drawOffset, null, gd.texCoords, origin, rotation, scale, color, se, layerDepth); } - currentPos += gd.advance * advanceUnit * scale.X; + currentPos += gd.advance * advanceUnit; } } }