X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_window.pas;h=b0c06786a82ac434609231d0d69d835d60e04256;hb=6f8dc88116ecc655f962442885550f06d5c081d3;hp=95e2c4ddc0844d228cde4ed1397c4bc6cc38c6c2;hpb=04f1e58db9ef9dd87bb4a829d000b02da0304c3b;p=d2df-sdl.git diff --git a/src/game/g_window.pas b/src/game/g_window.pas index 95e2c4d..b0c0678 100644 --- a/src/game/g_window.pas +++ b/src/game/g_window.pas @@ -2,8 +2,7 @@ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * the Free Software Foundation, version 3 of the License ONLY. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -65,7 +64,7 @@ uses const - ProgressUpdateMSecs = 1;//100; + ProgressUpdateMSecs = 35; //1;//100; var h_Wnd: PSDL_Window = nil; @@ -515,7 +514,7 @@ begin e_KeyUpDown(key, down); g_Console_ProcessBind(key, down); end - else if gConsoleShow or (g_ActiveWindow <> nil) then + else if gConsoleShow or gChatShow or (g_ActiveWindow <> nil) then begin // key repeat in menus and shit KeyPress(key); @@ -783,13 +782,14 @@ begin end; +{$IFNDEF HEADLESS} var prevLoadingUpdateTime: UInt64 = 0; +{$ENDIF} procedure ProcessLoading (forceUpdate: Boolean=false); var ev: TSDL_Event; - ID: LongWord; stt: UInt64; begin FillChar(ev, sizeof(ev), 0); @@ -808,38 +808,27 @@ begin exit; end; +{$IFNDEF HEADLESS} if not wMinimized then begin - if forceUpdate then - begin - prevLoadingUpdateTime := getTimeMilli(); - end - else + if not forceUpdate then begin stt := getTimeMilli(); - if (stt < prevLoadingUpdateTime) or (stt-prevLoadingUpdateTime >= ProgressUpdateMSecs) then - begin - prevLoadingUpdateTime := stt; - forceUpdate := true; - end; + forceUpdate := (stt < prevLoadingUpdateTime) or (stt-prevLoadingUpdateTime >= ProgressUpdateMSecs); end; if forceUpdate then begin - if g_Texture_Get('INTER', ID) then - begin - e_DrawSize(ID, 0, 0, 0, false, false, gScreenWidth, gScreenHeight); - e_DarkenQuadWH(0, 0, gScreenWidth, gScreenHeight, 150); - end - else - begin - e_Clear(GL_COLOR_BUFFER_BIT, 0, 0, 0); - end; + DrawMenuBackground('INTER'); + e_DarkenQuadWH(0, 0, gScreenWidth, gScreenHeight, 150); DrawLoadingStat(); + g_Console_Draw(True); SwapBuffers(); + prevLoadingUpdateTime := getTimeMilli(); end; end; +{$ENDIF} e_SoundUpdate(); @@ -908,6 +897,8 @@ begin else if (NetMode = NET_CLIENT) then g_Net_Client_Update(); end; + if NetMode = NET_SERVER then g_Net_Flush(); + g_Map_ProfilersEnd(); g_Mons_ProfilersEnd(); @@ -974,7 +965,7 @@ begin {$IFDEF USE_GLES1} SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); {$ELSE} SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); @@ -1182,8 +1173,10 @@ begin // Êîìàíäíàÿ ñòðîêà if (ParamCount > 0) then g_Game_Process_Params(); +{$IFNDEF HEADLESS} // Çàïðîñ ÿçûêà if (not gGameOn) and gAskLanguage then g_Menu_AskLanguage(); +{$ENDIF} e_WriteLog('Entering the main loop', TMsgType.Notify);