diff --git a/src/game/g_gibs.pas b/src/game/g_gibs.pas
index 627764b6142c5de86389c69a42c482f2f7278fc3..69e5ca8b960d8d63dbdedd45094cda9ff30fc530 100644 (file)
--- a/src/game/g_gibs.pas
+++ b/src/game/g_gibs.pas
const
DefaultGibsCount = 32;
DefaultGibsMax = 150;
+ DefaultGibSize: TRectWH = (X: 8; Y: 8; Width: 16; Height: 16);
type
PGib = ^TGib;
function g_Gibs_GetMax (): Word;
procedure g_Gibs_Create (fX, fY, mid: Integer; fColor: TRGB);
+ procedure g_Gibs_RemoveAll;
procedure g_Gibs_Update;
implementation
{$IFDEF ENABLE_GFX}
g_gfx,
{$ENDIF}
- {$IFNDEF HEADLESS}
+ {$IFDEF ENABLE_RENDER}
r_render,
{$ENDIF}
g_playermodel, g_options, g_game
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);
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