anchor.diff:  
       // CHILD_ARRAYS
       LookupLine;
  -    LookupLine('CHILD_ARRAYS: array[0..11{4 diagonal + 4 clockwise optional}] of TChildList = (');
  -    begin
  -      AddChildList(0, False, False);
  -      AddTwoChildLists(1, False);
  -      AddChildList(2, True, False);
  -      AddTwoChildLists(3, False);
  -      AddChildList(4, True, False);
  -      AddTwoChildLists(5, False);
  -      AddChildList(6, False, False);
  -      AddTwoChildLists(7, True);
  -    end;
  -    LookupLine(');');
  -
  -    // CHILD_ARRAYS_OFFSETS
  -    LookupLine;
  -    LookupLine('CHILD_ARRAYS_OFFSETS: array[0..63{parent:3,way:3}] of Byte = (');
  +    LookupLine('CHILD_ARRAYS: array[0..7{way}] of TChildList = (');
       for Way := 0 to 7 do
       begin
         WayX := (Way + 1) mod 3;
         WayY := (Way + 1) div 3;
   
  -      AddChildListOffsets(WayX, WayY, Way = 7);
  +      AddChildArray(WayX, WayY, Way = 7);
       end;
       LookupLine(');');
   
  
positive.code:   ChildList: TChildList;
    Child: PWord;
  
    procedure AddChild(const N: Integer);
    begin
      Child^ := CHILD_VALUES[(N + 8) and 7];
      Inc(Child);
  
negative.code:         // way (child list)
          if (WayBits <> -1) then
          begin
            ChildList := @CHILD_ARRAYS[WayBits];
            CellInfo := CellInfo + Format(', way: %d%d%d',
              [(ChildList[0] shr 4) and 7, (ChildList[1] shr 4) and 7, (ChildList[2] shr 4) and 7]);
          end;
  