DEADSOFTWARE

slightly better outlining in Holmes
authorKetmar Dark <ketmar@ketmar.no-ip.org>
Sun, 27 Aug 2017 16:03:27 +0000 (19:03 +0300)
committerKetmar Dark <ketmar@ketmar.no-ip.org>
Sun, 27 Aug 2017 16:11:11 +0000 (19:11 +0300)
src/game/g_holmes.pas

index b86827c92fc3fd7db1b2bc99d56e23eb5a85f0c4..9ab1c77752b25fafac2af63419a867e1df3d4980 100644 (file)
@@ -379,7 +379,7 @@ procedure drawOutlines ();
              (a[-(gWinSizeX+4)-1] = 0) or (a[-(gWinSizeX+4)+1] = 0) or
              (a[gWinSizeX+4-1] = 0) or (a[gWinSizeX+4+1] = 0) then
           begin
-            glVertex2i(x-1+vpx, y-1+vpy);
+            glVertex2f(x-1+vpx+0.37, y-1+vpy+0.37);
           end;
         end;
         Inc(a);
@@ -388,7 +388,7 @@ procedure drawOutlines ();
     glEnd();
   end;
 
-  procedure doWalls (parr: array of TPanel; ptype: Word);
+  procedure doWallsOld (parr: array of TPanel; ptype: Word);
   var
     f: Integer;
     pan: TPanel;
@@ -404,8 +404,21 @@ procedure drawOutlines ();
     if g_ol_nice then drawEdges();
   end;
 
+  function doWallCB (pan: TPanel; tag: Integer): Boolean;
+  begin
+    result := false; // don't stop
+    //if (pan = nil) or not pan.Enabled or (pan.Width < 1) or (pan.Height < 1) then exit;
+    drawPanel(pan);
+  end;
+
+  procedure doWalls (parr: array of TPanel; ptype: Word);
+  begin
+    if g_ol_nice then clearEdgeBmp();
+    mapGrid.forEachInAABB(vpx-1, vpy-1, vpw+2, vph+2, doWallCB, panelTypeToTag(ptype));
+    if g_ol_nice then drawEdges();
+  end;
+
 begin
-  //function forEachInAABB (x, y, w, h: Integer; cb: TGridQueryCB; tagmask: Integer=-1; allowDisabled: Boolean=false): ITP;
   if g_ol_rlayer_back then doWalls(gRenderBackgrounds, PANEL_BACK);
   if g_ol_rlayer_step then doWalls(gSteps, PANEL_STEP);
   if g_ol_rlayer_wall then doWalls(gWalls, PANEL_WALL);