Ejemplo n.º 1
0
        public void WriteToFile(XBinWriter writer)
        {
            writer.Write(GuiLanguageMap.Length);
            writer.Write(GuiLanguageMap.Length);

            long[] offsets = new long[GuiLanguageMap.Length];
            for (int i = 0; i < GuiLanguageMap.Length; i++)
            {
                GuiLanguageMapItem Item = GuiLanguageMap[i];
                StringHelpers.WriteStringBuffer(writer, 32, Item.LangCode);
                offsets[i] = writer.BaseStream.Position;
                writer.Write(0xDEADC0DE); // placeholder
                writer.Write(Item.HasAudioLayer);
            }

            for (int j = 0; j < GuiLanguageMap.Length; j++)
            {
                GuiLanguageMapItem Item = GuiLanguageMap[j];
                uint thisPosition       = (uint)(writer.BaseStream.Position);
                StringHelpers.WriteString(writer, Item.DisplayName);

                long currentPosition = writer.BaseStream.Position;
                writer.BaseStream.Position = offsets[j];
                var offset = (uint)(thisPosition - offsets[j]);
                writer.Write(offset);
                writer.BaseStream.Position = currentPosition;
            }
        }
Ejemplo n.º 2
0
        public void SetFromTreeNodes(TreeNode Root)
        {
            GuiLanguageMap = new GuiLanguageMapItem[Root.Nodes.Count];

            for (int i = 0; i < GuiLanguageMap.Length; i++)
            {
                TreeNode           ChildNode = Root.Nodes[i];
                GuiLanguageMapItem Entry     = (GuiLanguageMapItem)ChildNode.Tag;
                GuiLanguageMap[i] = Entry;
            }
        }
Ejemplo n.º 3
0
        public void ReadFromFile(BinaryReader reader)
        {
            uint count1 = reader.ReadUInt32();
            uint count2 = reader.ReadUInt32();

            GuiLanguageMap = new GuiLanguageMapItem[count1];

            for (int i = 0; i < GuiLanguageMap.Length; i++)
            {
                GuiLanguageMapItem Item = new GuiLanguageMapItem();
                Item.LangCode          = StringHelpers.ReadStringBuffer(reader, 32);
                Item.DisplayNameOffset = reader.ReadUInt32();
                Item.HasAudioLayer     = reader.ReadInt32();
                GuiLanguageMap[i]      = Item;
            }

            for (int i = 0; i < count1; i++)
            {
                var Item = GuiLanguageMap[i];
                Item.DisplayName  = StringHelpers.ReadStringEncoded(reader).TrimEnd('\0');
                GuiLanguageMap[i] = Item;
            }
        }