DEADSOFTWARE

panels: fix crash on liquid collision
[d2df-sdl.git] / src / game / g_player.pas
index 200435be89796d52fbc028565d55d80e0a2b6a4c..75d1f403075ba293b9e629c0697b097285ff3805 100644 (file)
@@ -21,7 +21,7 @@ interface
 uses
   SysUtils, Classes,
   {$IFDEF USE_MEMPOOL}mempool,{$ENDIF}
-  g_base, g_playermodel, g_basic, g_textures,
+  g_base, g_playermodel, g_basic,
   g_weapons, g_phys, g_sound, g_saveload, MAPDEF,
   g_panel;
 
@@ -185,7 +185,7 @@ type
     FSavedStateNum:   Integer;
 
     FModel:     TPlayerModel;
-    FPunchAnim: TAnimationState;
+    FPunchTime: LongWord;
     FActionPrior:    Byte;
     FActionAnim:     Byte;
     FActionForce:    Boolean;
@@ -414,7 +414,7 @@ type
     property    Berserk: Integer read FBerserk;
     property    Pain: Integer read FPain;
     property    Pickup: Integer read FPickup;
-    property    PunchAnim: TAnimationState read FPunchAnim write FPunchAnim;
+    property    PunchTime: LongWord read FPunchTime;
     property    SpawnInvul: Integer read FSpawnInvul;
     property    Ghost: Boolean read FGhost;
 
@@ -572,7 +572,7 @@ uses
   {$IFDEF ENABLE_MENU}
     g_menu,
   {$ENDIF}
-  {$IFNDEF HEADLESS}
+  {$IFDEF ENABLE_RENDER}
     r_render,
   {$ENDIF}
   {$IFDEF ENABLE_GFX}
@@ -1644,8 +1644,7 @@ begin
   FNetTime := 0;
 
   FWaitForFirstSpawn := false;
-  FPunchAnim := TAnimationState.Create(False, 1, 4);
-  FPunchAnim.Disable;
+  FPunchTime := 0;
 
   resetWeaponQueue();
 end;
@@ -1799,15 +1798,14 @@ begin
   FJetSoundOn.Free();
   FJetSoundOff.Free();
   FModel.Free();
-  FPunchAnim.Free();
+  FPunchTime := 0;
 
   inherited;
 end;
 
 procedure TPlayer.DoPunch();
 begin
-  FPunchAnim.Reset;
-  FPunchAnim.Enable;
+  FPunchTime := gTime;
 end;
 
 procedure TPlayer.Fire();
@@ -3869,11 +3867,6 @@ begin
       FLoss := 0;
     end;
 
-  if FAlive then
-    FPunchAnim.Update;
-  if FPunchAnim.played then
-    FPunchAnim.Disable;
-
   if FAlive and (gFly or FJetpack) then
     FlySmoke();