DEADSOFTWARE

shitlight experiment
[d2df-sdl.git] / src / game / g_map.pas
index e67e5359be1d51ac372100db16ff444515b6619a..e080bca7cc0e9ba2423956395a48235d460d3581 100644 (file)
@@ -92,6 +92,8 @@ function g_Map_PanelForPID(PanelID: Integer; var PanelArrayID: Integer): PPanel;
 procedure g_Map_SaveState(Var Mem: TBinMemoryWriter);
 procedure g_Map_LoadState(Var Mem: TBinMemoryReader);
 
+procedure g_Map_DrawPanelShadowVolumes(lightX: Integer; lightY: Integer; radius: Integer);
+
 const
   RESPAWNPOINT_PLAYER1 = 1;
   RESPAWNPOINT_PLAYER2 = 2;
@@ -1792,6 +1794,26 @@ begin
   end;
 end;
 
+procedure g_Map_DrawPanelShadowVolumes(lightX: Integer; lightY: Integer; radius: Integer);
+
+  procedure drawPanels (var panels: TPanelArray);
+  var
+    a: Integer;
+  begin
+    if panels <> nil then
+    begin
+      for a := 0 to High(panels) do
+      begin
+        panels[a].DrawShadowVolume(lightX, lightY, radius);
+      end;
+    end;
+  end;
+
+begin
+  drawPanels(gWalls);
+  drawPanels(gRenderForegrounds);
+end;
+
 procedure g_Map_DrawBack(dx, dy: Integer);
 begin
   if gDrawBackGround and (BackID <> DWORD(-1)) then