OpenXcom currently works with the battlescape savegame already in a format where every of the 4 objects on a tile has two references: a mapdatasetID and a mapdataID. That last one is an ID within the mapdataset. This way you can add objects to any dataset you want without breaking the map itself.
- position: [44, 0, 0]
mapDataID: [21, -1, 7, -1]
mapDataSetID: [2, -1, 3, -1]
smoke: 0
fire: 0
discovered: [false, false, false]