diff --git a/src/game/g_player.pas b/src/game/g_player.pas
index 23570cc87a246320d55d04086b925fdeb57ab63c..1c9996dc526f307bfadbf96abf618f1108bdf441 100644 (file)
--- a/src/game/g_player.pas
+++ b/src/game/g_player.pas
uses
e_log, g_map, g_items, g_console, SysUtils, g_gfx, Math,
- g_options, g_triggers, g_menu, MAPDEF, g_game,
- wadreader, g_main, g_monsters, CONFIG, g_language, g_net, g_netmsg;
+ g_options, g_triggers, g_menu, MAPDEF, g_game, g_grid,
+ wadreader, g_main, g_monsters, CONFIG, g_language,
+ g_net, g_netmsg;
type
TBotProfile = record
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, true) then
+ 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);
begin
e_DrawLine(sz, ax0, ay0, ex, ey, 0, 0, 255, 96);
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
+ begin
+ e_DrawLine(2, ax0, ay0, ex, ey, 255, 255, 0, 96);
+ end
+ else
+ begin
+ e_DrawLine(2, ax0, ay0, ex, ey, 255, 127, 0, 96);
+ end;
end;
var