DEADSOFTWARE

Sweep-And-Prune broad phase implementation; not working yet
[d2df-sdl.git] / src / game / g_game.pas
index fa9c2883bdd1deed73ae7041b597992ab655f2fa..802425a68977ff8074cc0b4ba967bf6dcdfdafbb 100644 (file)
@@ -313,6 +313,7 @@ var
   g_profile_frame_update: Boolean = false;
   g_profile_frame_draw: Boolean = false;
   g_profile_collision: Boolean = false;
+  g_profile_history_size: Integer = 1000;
 
 procedure g_ResetDynlights ();
 procedure g_AddDynLight (x, y, radius: Integer; r, g, b, a: Single);
@@ -474,7 +475,7 @@ function drawProfiles (x, y: Integer; prof: TProfiler): Integer;
 var
   wdt, hgt: Integer;
   yy: Integer;
-  ii, idx: Integer;
+  ii: Integer;
 begin
   result := 0;
   if (prof = nil) then exit;
@@ -1489,8 +1490,6 @@ var
   w: Word;
   i, b: Integer;
 begin
-  g_Map_ProfilersBegin();
-
   g_ResetDynlights();
 // Ïîðà âûêëþ÷àòü èãðó:
   if gExit = EXIT_QUIT then
@@ -2012,8 +2011,6 @@ begin
   end;
 
   if gGameOn then g_Weapon_AddDynLights();
-
-  g_Map_ProfilersEnd();
 end;
 
 procedure g_Game_LoadData();
@@ -2753,7 +2750,7 @@ begin
     Exit;
   end;
 
-  if (profileFrameDraw = nil) then profileFrameDraw := TProfiler.Create('MAP RENDER');
+  if (profileFrameDraw = nil) then profileFrameDraw := TProfiler.Create('MAP RENDER', g_profile_history_size);
   profileFrameDraw.mainBegin(g_profile_frame_draw);
 
   gPlayerDrawn := p;
@@ -5020,22 +5017,26 @@ var
 begin
   //if not gDebugMode then exit;
   cmd := LowerCase(P[0]);
+
   if cmd = 'dpp' then
   begin
     g_profile_frame_draw := not g_profile_frame_draw;
     exit;
   end;
+
   if cmd = 'dpu' then
   begin
     g_profile_frame_update := not g_profile_frame_update;
     exit;
   end;
+
   if cmd = 'dpc' then
   begin
     g_profile_collision := not g_profile_collision;
     exit;
   end;
-  if cmd = 'r_draw_grid' then
+
+  if cmd = 'r_gridrender' then
   begin
     case getBool(1) of
       -1: begin end;
@@ -5045,6 +5046,7 @@ begin
     if gdbg_map_use_grid_render then g_Console_Add('grid rendering: tan') else g_Console_Add('grid rendering: ona');
     exit;
   end;
+
   if cmd = 'dbg_coldet_grid' then
   begin
     case getBool(1) of
@@ -5055,6 +5057,17 @@ begin
     if gdbg_map_use_grid_coldet then g_Console_Add('grid coldet: tan') else g_Console_Add('grid coldet: ona');
     exit;
   end;
+
+  if (cmd = 'sq_use_grid') or (cmd = 'sq_use_sap') then
+  begin
+    case getBool(1) of
+      -1: begin end;
+       0: gdbg_map_use_sap := (cmd = 'sq_use_grid');
+       1: gdbg_map_use_sap := (cmd = 'sq_use_sap');
+    end;
+    if gdbg_map_use_sap then g_Console_Add('coldet: sap') else g_Console_Add('coldet: grid');
+    exit;
+  end;
 end;
 
 procedure DebugCommands(P: SArray);