예제 #1
0
        private void ConvertPsoToXml()
        {
            string inputFileName  = arguments[0];
            string outputFileName = inputFileName + ".xml";

            var reader   = new PsoReader();
            var meta     = reader.Read(inputFileName);
            var exporter = new PsoXmlExporter();

            exporter.HashMapping = new Dictionary <int, string>();
            AddHashForStrings(exporter, "MetaTool.Lists.FileNames.txt");
            AddHashForStrings(exporter, "MetaTool.Lists.MetaNames.txt");
            exporter.Export(meta, outputFileName);
        }
예제 #2
0
        private void AddHashForStrings(PsoXmlExporter exporter, string resourceFileName)
        {
            var assembly = Assembly.GetExecutingAssembly();

            using (Stream namesStream = assembly.GetManifestResourceStream(resourceFileName))
                using (StreamReader namesReader = new StreamReader(namesStream))
                {
                    while (!namesReader.EndOfStream)
                    {
                        string name = namesReader.ReadLine();
                        uint   hash = Jenkins.Hash(name);
                        if (!exporter.HashMapping.ContainsKey((int)hash))
                        {
                            exporter.HashMapping.Add((int)hash, name);
                        }
                    }
                }
        }
예제 #3
0
        private void ConvertPsoToXml()
        {
            string inputFileName  = arguments[0];
            string outputFileName = inputFileName + ".pso.xml";

            var reader   = new PsoReader();
            var meta     = reader.Read(inputFileName);
            var exporter = new PsoXmlExporter();

            exporter.HashMapping = new Dictionary <int, string>();
            AddHashForStrings(exporter.HashMapping, "MetaTool.Lists.PsoTypeNames.txt");
            AddHashForStrings(exporter.HashMapping, "MetaTool.Lists.PsoFieldNames.txt");
            AddHashForStrings(exporter.HashMapping, "MetaTool.Lists.PsoEnumValues.txt");
            AddHashForStrings(exporter.HashMapping, "MetaTool.Lists.PsoCommon.txt");
            AddHashForStrings(exporter.HashMapping, "MetaTool.Lists.FileNames.txt");
            AddHashForStrings(exporter.HashMapping, "MetaTool.Lists.PsoCollisions.txt");
            AddHashForUserStrings(exporter.HashMapping, "UserDictionary.txt");
            exporter.Export(meta, outputFileName);
        }