Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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");
            }
        }
Ejemplo n.º 3
0
        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));
                }
            }
        }