DEADSOFTWARE

gl: bfg offset
[d2df-sdl.git] / src / game / g_gibs.pas
index 627764b6142c5de86389c69a42c482f2f7278fc3..69e5ca8b960d8d63dbdedd45094cda9ff30fc530 100644 (file)
@@ -22,6 +22,7 @@ interface
   const
     DefaultGibsCount = 32;
     DefaultGibsMax = 150;
+    DefaultGibSize: TRectWH = (X: 8; Y: 8; Width: 16; Height: 16);
 
   type
     PGib = ^TGib;
@@ -46,6 +47,7 @@ interface
   function g_Gibs_GetMax (): Word;
 
   procedure g_Gibs_Create (fX, fY, mid: Integer; fColor: TRGB);
+  procedure g_Gibs_RemoveAll;
   procedure g_Gibs_Update;
 
 implementation
@@ -54,7 +56,7 @@ implementation
     {$IFDEF ENABLE_GFX}
       g_gfx,
     {$ENDIF}
-    {$IFNDEF HEADLESS}
+    {$IFDEF ENABLE_RENDER}
       r_render,
     {$ENDIF}
     g_playermodel, g_options, g_game
@@ -159,13 +161,10 @@ implementation
         Color := fColor;
         alive := True;
         g_Obj_Init(@Obj);
-        {$IFNDEF HEADLESS}
+        {$IFDEF ENABLE_RENDER}
           Obj.Rect := r_Render_GetGibRect(ModelID, GibID);
         {$ELSE}
-          Obj.Rect.X := 16;
-          Obj.Rect.Y := 16;
-          Obj.Rect.Width := 16;
-          Obj.Rect.Height := 16;
+          Obj.Rect := DefaultGibSize;
         {$ENDIF}
         Obj.X := fX - Obj.Rect.X - (Obj.Rect.Width div 2);
         Obj.Y := fY - Obj.Rect.Y - (Obj.Rect.Height div 2);
@@ -198,6 +197,14 @@ implementation
     end;
   end;
 
+  procedure g_Gibs_RemoveAll;
+    var i: Integer;
+  begin
+    i := g_Gibs_GetMax();
+    g_Gibs_SetMax(0);
+    g_Gibs_SetMax(i);
+  end;
+
   procedure g_Gibs_Update;
     var i: Integer; vel: TPoint2i; mr: Word;
   begin