X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fopengl%2Fr_player.pas;h=7e047f9a1752bacee291e6cdcc33ff55726bd4ea;hb=9dd658c29584dad15efd3e379fee8f1f86ce2458;hp=650aa225c859749b644559a233aa04cb755fbbc0;hpb=ae9f71c24837ae555baef3eaf8ebe06152cfe9e0;p=d2df-sdl.git diff --git a/src/game/opengl/r_player.pas b/src/game/opengl/r_player.pas index 650aa22..7e047f9 100644 --- a/src/game/opengl/r_player.pas +++ b/src/game/opengl/r_player.pas @@ -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