DEADSOFTWARE

game: disable corpses for server
[d2df-sdl.git] / src / game / opengl / r_player.pas
index 6d87a18ce5afe35df3f83b35c699966a1a9e5011..49d2c0c78c3cc7f382e3450c148d60acbc989f2f 100644 (file)
@@ -26,9 +26,6 @@ interface
   procedure r_Player_DrawDebug (p: TPlayer);
   procedure r_Player_DrawHealth;
 
-  procedure r_Player_DrawCorpses;
-  procedure r_Player_DrawShells;
-
   procedure r_Player_Draw (p: TPlayer);
   procedure r_Player_DrawIndicator (p: TPlayer; Color: TRGB);
   procedure r_Player_DrawBubble (p: TPlayer);
@@ -38,15 +35,32 @@ interface
   procedure r_Player_DrawPain (p: TPlayer);
   procedure r_Player_DrawPickup (p: TPlayer);
 
+  {$IFDEF ENABLE_SHELLS}
+    procedure r_Player_DrawShells;
+  {$ENDIF}
+
+  {$IFDEF ENABLE_CORPSES}
+    procedure r_Player_DrawCorpses;
+  {$ENDIF}
+
 implementation
 
   uses
+    {$IFDEF ENABLE_HOLMES}
+      g_holmes,
+    {$ENDIF}
+    {$IFDEF ENABLE_MENU}
+      g_menu,
+    {$ENDIF}
+    {$IFDEF ENABLE_SHELLS}
+      g_shells,
+    {$ENDIF}
+    {$IFDEF ENABLE_CORPSES}
+      g_corpses,
+    {$ENDIF}
     SysUtils, Classes, Math,
     MAPDEF, utils,
-    g_basic, g_game, g_phys, g_map, g_menu, g_language, g_weapons, g_items, g_net, g_options,
-{$IFDEF ENABLE_HOLMES}
-    g_holmes,
-{$ENDIF}
+    g_basic, g_game, g_phys, g_map, g_language, g_weapons, g_items, g_net, g_options,
     r_playermodel, r_graphics, r_animations, r_textures, r_items, r_game, r_map
   ;
 
@@ -127,6 +141,7 @@ begin
     end;
 end;
 
+{$IFDEF ENABLE_CORPSES}
   procedure r_Player_DrawCorpse (p: TCorpse);
     var fX, fY: Integer;
   begin
@@ -145,7 +160,9 @@ end;
         if gCorpses[i] <> nil then
           r_Player_DrawCorpse(gCorpses[i])
   end;
+{$ENDIF}
 
+{$IFDEF ENABLE_SHELLS}
   procedure r_Player_DrawShells;
     var i, fX, fY: Integer; a: TDFPoint; TextureID: DWORD = DWORD(-1);
   begin
@@ -177,6 +194,7 @@ end;
       end
     end
   end;
+{$ENDIF}
 
 procedure r_Player_DrawIndicator (p: TPlayer; Color: TRGB);
 var
@@ -261,7 +279,11 @@ var
   Dot: Byte;
   CObj: TObj;
 begin
-  CObj := p.getCameraObj();
+  {$IFDEF ENABLE_CORPSES}
+    CObj := g_Corpses_GetCameraObj(p);
+  {$ELSE}
+    CObj := p.Obj;
+  {$ENDIF}
   CObj.lerp(gLerpFactor, fX, fY);
   // NB: _F_Obj.Rect is used to keep the bubble higher; this is not a mistake
   bubX := fX + p.Obj.Rect.X + IfThen(p.Direction = TDirection.D_LEFT, -4, 18);
@@ -360,7 +382,7 @@ begin
       if p.FKeys[KEY_DOWN].Pressed then ID := PunchFrames[R_BERSERK in p.FRulez, 2]
       else if p.FKeys[KEY_UP].Pressed then ID := PunchFrames[R_BERSERK in p.FRulez, 1]
       else ID := PunchFrames[R_BERSERK in p.FRulez, 0];
-      r_AnimationState_Draw(ID, p.PunchAnim, fX + IfThen(p.Direction = TDirection.D_LEFT, 15 - p.Obj.Rect.X, p.Obj.Rect.X - 15), fY + fSlope + p.Obj.Rect.Y - 11, Mirror);
+      r_AnimationState_Draw(ID, p.PunchAnim, fX + IfThen(p.Direction = TDirection.D_LEFT, 15 - p.Obj.Rect.X, p.Obj.Rect.X - 15), fY + fSlope + p.Obj.Rect.Y - 11, 0, Mirror, False);
     end;
 
     if (p.FMegaRulez[MR_INVUL] > gTime) and ((gPlayerDrawn <> p) or (p.SpawnInvul >= gTime)) then