anchor.diff:        if count = NewPoint then
           break;
       end;
  -    Result[LocNum].X := Min(X << 4 + fRNG.RandomI(16), gTerrain.MapX-1);
  -    Result[LocNum].Y := Min(Y << 4 + fRNG.RandomI(16), gTerrain.MapY-1);
  +    Result[LocNum].X := Min(X << 4 + fRNG.RandomI(16), fMapX-1);
  +    Result[LocNum].Y := Min(Y << 4 + fRNG.RandomI(16), fMapY-1);
       FillDist(X, Y, 0, Dist);
     end;
   end;
  
positive.code: //  {
  //  if (Settings > 4) then
  //  begin
  //	for Y1 := 1 to gTerrain.MapY-1 do
  //		for X1 := 1 to gTerrain.MapX-1 do
  //    begin
  //      if (B[Y1,X1,0,0] < 0) then
  //        B[Y1,X1,0,0] := Byte(btDark);
  
negative.code:       A[Y+1,X+1] := Byte(btDark);
      end;
    end;
    SetLength(Visited,fMapY,fMapX);
    for i := Low(Visited) to High(Visited) do
      for j := Low(Visited[I]) to High(Visited[I]) do
        Visited[i,j] := False;
  