public static void Extents(Ytyp[] ytypfiles, Ymap[] ymapfiles) { List <CBaseArchetypeDef> archetypeList = null; if (ytypfiles != null && ytypfiles.Length != 0) { archetypeList = Ytyp.Merge(ytypfiles).CMapTypes.archetypes; } if (ymapfiles != null && ymapfiles.Length != 0) { for (int i = 0; i < ymapfiles.Length; i++) { HashSet <string> missing = ymapfiles[i].UpdateExtents(archetypeList); if (missing?.Any() ?? false) { foreach (string name in missing) { Console.WriteLine("Missing CBaseArchetypeDef: " + name); } } ymapfiles[i].WriteXML().Save(ymapfiles[i].filename); Console.WriteLine("Updated extents for " + ymapfiles[i].filename); } } }
public static void Merge(Ytyp[] ytypfiles, Ymap[] ymapfiles) { if (ytypfiles != null && ytypfiles.Length != 0) { Ytyp.Merge(ytypfiles).WriteXML().Save("merged.ytyp.xml"); Console.WriteLine("Exported merged.ytyp.xml"); } if (ymapfiles != null && ymapfiles.Length != 0) { Ymap.Merge(ymapfiles).WriteXML().Save("merged.ymap.xml"); Console.WriteLine("Exported merged.ymap.xml"); } }
public static void Reset(Ytyp[] ytypfiles, Ymap[] ymapfiles) { List <CBaseArchetypeDef> archetypeList = null; if (ytypfiles != null && ytypfiles.Length != 0) { for (int i = 0; i < ytypfiles.Length; i++) { ytypfiles[i].UpdatelodDist(); foreach (CBaseArchetypeDef arc in ytypfiles[i].CMapTypes.archetypes) { arc.flags = 0; arc.specialAttribute = 0; } ytypfiles[i].WriteXML().Save(ytypfiles[i].filename); Console.WriteLine("Resetted " + ytypfiles[i].filename); } archetypeList = Ytyp.Merge(ytypfiles).CMapTypes.archetypes; } if (ymapfiles != null && ymapfiles.Length != 0) { for (int i = 0; i < ymapfiles.Length; i++) { ymapfiles[i].UpdatelodDist(archetypeList); ymapfiles[i].CMapData.block = new CBlockDesc(0, 0, "GTADrifting", "Neos7's MapTools", Environment.UserName); ymapfiles[i].CMapData.flags = 0; ymapfiles[i].CMapData.contentFlags = 1; foreach (CEntityDef ent in ymapfiles[i].CMapData.entities) { ent.flags = 0; ent.childLodDist = 0; } ymapfiles[i].WriteXML().Save(ymapfiles[i].filename); Console.WriteLine("Resetted " + (ymapfiles[i].filename)); } } }