DEADSOFTWARE

gfx: cleaned up and fixed progress update code (it was broken; oops)
[d2df-sdl.git] / src / game / g_window.pas
index 88b229aa220b888697903da121c21f01e0bbe0f4..b0c06786a82ac434609231d0d69d835d60e04256 100644 (file)
@@ -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;
@@ -783,8 +782,10 @@ begin
 end;
 
 
+{$IFNDEF HEADLESS}
 var
   prevLoadingUpdateTime: UInt64 = 0;
+{$ENDIF}
 
 procedure ProcessLoading (forceUpdate: Boolean=false);
 var
@@ -807,20 +808,13 @@ 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
@@ -831,8 +825,10 @@ begin
       DrawLoadingStat();
       g_Console_Draw(True);
       SwapBuffers();
+      prevLoadingUpdateTime := getTimeMilli();
     end;
   end;
+{$ENDIF}
 
   e_SoundUpdate();
 
@@ -901,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();
 
@@ -1175,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);