diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index 45f9e6b5d80369ca2c9ea62ec458404871947ad1..23570cc87a246320d55d04086b925fdeb57ab63c 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
end;
procedure TPlayer.DrawAim();
+ procedure drawCast (sz: Integer; ax0, ay0, ax1, ay1: Integer);
+ var
+ ex, ey: Integer;
+ begin
+ e_DrawLine(sz, ax0, ay0, ax1, ay1, 255, 0, 0, 96);
+ if g_Map_traceToNearestWall(ax0, ay0, ax1, ay1, @ex, @ey, true) then
+ begin
+ e_DrawLine(sz, ax0, ay0, ex, ey, 0, 255, 0, 96);
+ e_DrawPoint(4, ex, ey, 255, 127, 0);
+ end
+ else
+ begin
+ e_DrawLine(sz, ax0, ay0, ex, ey, 0, 0, 255, 96);
+ end;
+ end;
+
var
wx, wy, xx, yy: Integer;
angle: SmallInt;
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}
+ drawCast(sz, wx, wy, xx, yy);
+ {$ENDIF}
end;
procedure TPlayer.DrawGUI();