From: DeaDDooMER Date: Mon, 17 Jan 2022 17:41:55 +0000 (+0300) Subject: render: calculate message size in render X-Git-Url: http://deadsoftware.ru/gitweb?a=commitdiff_plain;h=5f94c756b7105cb6cc3c947451774c93f463b250;p=d2df-sdl.git render: calculate message size in render --- diff --git a/src/game/g_game.pas b/src/game/g_game.pas index f341dab..4c2d6de 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -20,7 +20,7 @@ interface uses SysUtils, Classes, MAPDEF, - g_base, g_basic, g_player, r_graphics, g_res_downloader, + g_base, g_basic, g_player, g_res_downloader, g_sound, g_gui, utils, md5, mempool, xprofiler, g_touch, g_weapons; @@ -887,7 +887,6 @@ var UPSTime: LongWord; DataLoaded: Boolean = False; MessageTime: Word; - MessageLineLength: Integer = 80; MapList: SSArray = nil; MapIndex: Integer = -1; InterReadyTime: Integer = -1; @@ -5930,12 +5929,11 @@ begin end; end; -procedure g_Game_Message(Msg: string; Time: Word); -begin - MessageLineLength := (gScreenWidth - 204) div e_CharFont_GetMaxWidth(gMenuFont); - MessageText := b_Text_Wrap(b_Text_Format(Msg), MessageLineLength); - MessageTime := Time; -end; + procedure g_Game_Message (Msg: string; Time: Word); + begin + MessageText := Msg; + MessageTime := Time; + end; procedure g_Game_ChatSound(Text: String; Taunt: Boolean = True); const diff --git a/src/game/opengl/r_game.pas b/src/game/opengl/r_game.pas index a31c4af..46ac2fd 100644 --- a/src/game/opengl/r_game.pas +++ b/src/game/opengl/r_game.pas @@ -40,7 +40,7 @@ implementation g_holmes, {$ENDIF} SysUtils, Classes, Math, - g_base, r_graphics, + g_base, g_basic, r_graphics, g_system, g_touch, MAPDEF, xprofiler, utils, wadreader, e_input, e_sound, @@ -1712,6 +1712,8 @@ var back: string; plView1, plView2: TPlayer; Split: Boolean; + MsgLineLength: Integer; + MsgText: String; begin if gExit = EXIT_QUIT then Exit; @@ -1859,12 +1861,14 @@ begin w := 0; h := 0; e_CharFont_GetSizeFmt(gMenuFont, MessageText, w, h); + MsgLineLength := (gScreenWidth - 204) div e_CharFont_GetMaxWidth(gMenuFont); + MsgText := b_Text_Wrap(b_Text_Format(MessageText), MsgLineLength); if Split then e_CharFont_PrintFmt(gMenuFont, (gScreenWidth div 2)-(w div 2), - (gScreenHeight div 2)-(h div 2), MessageText) + (gScreenHeight div 2)-(h div 2), MsgText) else e_CharFont_PrintFmt(gMenuFont, (gScreenWidth div 2)-(w div 2), - Round(gScreenHeight / 2.75)-(h div 2), MessageText); + Round(gScreenHeight / 2.75)-(h div 2), MsgText); end; if IsDrawStat or (gSpectMode = SPECT_STATS) then