diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index b99c03dd7533081b58204981872a584b8f55a46a..181d7da5c090f1c306c562bd3901f5e7e8df3753 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
procedure ReleaseKeys();
procedure SetModel(ModelName: String);
procedure SetColor(Color: TRGB);
+ function GetColor(): TRGB;
procedure SetWeapon(W: Byte);
function IsKeyPressed(K: Byte): Boolean;
function GetKeys(): Byte;
procedure DrawPickup();
procedure DrawRulez();
procedure DrawAim();
- procedure DrawIndicator();
+ procedure DrawIndicator(Color: TRGB);
procedure DrawBubble();
procedure DrawGUI();
procedure Update(); virtual;
if FModel <> nil then FModel.Color := Color;
end;
+function TPlayer.GetColor(): TRGB;
+begin
+ result := FModel.Color;
+end;
+
procedure TPlayer.SwitchTeam;
begin
if g_Game_IsClient then
inherited;
end;
-procedure TPlayer.DrawIndicator();
+procedure TPlayer.DrawIndicator(Color: TRGB);
var
indX, indY: Integer;
indW, indH: Word;
ID: DWORD;
+ c: TRGB;
begin
if FAlive then
+ begin
+ if g_Texture_Get('TEXTURE_PLAYER_INDICATOR', ID) then
begin
- if g_Texture_Get('TEXTURE_PLAYER_INDICATOR', ID) then
- begin
- e_GetTextureSize(ID, @indW, @indH);
- indX := FObj.X + FObj.Rect.X + (FObj.Rect.Width - indW) div 2;
- indY := FObj.Y;
- e_Draw(ID, indX, indY - indH, 0, True, False);
- end;
+ e_GetTextureSize(ID, @indW, @indH);
+ indX := FObj.X + FObj.Rect.X + (FObj.Rect.Width - indW) div 2;
+ indY := FObj.Y;
+
+ c := e_Colors;
+ e_Colors := Color;
+ e_Draw(ID, indX, indY - indH, 0, True, False);
+ e_Colors := c;
end;
+ end;
//e_TextureFontPrint(indX, indY, FName, gStdFont); // Shows player name overhead
end;
exit;
if (FMegaRulez[MR_SUIT] > gTime) or (FMegaRulez[MR_INVUL] > gTime) then
exit; // Íå çàãîðàåìñÿ êîãäà åñòü çàùèòà
+ if g_Obj_CollidePanel(@FObj, 0, 0, PANEL_WATER or PANEL_ACID1 or PANEL_ACID2) then
+ exit; // Íå ïîäãîðàåì â âîäå íà âñÿêèé ñëó÷àé
if FFireTime <= 0 then
g_Sound_PlayExAt('SOUND_IGNITE', FObj.X, FObj.Y);
FFireTime := Timeout;