X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=09618966963e2bbe2cc06dd55eedf42e0ad0127d;hb=ee093c74b7f323b8589dc39ca7c39e89bc6e7e63;hp=8e7174f31b8fd4cceea472c5fa66695c498cd220;hpb=1cae0b10d890468396ecbfebec4c17e941b37d82;p=d2df-sdl.git diff --git a/src/game/g_game.pas b/src/game/g_game.pas index 8e7174f..0961896 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -351,12 +351,17 @@ function gPause (): Boolean; inline; 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; @@ -556,6 +561,7 @@ var EndingGameCounter: Byte = 0; MessageText: String; MessageTime: Word; + MessageLineLength: Integer = 80; MapList: SSArray = nil; MapIndex: Integer = -1; MegaWAD: record @@ -1986,6 +1992,7 @@ begin e_WriteLog('Changing resolution', TMsgType.Notify); g_Game_ChangeResolution(gRC_Width, gRC_Height, gRC_FullScreen, gRC_Maximized); gResolutionChange := False; + g_ActiveWindow := nil; end; // Íóæíî ñìåíèòü ÿçûê: @@ -3000,7 +3007,6 @@ begin * 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]); @@ -3764,7 +3770,7 @@ begin 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; @@ -6974,7 +6980,8 @@ end; 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;