feat(meta): Add CMloInstanceDef support

This commit is contained in:
Jérémie N'gadi
2017-12-31 00:41:18 +01:00
Unverified
parent 91712e7867
commit eac931c403
3 changed files with 50 additions and 6 deletions
+19 -6
View File
@@ -592,7 +592,24 @@ namespace CodeWalker.GameFiles
}
}
mapdata.entities = mb.AddItemPointerArrayPtr(MetaName.CEntityDef, CEntityDefs);
MetaPOINTER[] ptrs = new MetaPOINTER[AllEntities.Length];
for (int i = 0; i < AllEntities.Length; i++)
{
if (AllEntities[i].MloInstance != null)
{
ptrs[i] = mb.AddItemPtr(MetaName.CMloInstanceDef, AllEntities[i].MloInstance.Instance);
}
else
{
ptrs[i] = mb.AddItemPtr(MetaName.CEntityDef, AllEntities[i].CEntityDef);
}
}
mapdata.entities = mb.AddPointerArray(ptrs);
//mapdata.entities = mb.AddItemPointerArrayPtr(MetaName.CEntityDef, CEntityDefs);
mapdata.timeCycleModifiers = mb.AddItemArrayPtr(MetaName.CTimeCycleModifier, CTimeCycleModifiers);
@@ -600,11 +617,6 @@ namespace CodeWalker.GameFiles
mapdata.carGenerators = mb.AddItemArrayPtr(MetaName.CCarGen, CCarGens);
if (CMloInstanceDefs != null)
{
LogSaveWarning("CMloInstanceDefs were present, may not save properly. (TODO!)");
}
//clear everything out for now - TODO: fix
if (mapdata.containerLods.Count1 != 0) LogSaveWarning("containerLods were not saved. (TODO!)");
if (mapdata.occludeModels.Count1 != 0) LogSaveWarning("occludeModels were not saved. (TODO!)");
@@ -646,6 +658,7 @@ namespace CodeWalker.GameFiles
mb.AddStructureInfo(MetaName.CBlockDesc);
mb.AddStructureInfo(MetaName.CMapData);
mb.AddStructureInfo(MetaName.CEntityDef);
mb.AddStructureInfo(MetaName.CMloInstanceDef);
mb.AddStructureInfo(MetaName.CTimeCycleModifier);
if ((CCarGens != null) && (CCarGens.Length > 0))
{