예제 #1
0
        public LocaleStrings()
        {
            Application.Current.Dispatcher.Invoke(() =>
            {
                var window = new LocaleStringsWindow();

                window.Title = $"Viewing LocaleStrings: {Trb._fileName}";

                int i = 0;
                foreach (var info in Trb.Tsfl.Relc.StructInfos)
                {
                    Trb.SectFile.BaseStream.Seek(info.Offset, SeekOrigin.Begin);
                    uint stringOffset = Trb.SectFile.ReadUInt32();
                    Trb.SectFile.BaseStream.Seek(stringOffset, SeekOrigin.Begin);
                    string text = ReadHelper.ReadUnicodeString(Trb.SectFile);

                    ListViewItem item = new ListViewItem
                    {
                        Content = text
                    };

                    item.Tag = new LocaleString {
                        id      = i++,
                        pointer = info.Offset,
                        offset  = stringOffset,
                        text    = text
                    };

                    window.ListView.Items.Add(item);
                }

                window.ListView.Items.RemoveAt(window.ListView.Items.Count - 1);

                window.Show();
            });
        }