DEADSOFTWARE

we don't really need microsecond resolution in timer
[d2df-sdl.git] / src / game / g_window.pas
index a41c9f44b08ed50dae2524f5a3a1d9c554400233..419e135299da48568c51fe8974a8a2389016c0c6 100644 (file)
@@ -35,7 +35,7 @@ var
   flag: Boolean;
   wTitle: PChar = nil;
   wNeedTimeReset: Boolean = False;
-  wWindowCreated: Boolean = False;
+  //wWindowCreated: Boolean = False;
   //wCursorShown: Boolean = False;
   wMinimized: Boolean = False;
   //wNeedFree: Boolean = True;
@@ -273,23 +273,33 @@ begin
         e_WriteLog('[DEBUG] WinMsgs: Now restored', MSG_NOTIFY);
       end;
     end;
-    
+
     SDL_WINDOWEVENT_FOCUS_GAINED:
+    begin
       wActivate := True;
-    
+      //e_WriteLog('window gained focus!', MSG_NOTIFY);
+    end;
+
     SDL_WINDOWEVENT_FOCUS_LOST:
+    begin
       wDeactivate := True;
+      //e_WriteLog('window lost focus!', MSG_NOTIFY);
+    end;
   end;
-  
+
   if wDeactivate then
   begin
     if gWinActive then
     begin
+      e_WriteLog('deactivating window', MSG_NOTIFY);
       e_EnableInput := False;
       e_ClearInputBuffer();
 
       if gMuteWhenInactive then
+      begin
+        //e_WriteLog('deactivating sounds', MSG_NOTIFY);
         e_MuteChannels(True);
+      end;
 
       if g_debug_WinMsgs then
       begin
@@ -304,10 +314,14 @@ begin
   begin
     if not gWinActive then
     begin
+      //e_WriteLog('activating window', MSG_NOTIFY);
       e_EnableInput := True;
 
       if gMuteWhenInactive then
+      begin
+        //e_WriteLog('activating sounds', MSG_NOTIFY);
         e_MuteChannels(False);
+      end;
 
       if g_debug_WinMsgs then
       begin
@@ -376,7 +390,7 @@ begin
   if h_GL <> nil then SDL_GL_DeleteContext(h_GL);
   h_Wnd := nil;
   h_GL := nil;
-  wWindowCreated := False;
+  //wWindowCreated := False;
 end;
 
 function CreateGLWindow(Title: PChar): Boolean;
@@ -400,8 +414,8 @@ begin
 
   h_Gl := SDL_GL_CreateContext(h_Wnd);
   if h_Gl = nil then Exit;
-  
-  wWindowCreated := True;
+
+  //wWindowCreated := True;
 
   e_ResizeWindow(gScreenWidth, gScreenHeight);
   e_InitGL();
@@ -411,7 +425,7 @@ end;
 
 function GetTimer(): Int64;
 begin
-  Result := SDL_GetTicks() * 1000; // TODO: do we really need microseconds here?
+  Result := SDL_GetTicks() {* 1000}; // TODO: do we really need microseconds here? k8: NOPE!
 end;
 
 procedure ResetTimer();
@@ -492,11 +506,11 @@ begin
 
   if wNeedTimeReset then
   begin
-    Time_Delta := 27777;
+    Time_Delta := (27777 div 1000);
     wNeedTimeReset := False;
   end;
 
-  t := Time_Delta div 27777;
+  t := Time_Delta div (27777 div 1000);
   if t > 0 then
   begin
     flag := True;
@@ -528,7 +542,7 @@ begin
 // Âðåìÿ ïðåäûäóùåãî îáíîâëåíèÿ:
   if flag then
   begin
-    Time_Old := Time - (Time_Delta mod 27777);
+    Time_Old := Time - (Time_Delta mod (27777 div 1000));
     if (not wMinimized) then
     begin
       Draw();