anchor.diff:      property State[const aY,aX: Word]: TKMBuildState read GetState write SetState;
       property StateIdx[const aIdx: Word]: TKMBuildState read GetStateFromIdx;
       property Distance[const aPoint: TKMPoint]: Word read GetDistance;
  +    property DistanceInitPoint[const aPoint: TKMPoint]: Word read GetDistanceInitPoint;
       property Next[const aY,aX: Word]: Word read GetNext write SetNext;
       property Locs: TKMPointList read fLocs write fLocs;
       property HouseRequirements: TKMHouseRequirements read fHouseReq write fHouseReq;
  
positive.code:   MIN_SCAN_DIST_FROM_HOUSE = 2; // Houses must have at least 1 tile of space between them
  
  var
    GA_EYE_GetForests_SPRndOwnLimMin : Single = 148;
    GA_EYE_GetForests_SPRndOwnLimMax : Single = 65;
    GA_EYE_GetForests_InflLimit      : Single = 231.602;
    GA_EYE_GetForests_MinTrees       : Single = 3.11;
    GA_EYE_GetForests_Radius         : Single = 5.0698;     
  
  
  type
  
negative.code:   with fInfoArr[aIdx] do
    begin
      VisitedHouse := fVisitIdxHouse;
      DistanceInitPoint := aDistance;
  
      Point := KMPoint(aX,aY);
      if CanBePlacedHouse(Point) then
  