diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 8e7174f31b8fd4cceea472c5fa66695c498cd220..09618966963e2bbe2cc06dd55eedf42e0ad0127d 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
implementation
uses
+{$IFDEF USE_NANOGL}
+ nanoGL,
+{$ELSE}
+ GL, GLExt,
+{$ENDIF}
e_texture, g_textures, g_main, g_window, g_menu,
e_input, e_log, g_console, g_items, g_map, g_panel,
g_playermodel, g_gfx, g_options, g_weapons, Math,
g_triggers, g_monsters, e_sound, CONFIG,
g_language, g_net,
- ENet, e_msg, g_netmsg, g_netmaster, GL, GLExt,
+ ENet, e_msg, g_netmsg, g_netmaster,
sfs, wadreader, g_holmes;
EndingGameCounter: Byte = 0;
MessageText: String;
MessageTime: Word;
+ MessageLineLength: Integer = 80;
MapList: SSArray = nil;
MapIndex: Integer = -1;
MegaWAD: record
e_WriteLog('Changing resolution', TMsgType.Notify);
g_Game_ChangeResolution(gRC_Width, gRC_Height, gRC_FullScreen, gRC_Maximized);
gResolutionChange := False;
+ g_ActiveWindow := nil;
end;
// Íóæíî ñìåíèòü ÿçûê:
* glBlendFunc(GL_DST_ALPHA, GL_ONE);
* draw all geometry up to and including walls (with alpha-testing, probably) -- this does lighting
*)
-
wassc := (glIsEnabled(GL_SCISSOR_TEST) <> 0);
if wassc then glGetIntegerv(GL_SCISSOR_BOX, @scxywh[0]) else glGetIntegerv(GL_VIEWPORT, @scxywh[0]);
g_PlayerModel_FreeData();
g_Texture_DeleteAll();
g_Frames_DeleteAll();
- g_Menu_Free();
+ //g_Menu_Free(); //k8: this segfaults after resolution change; who cares?
if NetInitDone then g_Net_Free;
procedure g_Game_Message(Msg: string; Time: Word);
begin
- MessageText := b_Text_Format(Msg);
+ MessageLineLength := (gScreenWidth - 204) div e_CharFont_GetMaxWidth(gMenuFont);
+ MessageText := b_Text_Wrap(b_Text_Format(Msg), MessageLineLength);
MessageTime := Time;
end;