anchor.diff:  
   procedure TMapObjectTemplate.OnOwnerChanged(ATiles: TTiles; op: TFPObservedOperation);
   var
  -  i, j, x, y: Integer;
  +  i, j, x, y, shift: Integer;
     line: String;
   
     t: PMapTile;
  
positive.code:   ACTIVE_COLOR: TRBGAColor = (r:255; g:255; b:0; a:128);
    BLOCKED_COLOR: TRBGAColor = (r:255; g:0; b:0; a:128);
  var
    i, j: Integer;
    line: String;
  begin
    CurrentContextState.SetTranslation((FOwner.X - mask_w + 1 ) * TILE_SIZE, (FOwner.Y - mask_h + 1) * TILE_SIZE);
  
negative.code:     line := Mask[i-1];
      y := FOwner.Y - mask_h + i;
  
      shift := Length(line);
  
      for j := 1 to Length(line) do
      begin
        x := FOwner.X + j - shift;
  
        if (x>0) and (y>0) and (x < length(ATiles)) and (y < length(ATiles[x])) then
        begin
  