Ejemplo n.º 1
0
        private string ReadCutsceneEntry(ResourceEntry entry, XmlWriter writer, string SDSFolder)
        {
            CutsceneResource Resource = new CutsceneResource();

            using (MemoryStream stream = new MemoryStream(entry.Data))
            {
                Resource.Deserialize(entry.Version, stream, _Endian);
            }

            // Write all EntityRecords to individual files
            writer.WriteElementString("GCRNum", Resource.GCREntityRecords.Length.ToString());
            foreach (var Record in Resource.GCREntityRecords)
            {
                File.WriteAllBytes(Path.Combine(SDSFolder, Record.Name), Record.Content);
                writer.WriteElementString("Name", Record.Name);
            }

            writer.WriteElementString("Version", entry.Version.ToString());
            writer.WriteEndElement();

            return(SDSFolder);
        }
Ejemplo n.º 2
0
        private ResourceEntry WriteCutsceneEntry(ResourceEntry entry, XPathNodeIterator nodes, string SDSFolder, XmlNode descNode)
        {
            // Read contents from SDSContent.xml
            nodes.Current.MoveToNext();
            int NumGCRs = nodes.Current.ValueAsInt;

            nodes.Current.MoveToNext();

            // construct new resource
            CutsceneResource Resource = new CutsceneResource();

            Resource.GCREntityRecords = new CutsceneResource.GCRResource[NumGCRs];

            for (int i = 0; i < NumGCRs; i++)
            {
                string Name = nodes.Current.Value;
                CutsceneResource.GCRResource Record = new CutsceneResource.GCRResource();

                string CombinedPath = Path.Combine(SDSFolder, Name);
                Record.Name    = Name;
                Record.Content = File.ReadAllBytes(CombinedPath);

                nodes.Current.MoveToNext();

                Resource.GCREntityRecords[i] = Record;
            }

            ushort version = ushort.Parse(nodes.Current.Value);

            using (MemoryStream stream = new MemoryStream())
            {
                Resource.Serialize(entry.Version, stream, _Endian);
                entry.Data = stream.ToArray();
            }

            entry.Version = version;

            return(entry);
        }