Fix MLO Instance Data
Fixing MLO Instance Data - groupId, floorId, defaultEntitySets*, numExitPortals, MLOInstflags.
*There is a bug with defaultEntitySets - it is not possible to get and set data items, for example in vanilla files v_metro_interior_metro_station_3_seoul_milo__3.ymap, probably incorrect offset, parsing, etc, we get null: https://github.com/dexyfex/CodeWalker/blob/c45ea837330864c03ca5f355fd38affab85e46c5/CodeWalker.Core/GameFiles/FileTypes/YmapFile.cs#L301
mloi could be null
I couldn't figure out how to solve this. I wanted to suggest that probably getting zero instead of data is a problem from the end. I also didn't find a version of CW where the logic you conceived with defaultEntitySets would work. Now CW can't get an array of vanilla data defaultEntitySets, but it can set data, but probably in a different place. When reading again, the data will be read from a different place.
@dexyfex GetUintArray returns null due to StructureNameHash mismatch (expected 21/UINT, got 74) in the data block. v_metro_interior_metro_station_3_seoul_milo__3.ymap
@dexyfex So, I fixed defaultEntitySets, now it works. I also noticed that CMloInstanceDefs[i].defaultEntitySets.PointerDataIndex changes after resaving, the input was 3, after 1, is this how it should be?
All MLO Instance Data gets:
BEFORE/AFTER
And sets: