anchor.diff:        end;
   
         // add child node to buffer
  -      {$ifdef CPUX86}Store.{$endif}Buffer[(NodeFlags shr COUNTER_OFFSET) and 7] := ChildNode;
  +      {$ifdef CPUX86}
  +      Buffer := @Store.Buffer;
  +      {$endif}
  +      Buffer[(NodeFlags shr COUNTER_OFFSET) and 7] := ChildNode;
         Inc(NodeFlags, (1 shl COUNTER_OFFSET));
   
         // goto nextchild_continue;
  
positive.code:     FTileWeightLimitDiagonal := FTileWeightLimitLine;
      FTileWeightMinimumLine := 1;
      FTileWeightMinimumDiagonal := 1;
      FInfo.TileWeights[0] := FInfo.TileWeights[1];
    end else
    begin
      FTileWeightScaleDiagonal := SQRT2 * FTileWeightScaleLine;
  
negative.code:   Store.Flags := CalculatePathLoopFlags(NativeInt(FKind), Cardinal(StartNode.Coordinates), Cardinal(Self.FInfo.FinishPoint));
  
    // information copy
    Store.CardinalsDiagonal := @Self.FActualInfo.Weights.CardinalsDiagonal;
    Move(Self.FInfo, Store.Info,
      (SizeOf(Store.Info) - 32 * SizeOf(Pointer)) +
      (Self.FInfo.NodeAllocator.Count * SizeOf(Pointer)) );
  