diff -r 9c24233ca1c5 -r cb0b750bd8a3 hedgewars/uRenderUtils.pas --- a/hedgewars/uRenderUtils.pas Tue Feb 04 14:04:24 2014 +0100 +++ b/hedgewars/uRenderUtils.pas Tue Feb 04 15:23:37 2014 +0100 @@ -35,7 +35,8 @@ procedure DrawRoundRect(rect: PSDL_Rect; BorderColor, FillColor: Longword; Surface: PSDL_Surface; Clear: boolean); function RenderStringTex(s: ansistring; Color: Longword; font: THWFont): PTexture; -function RenderStringTexLim(s: ansistring; Color: Longword; font: THWFont; maxLength: LongWord): PTexture; +function RenderStringTexPChar(s: PChar; Color: Longword; font: THWFont): PTexture; +function RenderStringTexLim(s: PChar; Color: Longword; font: THWFont; maxLength: LongWord): PTexture; function RenderSpeechBubbleTex(s: ansistring; SpeechType: Longword; font: THWFont): PTexture; implementation @@ -270,17 +271,22 @@ function RenderStringTex(s: ansistring; Color: Longword; font: THWFont): PTexture; begin - RenderStringTex:= RenderStringTexLim(s, Color, font, 0); + RenderStringTex:= RenderStringTexLim(Str2PChar(s), Color, font, 0); end; -function RenderStringTexLim(s: ansistring; Color: Longword; font: THWFont; maxLength: LongWord): PTexture; +function RenderStringTexPChar(s: PChar; Color: Longword; font: THWFont): PTexture; +begin + RenderStringTexPChar:= RenderStringTexLim(s, Color, font, 0); +end; + +function RenderStringTexLim(s: PChar; Color: Longword; font: THWFont; maxLength: LongWord): PTexture; var w, h: LongInt; finalSurface: PSDL_Surface; begin - if length(s) = 0 then s:= _S' '; + if StrLength(s) = 0 then s:= Str2PChar(''); // conversion because pas2c ain't smart enough yet; font:= CheckCJKFont(s, font); w:= 0; h:= 0; // avoid compiler hints - TTF_SizeUTF8(Fontz[font].Handle, Str2PChar(s), @w, @h); + TTF_SizeUTF8(Fontz[font].Handle, s, @w, @h); if (maxLength <> 0) and (w > maxLength) then w := maxLength; finalSurface:= SDL_CreateRGBSurface(SDL_SWSURFACE, w + cFontBorder * 2 + 4, h + cFontBorder * 2, @@ -336,7 +342,7 @@ if length(s) = 0 then s:= '...'; - font:= CheckCJKFont(s, font); + font:= CheckCJKFont(Str2PChar(s), font); w:= 0; h:= 0; // avoid compiler hints TTF_SizeUTF8(Fontz[font].Handle, Str2PChar(s), @w, @h); if w<8 then