diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index 1c9996dc526f307bfadbf96abf618f1108bdf441..ebbd2043e5fc69d7784346b031c5b51d804f637c 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
FDummy: Boolean;
FFireTime: Integer;
+ // debug: viewport offset
+ viewPortX, viewPortY, viewPortW, viewPortH: Integer;
+
+ function isValidViewPort (): Boolean; inline;
+
constructor Create(); virtual;
destructor Destroy(); override;
procedure Respawn(Silent: Boolean; Force: Boolean = False); virtual;
e_log, g_map, g_items, g_console, SysUtils, g_gfx, Math,
g_options, g_triggers, g_menu, MAPDEF, g_game, g_grid,
wadreader, g_main, g_monsters, CONFIG, g_language,
- g_net, g_netmsg;
+ g_net, g_netmsg, g_window, GL, g_holmes;
type
TBotProfile = record
{ T P l a y e r : }
+function TPlayer.isValidViewPort (): Boolean; inline; begin result := (viewPortW > 0) and (viewPortH > 0); end;
+
procedure TPlayer.BFGHit();
begin
g_Weapon_BFGHit(FObj.X+FObj.Rect.X+(FObj.Rect.Width div 2),
constructor TPlayer.Create();
begin
+ viewPortX := 0;
+ viewPortY := 0;
+ viewPortW := 0;
+ viewPortH := 0;
+
FIamBot := False;
FDummy := False;
FSpawned := False;
DrawAim();
end;
+
procedure TPlayer.DrawAim();
procedure drawCast (sz: Integer; ax0, ay0, ax1, ay1: Integer);
var
ex, ey: Integer;
- mon: TMonster;
- mx, my, mw, mh: Integer;
begin
- e_DrawLine(sz, ax0, ay0, ax1, ay1, 255, 0, 0, 96);
- if g_Map_traceToNearestWall(ax0, ay0, ax1, ay1, @ex, @ey) then
- begin
- e_DrawLine(sz, ax0, ay0, ex, ey, 0, 255, 0, 96);
- e_DrawPoint(4, ex, ey, 255, 127, 0);
- end
- else
+ if isValidViewPort and (self = gPlayer1) then
begin
- e_DrawLine(sz, ax0, ay0, ex, ey, 0, 0, 255, 96);
+ g_Holmes_plrLaser(ax0, ay0, ax1, ay1);
end;
- mon := g_Mons_ByIdx(0);
- mon.getMapBox(mx, my, mw, mh);
- ax1 := mx+mw div 2;
- ay1 := my+mh div 2;
- e_DrawLine(2, ax0, ay0, ax1, ay1, 0, 96, 96, 96);
-
- if lineAABBIntersects(ax0, ay0, ax1, ay1, mx, my, mw, mh, ex, ey) then
+ e_DrawLine(sz, ax0, ay0, ax1, ay1, 255, 0, 0, 96);
+ if (g_Map_traceToNearestWall(ax0, ay0, ax1, ay1, @ex, @ey) <> nil) then
begin
- e_DrawLine(2, ax0, ay0, ex, ey, 255, 255, 0, 96);
+ e_DrawLine(sz, ax0, ay0, ex, ey, 0, 255, 0, 96);
end
else
begin
- e_DrawLine(2, ax0, ay0, ex, ey, 255, 127, 0, 96);
+ e_DrawLine(sz, ax0, ay0, ex, ey, 0, 0, 255, 96);
end;
end;
end;
xx := Trunc(Cos(-DegToRad(angle)) * len) + wx;
yy := Trunc(Sin(-DegToRad(angle)) * len) + wy;
- {$IF FALSE}
- e_DrawLine(sz, wx, wy, xx, yy, 255, 0, 0, 96);
- {$ELSE}
+ {$IF DEFINED(D2F_DEBUG)}
drawCast(sz, wx, wy, xx, yy);
+ {$ELSE}
+ e_DrawLine(sz, wx, wy, xx, yy, 255, 0, 0, 96);
{$ENDIF}
end;