anchor.diff:  begin
     P := ScreenToMap(X, Y);
     if (P.X < 0) or (P.X >= MAP_WIDTH) or (P.Y < 0) or (P.Y >= MAP_HEIGHT) then Exit;
  -  if (Sender <> nil) and (CursorPoint.X = P.X) and (CursorPoint.Y = P.Y) then Exit;
  +  if (Sender <> nil) and (FCursorPoint.X = P.X) and (FCursorPoint.Y = P.Y) then Exit;
     {$ifdef CPFDBG}
       {$WARN SYMBOL_PLATFORM OFF}
       if (System.DebugHook > 0) then
         Caption := TTileMapPtr(HMap).CellInformation(P.X, P.Y);
     {$endif}  
  -  LastCursorPoint := CursorPoint;
  -  CursorPoint := P;
  -  if (MousePressed = mbMiddle) then Exit;
  +  LastCursorPoint := FCursorPoint;
  +  FCursorPoint := P;
  +  if (FMousePressed = mbMiddle) then Exit;
   
     // points
  -  if (MousePressed = mbLeft) and (LastCursorPoint.X = StartPoint.X) and
  -    (LastCursorPoint.Y = StartPoint.Y) then
  +  if (FMousePressed = mbLeft) and (LastCursorPoint.X = FStartPoint.X) and
  +    (LastCursorPoint.Y = FStartPoint.Y) then
     begin
       FStartPoint := P;
       ExecutePathFinding;
       Exit;
     end;
  -  if (MousePressed = mbLeft) and (LastCursorPoint.X = FinishPoint.X) and
  -    (LastCursorPoint.Y = FinishPoint.Y) then
  +  if (FMousePressed = mbLeft) and (LastCursorPoint.X = FFinishPoint.X) and
  +    (LastCursorPoint.Y = FFinishPoint.Y) then
     begin
       FFinishPoint := P;
       ExecutePathFinding;
       Exit;
     end;
   
  -  if (MousePressed = mbLeft) then
  +  if (FMousePressed = mbLeft) then
     begin
       // tile
       if (TILE_MAP[P.Y, P.X] <> TileMode) then
  
positive.code:     sbTile2.Position := Round(1.5 * 20);
      sbTile3.Position := Round(2.5 * 20);
      sbTile4.Position := Round(6.0 * 20);
      StartPoint := Point(5, 9);
      FinishPoint := Point(24, 9);
      ExcludedPoints := nil;
      cbUseWeights.Checked := True;
      cbCaching.Checked := False;
      MapKind := mkSimple;
      cbSectorTest.Checked := True;
      seIterationsCount.Value := 1000;
    end;
  
    MapBitmap := BufMapBitmap;
    TileMode := 1;
    BarrierMode := 0;
    RecreateMap;
  end;
  
  
negative.code:     property BarrierMode: Byte read FBarrierMode write SetBarrierMode;
      property MapKind: TTileMapKind read FMapKind write SetMapKind;
      property StartPoint: TPoint read FStartPoint write SetStartPoint;
      property FinishPoint: TPoint read FFinishPoint write SetFinishPoint; 
    end;
  
  
  