X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fgame%2Fg_holmes.pas;h=b6724a994d7c2fca015d85a67fbf8bbdb73584e1;hb=7934e57057ee8f016b900c0c53c97204ac776244;hp=6d52559b7e7c281d5743393e187c574be123dae2;hpb=0cab5ac674e5f2c6d78dfbef445cdf291c78b674;p=d2df-sdl.git diff --git a/src/game/g_holmes.pas b/src/game/g_holmes.pas index 6d52559..b6724a9 100644 --- a/src/game/g_holmes.pas +++ b/src/game/g_holmes.pas @@ -967,6 +967,8 @@ procedure plrDebugDraw (); procedure hilightCell1 (cx, cy: Integer); begin //e_WriteLog(Format('h1: (%d,%d)', [cx, cy]), MSG_NOTIFY); + cx := cx and (not (monsGrid.tileSize-1)); + cy := cy and (not (monsGrid.tileSize-1)); fillRect(cx, cy, monsGrid.tileSize, monsGrid.tileSize, 255, 255, 0, 92); end; @@ -1037,7 +1039,7 @@ procedure plrDebugDraw (); mon.getMapBox(mx, my, mw, mh); drawLine(mx+mw div 2, my+mh div 2, emx+emw div 2, emy+emh div 2, 255, 0, 0, 255); {$IF DEFINED(D2F_DEBUG)} - //mapGrid.dbgRayTraceTileHitCB := hilightCell1; + mapGrid.dbgRayTraceTileHitCB := hilightCell1; {$ENDIF} if (g_Map_traceToNearestWall(mx+mw div 2, my+mh div 2, emx+emw div 2, emy+emh div 2, @ex, @ey) <> nil) then //if (mapGrid.traceRay(ex, ey, mx+mw div 2, my+mh div 2, emx+emw div 2, emy+emh div 2, hilightWallTrc, (GridTagWall or GridTagDoor)) <> nil) then @@ -1045,7 +1047,7 @@ procedure plrDebugDraw (); drawLine(mx+mw div 2, my+mh div 2, ex, ey, 0, 255, 0, 255); end; {$IF DEFINED(D2F_DEBUG)} - //mapGrid.dbgRayTraceTileHitCB := nil; + mapGrid.dbgRayTraceTileHitCB := nil; {$ENDIF} end; @@ -1205,6 +1207,8 @@ procedure plrDebugDraw (); var mon: TMonster; mx, my, mw, mh: Integer; + //pan: TPanel; + //ex, ey: Integer; begin if (gPlayer1 = nil) then exit; @@ -1241,6 +1245,22 @@ begin //drawGibsBoxes(); + + //pan := g_Map_traceToNearest(16, 608, 16, 8, (GridTagObstacle or GridTagLiquid), @ex, @ey); + (* + {$IF DEFINED(D2F_DEBUG)} + mapGrid.dbgRayTraceTileHitCB := hilightCell1; + {$ENDIF} + pan := mapGrid.traceRay(ex, ey, 16, 608, 16, 8, nil, (GridTagObstacle or GridTagLiquid)); + if (pan <> nil) then writeln('end=(', ex, ',', ey, ')'); + {$IF DEFINED(D2F_DEBUG)} + mapGrid.dbgRayTraceTileHitCB := nil; + {$ENDIF} + + pan := g_Map_PanelAtPoint(16, 608, (GridTagObstacle or GridTagLiquid)); + if (pan <> nil) then writeln('hit!'); + *) + glPopMatrix(); glDisable(GL_SCISSOR_TEST);