anchor.diff:  begin
     fCountCompact := 0;
     for I := 0 to gRes.MapElements.Count - 1 do
  -    if (I <> OBJ_BLOCK) and (gMapElements[I].Anim.Count > 0) and (gMapElements[I].Anim.Step[1] > 0)
  +    if (I <> OBJ_BLOCK_TAG) and (gMapElements[I].Anim.Count > 0) and (gMapElements[I].Anim.Step[1] > 0)
         and (gMapElements[I].Stump = -1) then //Hide falling trees and invisible wall (61)
       begin
         fCompactToMapElem[fCountCompact] := I; //pointer
  
positive.code:   // Update palette buttons Down state
    for I := 0 to fCountCompact - 1 do
      ObjectsPaletteTable[I].Down := (gGameCursor.Mode = cmObjects)
                                  and not (gGameCursor.Tag1 in [OBJ_NONE, OBJ_BLOCK])
                                  and (ObjectsPaletteTable[I].Tag = fMapElemToCompact[gGameCursor.Tag1]);
  end;
  
  
negative.code: 
      Button_ObjPaletteErase := TKMButtonFlat.Create(PopUp_ObjectsPalette, 0, 0, OBJ_CELL_W, 32, 340);
      Button_ObjPaletteErase.Hint := gResTexts[TX_MAPED_TERRAIN_OBJECTS_REMOVE];
      Button_ObjPaletteErase.Tag := OBJ_NONE_TAG; //no object
      Button_ObjPaletteErase.OnClickShift := ObjPalette_ClickShift;
  
      Button_ObjPaletteBlock := TKMButtonFlat.Create(PopUp_ObjectsPalette, 0, 0, OBJ_CELL_W, 32, 254, rxTrees);
      Button_ObjPaletteBlock.Hint := gResTexts[TX_MAPED_TERRAIN_OBJECTS_BLOCK];
      Button_ObjPaletteBlock.Tag := OBJ_BLOCK_TAG; //block object
      Button_ObjPaletteBlock.OnClickShift := ObjPalette_ClickShift;
  
      Button_ClosePalette  := TKMButton.Create(PopUp_ObjectsPalette, PopUp_ObjectsPalette.Center.X - 100, PopUp_ObjectsPalette.Bottom - 50,
  