index 711ecc0ab42e4f9121cb304d9950360f94179729..11c98dab8a4fadd8f0f16fe4d7f506d92d942955 100644 (file)
--- a/src/game/g_monsters.pas
+++ b/src/game/g_monsters.pas
SysUtils, Classes,
mempool,
MAPDEF,
SysUtils, Classes,
mempool,
MAPDEF,
- g_basic, r_graphics, g_phys, g_textures, g_grid,
+ g_base, g_basic, g_phys, g_textures, g_grid,
g_saveload, g_panel, xprofiler;
const
g_saveload, g_panel, xprofiler;
const
g_language, g_netmsg, idpool, utils, xstreams;
g_language, g_netmsg, idpool, utils, xstreams;
+function g_Look(a, b: PObj; d: TDirection): Boolean;
+begin
+ if not gmon_dbg_los_enabled then begin result := false; exit; end; // always "wall hit"
+
+ if ((b^.X > a^.X) and (d = TDirection.D_LEFT)) or
+ ((b^.X < a^.X) and (d = TDirection.D_RIGHT)) then
+ begin
+ Result := False;
+ Exit;
+ end;
+
+ Result := g_TraceVector(a^.X+a^.Rect.X+(a^.Rect.Width div 2),
+ a^.Y+a^.Rect.Y+(a^.Rect.Height div 2),
+ b^.X+b^.Rect.X+(b^.Rect.Width div 2),
+ b^.Y+b^.Rect.Y+(b^.Rect.Height div 2));
+end;
// ////////////////////////////////////////////////////////////////////////// //
procedure g_Mons_ProfilersBegin ();
// ////////////////////////////////////////////////////////////////////////// //
procedure g_Mons_ProfilersBegin ();