public static void Write()
        {
            string         buildPath      = DataDirectory.GetBuildPath();
            Build          build          = new Build(buildPath);
            BuildTarget    qfBuildTarget  = BuildTargetFactory.Construct(BuildTargetFactory.QFName, build);
            BuildTarget    tifBuildTarget = BuildTargetFactory.Construct(BuildTargetFactory.TIFName, build);
            TES4Collection collection     = TES4CollectionFactory.Create(DataDirectory.GetESMDirectoryPath(), DataDirectory.TES4GameFileName);//Needs the "full" collection for SCRO lookups.

            using (ESMAnalyzer esmAnalyzer = ESMAnalyzer.Load(collection))
            {
                foreach (TES4Record record in collection.Where(r => r.RecordType == TES4RecordType.INFO))
                {
                    var      scroRecords = esmAnalyzer.GetTypesFromSCROEnumerable(record, null);
                    string[] aliases     = scroRecords.Select(r => r.Key).ToArray();
                    Write(qfBuildTarget, tifBuildTarget, record, null, aliases);
                }
                foreach (TES4Record record in collection.GetGrupRecords(TES4RecordType.QUST))
                {
                    Dictionary <StageIndexAndLogIndex, List <string> > aliasesDictionary = new Dictionary <StageIndexAndLogIndex, List <string> >();
                    foreach (var subrecord in record.GetSubrecordsWithStageIndexAndLogIndex("SCRO"))
                    {
                        int    formID = subrecord.Item1.Value.FirstFourBytesToInt();
                        string name   = formID == TES5PlayerReference.FormID ? TES5PlayerReference.PlayerRefName : esmAnalyzer.GetEDIDByFormID(formID);
                        aliasesDictionary.AddNewListIfNotContainsKeyAndAddValueToList(subrecord.Item2, name);
                    }
                    foreach (var aliases in aliasesDictionary)
                    {
                        Write(qfBuildTarget, tifBuildTarget, record, aliases.Key, aliases.Value);
                    }
                }
            }
        }
        public static void Write()
        {
            TES4Collection collection       = TES4CollectionFactory.CreateForScriptExporting(DataDirectory.GetESMDirectoryPath(), DataDirectory.TES4GameFileName);
            string         buildTargetsPath = DataDirectory.GetBuildTargetsPath();

            Write(collection, buildTargetsPath, "Standalone", "", false, null, true, TES4RecordType.SCPT);
            Write(collection, buildTargetsPath, "TIF", TES5ReferenceFactory.tif_Prefix, true, null, false, TES4RecordType.INFO);
            WriteWithIndexes(collection, buildTargetsPath, "QF", TES5ReferenceFactory.qf_Prefix, TES4RecordType.QUST);
        }
Example #3
0
        public static void Write()
        {
            TES4Collection           collection    = TES4CollectionFactory.CreateForQUSTReferenceAliasExporting(DataDirectory.GetESMDirectoryPath(), DataDirectory.TES4GameFileName);
            BuildTarget              qfBuildTarget = BuildTargetFactory.Construct(BuildTargetFactory.QFName, new Build(DataDirectory.GetBuildPath()));
            string                   sourcePath    = qfBuildTarget.GetSourcePath();
            IEnumerable <TES4Record> qustRecords   = collection.GetGrupRecords(TES4RecordType.QUST);

            foreach (TES4Record qust in qustRecords)
            {
                Write(sourcePath, qust);
            }
        }
        public static void Write()
        {
            BuildTarget              qfBuildTarget = BuildTargetFactory.Construct(BuildTargetFactory.QFName, new Build(DataDirectory.GetBuildPath()));
            string                   sourcePath    = qfBuildTarget.GetSourcePath();
            TES4Collection           collection    = TES4CollectionFactory.CreateForQUSTStageMapExportingFromESM(DataDirectory.GetESMDirectoryPath(), DataDirectory.TES4GameFileName);
            IEnumerable <TES4Record> qusts         = collection.GetGrupRecords(TES4RecordType.QUST);

            foreach (TES4Record qust in qusts)
            {
                string fileNameNoExt  = BuildTargetsWriter.GetFileNameNoExt(TES5ReferenceFactory.qf_Prefix, qust, true, null);
                string fileName       = fileNameNoExt + ".map";
                string mapFilePath    = sourcePath + Path.DirectorySeparatorChar + fileName;
                string contentsString = StageMapFromESMBuilder.BuildString(qust);
                FileWriter.WriteAllTextOrThrowIfExists(mapFilePath, contentsString);
            }
        }
        public static void Write()
        {
            BuildTarget qfBuildTarget  = BuildTargetFactory.Construct(BuildTargetFactory.QFName, new Build(DataDirectory.GetBuildPath()));
            string      transpiledPath = qfBuildTarget.GetTranspiledPath();
            string      sourcePath     = qfBuildTarget.GetSourcePath();

            foreach (string pscPath in Directory.EnumerateFiles(transpiledPath, "*.psc"))
            {
                Write(sourcePath, pscPath);
            }
            TES4Collection           collection  = TES4CollectionFactory.CreateForQUSTStageMapExportingFromPSCFiles(DataDirectory.GetESMDirectoryPath(), DataDirectory.TES4GameFileName);
            IEnumerable <TES4Record> qustRecords = collection.GetGrupRecords(TES4RecordType.QUST);

            foreach (TES4Record qust in qustRecords)
            {
                string path = sourcePath + BuildTargetsWriter.GetFileNameNoExt(TES5ReferenceFactory.qf_Prefix, qust, true, null) + ".map2";
                FileWriter.WriteAllTextIfNotExists(path, "");
            }
        }
 private static TES4Collection GetESM()
 {
     return(TES4CollectionFactory.Create(DataDirectory.GetESMDirectoryPath(), DataDirectory.TES4GameFileName));
 }