Beispiel #1
0
        private void SetXML(VoiceList vl, string file)
        {
            VoiceList t1;

            if (File.Exists(file))
            {
                using (FileStream fileStream = new FileStream(file, FileMode.Open))
                    t1 = Voices.Util.Deserialise <VoiceList>((Stream)fileStream);
            }
            else
            {
                t1 = new VoiceList()
                {
                    Entries = new List <VoiceEntry>()
                }
            };
            fTools.DummyEntries t2 = new fTools.DummyEntries()
            {
                Entries = new List <VoiceEntry>()
            };
            foreach (VoiceEntry entry in vl.Entries)
            {
                VoiceEntry e          = entry;
                VoiceEntry voiceEntry = t1.Entries.Find((Predicate <VoiceEntry>)(ve => ve.DID == e.DID && (ve.SID ?? string.Empty).Equals(e.SID ?? string.Empty)));
                if (voiceEntry != null)
                {
                    voiceEntry.Dialogue = e.Dialogue;
                }
                else if (e.Dialogue.Contains <char>('“'))
                {
                    t1.Entries.Add(e);
                }
                else
                {
                    t2.Entries.Add(e);
                }
            }
            using (FileStream fileStream = new FileStream(file, FileMode.Create))
                Voices.Util.Serialise <VoiceList>(t1, (Stream)fileStream);
            if (!t2.Entries.Any <VoiceEntry>())
            {
                return;
            }
            XmlDocument xmlDocument1 = new XmlDocument();

            xmlDocument1.Load(file);
            MemoryStream memoryStream = new MemoryStream();

            Voices.Util.Serialise <fTools.DummyEntries>(t2, (Stream)memoryStream);
            memoryStream.Position = 0L;
            XmlDocument xmlDocument2 = new XmlDocument();

            xmlDocument2.Load((Stream)memoryStream);
            string     data    = "The following entries don't look like dialogue. You can uncomment them if they are needed.\n\n\t" + xmlDocument2.SelectSingleNode("/DummyEntries").InnerXml.Replace("--", "~~").Replace("<Entry", "\n\t<Entry") + "\n";
            XmlComment comment = xmlDocument1.CreateComment(data);

            xmlDocument1.SelectSingleNode("/VoiceList").AppendChild((XmlNode)comment);
            xmlDocument1.Save(file);
        }
Beispiel #2
0
 public PropertyEditorVoiceName(VoiceEntry entry, MainWindow parent)
 {
     InitializeComponent();
     Voice = new VoiceEntry()
     {
         ID           = entry.ID,
         KnownName    = entry.KnownName,
         PreferedName = entry.PreferedName,
         UnknownName  = entry.UnknownName
     };
     OldVoice    = entry;
     _parent     = parent;
     DataContext = this;
 }
 private bool isSigleLineValid(VoiceEntry entryToValidate)
 {
     if (entryToValidate.filename == null || entryToValidate.filename == "")
     {
         MessageBox.Show("Filename is empty. If moving forward this entry will be ignored.\n Entry comment: " + entryToValidate.comment + "\n Entry TTS: " + entryToValidate.TTSText);
     }
     //else if (entryToValidate.filename.Length > 7 || entryToValidate.filename.Any(char.IsUpper))
     //{
     //    MessageBox.Show("Filename is too long or contains uppercase letters. (max 7 lower case characters) If moving forward this file will not be selectable from within the transmitter.\n Entry filename: " + entryToValidate.filename + "\n Entry comment: " + entryToValidate.comment + "\n Entry TTS: " + entryToValidate.TTSText);
     //}
     else if (entryToValidate.TTSText == null || entryToValidate.TTSText == "")
     {
         MessageBox.Show("TTS Text is empty for:\n Entry filename: " + entryToValidate.filename + "\n Entry comment: " + entryToValidate.comment);
     }
     else
     {
         return(true);
     }
     return(false);
 }
        public void aLoad(Stream fileStream)
        {
            base.Load(fileStream);
            var reader = new ExtendedBinaryReader(fileStream);
            var array  = Instructions[0].GetArgument <byte[]>(1);

            for (int i = 0; i < array.Length / 4; ++i)
            {
                int address = BitConverter.ToInt32(array, i * 4);
                SystemText.Add(reader.ReadStringElsewhere(address));
            }
            array = Instructions[1].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x6C; ++i)
            {
                int nameAddress = BitConverter.ToInt32(array, i * 0x6C);
                var entry       = new CGEntry();
                entry.Name          = reader.ReadStringElsewhere(nameAddress);
                entry.ID            = BitConverter.ToInt32(array, i * 0x6C + 0x0004);
                entry.CGID          = BitConverter.ToInt32(array, i * 0x6C + 0x0008);
                entry.CGID2         = BitConverter.ToInt32(array, i * 0x6C + 0x000C);
                entry.Unknown5      = BitConverter.ToUInt32(array, i * 0x6C + 0x0010);
                entry.Unknown6      = BitConverter.ToUInt16(array, i * 0x6C + 0x0014);
                entry.TextureWidth  = BitConverter.ToInt16(array, i * 0x6C + 0x0016);
                entry.TextureHeight = BitConverter.ToInt16(array, i * 0x6C + 0x0018);
                entry.Unknown7      = BitConverter.ToUInt16(array, i * 0x6C + 0x001A);
                entry.Unknown81     = array[i * 0x6C + 0x001C];
                entry.Unknown82     = array[i * 0x6C + 0x001D];
                entry.Unknown83     = array[i * 0x6C + 0x001E];
                entry.Page          = array[i * 0x6C + 0x001F];
                entry.FrameCount    = array[i * 0x6C + 0x0020];
                entry.GameID        = (GameID)array[i * 0x6C + 0x0021];
                entry.Unknown93     = array[i * 0x6C + 0x0022];
                entry.Unknown94     = array[i * 0x6C + 0x0023];
                entry.Unknown10     = BitConverter.ToUInt32(array, i * 0x6C + 0x0024);
                entry.Unknown11     = BitConverter.ToUInt32(array, i * 0x6C + 0x0028);
                entry.Unknown12     = BitConverter.ToUInt32(array, i * 0x6C + 0x002C);
                entry.Unknown13     = BitConverter.ToUInt32(array, i * 0x6C + 0x0030);
                entry.Unknown14     = BitConverter.ToUInt32(array, i * 0x6C + 0x0034);
                entry.Unknown15     = BitConverter.ToUInt32(array, i * 0x6C + 0x0038);
                entry.Unknown16     = BitConverter.ToUInt32(array, i * 0x6C + 0x003C);
                entry.Unknown17     = BitConverter.ToUInt32(array, i * 0x6C + 0x0040);
                entry.Unknown18     = BitConverter.ToUInt32(array, i * 0x6C + 0x0044);
                entry.Unknown19     = BitConverter.ToUInt32(array, i * 0x6C + 0x0048);
                entry.Unknown20     = BitConverter.ToUInt32(array, i * 0x6C + 0x004C);
                entry.Unknown21     = BitConverter.ToUInt32(array, i * 0x6C + 0x0050);
                entry.Unknown22     = BitConverter.ToUInt32(array, i * 0x6C + 0x0054);
                entry.Unknown23     = BitConverter.ToUInt32(array, i * 0x6C + 0x0058);
                entry.Unknown24     = BitConverter.ToUInt32(array, i * 0x6C + 0x005C);
                entry.Unknown25     = BitConverter.ToUInt32(array, i * 0x6C + 0x0060);
                entry.Unknown26     = BitConverter.ToUInt32(array, i * 0x6C + 0x0064);
                entry.Unknown27     = BitConverter.ToUInt32(array, i * 0x6C + 0x0068);
                CGs.Add(entry);
            }

            array = Instructions[2].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x10; ++i)
            {
                var entry = new MovieEntry();
                entry.FriendlyName = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 0));
                entry.FilePath     = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 4));
                entry.ID           = BitConverter.ToInt32(array, i * 0x10 + 8);
                entry.Unknown4     = array[i * 0x10 + 12];
                entry.GameID       = (GameID)array[i * 0x10 + 13];
                entry.Unknown5     = BitConverter.ToInt16(array, i * 0x10 + 14);
                Movies.Add(entry);
            }

            array = Instructions[3].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x10; ++i)
            {
                var entry = new MemoryEntry();
                entry.Name        = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 0));
                entry.Description = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 4));
                entry.ID          = BitConverter.ToInt32(array, i * 0x10 + 8);
                entry.GameID      = (GameID)array[i * 0x10 + 12];
                entry.Game        = (MemoryEntry.MemoryGame)array[i * 0x10 + 13];
                Memories.Add(entry);
            }

            array = Instructions[4].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x08; ++i)
            {
                var entry = new CharacterEntry();
                entry.FriendlyName = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x08 + 0));
                entry.ID           = BitConverter.ToInt32(array, i * 0x08 + 4);
                Characters.Add(entry);
            }
            array = Instructions[5].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x08; ++i)
            {
                var entry = new Unknown2Entry();
                entry.Unknown1 = BitConverter.ToInt32(array, i * 0x08 + 0);
                entry.Unknown2 = BitConverter.ToInt32(array, i * 0x08 + 4);
                Unknown2.Add(entry);
            }
            array = Instructions[6].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x06; ++i)
            {
                var entry = new Unknown3Entry();
                entry.ID       = BitConverter.ToInt16(array, i * 0x06 + 0);
                entry.Unknown2 = BitConverter.ToInt32(array, i * 0x06 + 2);
                Unknown3.Add(entry);
            }
            array = Instructions[7].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x10; ++i)
            {
                var entry = new VoiceEntry();
                entry.UnknownName  = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 0));
                entry.KnownName    = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 4));
                entry.PreferedName = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x10 + 8));
                entry.ID           = BitConverter.ToInt32(array, i * 0x10 + 12);
                Voices.Add(entry);
            }
            array = Instructions[8].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x06; ++i)
            {
                var entry = new Unknown4Entry();
                entry.Unknown1 = BitConverter.ToInt16(array, i * 0x06 + 0);
                entry.Unknown2 = BitConverter.ToInt32(array, i * 0x06 + 2);
                Unknown4.Add(entry);
            }
            array = Instructions[9].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x14; ++i)
            {
                var entry = new ArtBookPageEntry();
                entry.PagePathThumbnail = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x14 + 0));
                entry.PagePathData      = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x14 + 4));
                entry.Name   = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x14 + 8));
                entry.ID     = BitConverter.ToInt32(array, i * 0x14 + 12);
                entry.GameID = (GameID)BitConverter.ToInt16(array, i * 0x14 + 16);
                entry.Page   = BitConverter.ToInt16(array, i * 0x14 + 18);
                ArtBookPages.Add(entry);
            }
            array = Instructions[10].GetArgument <byte[]>(1);
            for (int i = 0; i < array.Length / 0x1C; ++i)
            {
                var entry = new DramaCDEntry();
                entry.FileName      = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x1C + 0));
                entry.FriendlyName  = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x1C + 4));
                entry.SourceAlbum   = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x1C + 8));
                entry.InternalName  = reader.ReadStringElsewhere(BitConverter.ToInt32(array, i * 0x1C + 12));
                entry.ID            = BitConverter.ToInt16(array, i * 0x1C + 16);
                entry.Game          = (GameID)BitConverter.ToInt16(array, i * 0x1C + 18);
                entry.Unknown7      = BitConverter.ToInt16(array, i * 0x1C + 20);
                entry.SourceTrackID = BitConverter.ToInt16(array, i * 0x1C + 22);
                entry.Unknown9      = BitConverter.ToInt16(array, i * 0x1C + 24);
                DramaCDs.Add(entry);
            }

            return;
        }