anchor.diff:      LoadStream.Read(Land[i,k].IsVertexUnit,SizeOf(Land[i,k].IsVertexUnit));
     end;
   
  -  for i:=1 to MapY do for k:=1 to MapX do
  +  for i:=1 to fMapY do for k:=1 to fMapX do
       UpdateBorders(KMPoint(k,i),false);
   
  -  RebuildLighting(1, MapX, 1, MapY);
  -  RebuildPassability(1, MapX, 1, MapY);
  +  RebuildLighting(1, fMapX, 1, fMapY);
  +  RebuildPassability(1, fMapX, 1, fMapY);
     RebuildWalkConnect(wcWalk);
     RebuildWalkConnect(wcRoad);
     RebuildWalkConnect(wcFish);
  
positive.code: procedure TTerrain.RebuildPassability(LowX,HighX,LowY,HighY:integer);
  var i,k:integer;
  begin
    for i:=max(LowY,1) to min(HighY,MapY-1) do for k:=max(LowX,1) to min(HighX,MapX-1) do
      RecalculatePassability(KMPoint(k,i));
  end;
  
  
negative.code:   //Scan one tile further than the maximum radius due to rounding
    lx := max(round(aLoc.X-(MaxRad+1)),1); //1.42 gets rounded to 1
    ly := max(round(aLoc.Y-(MaxRad+1)),1); //1.42 gets rounded to 1
    hx := min(round(aLoc.X+(MaxRad+1)),fMapX); //1.42 gets rounded to 1
    hy := min(round(aLoc.Y+(MaxRad+1)),fMapY); //1.42 gets rounded to 1
  
    for i:=ly to hy do for k:=lx to hx do
    if (fPlayers.Player[aPlayer].FogOfWar.CheckTileRevelation(k,i) = 255)
  