Пример #1
0
        protected xaSection4 ParseSection4()
        {
            if (reader.ReadByte() == 0)
            {
                return null;
            }

            xaSection4 section = new xaSection4();

            int numItemLists = reader.ReadInt32();
            section.ItemListList = new List<List<xaSection4Item>>(numItemLists);
            for (int i = 0; i < numItemLists; i++)
            {
                int numItems = reader.ReadInt32();
                List<xaSection4Item> itemList = new List<xaSection4Item>(numItems);
                section.ItemListList.Add(itemList);

                for (int j = 0; j < numItems; j++)
                {
                    xaSection4Item item = new xaSection4Item();
                    item.Unknown1 = reader.ReadBytes(104);
                    item.Unknown2 = reader.ReadBytes(4);
                    item.Unknown3 = reader.ReadBytes(64);
                }
            }

            return section;
        }
Пример #2
0
 protected void ParseSB3Format()
 {
     Format = BitConverter.ToInt32(Header, 0);
     MaterialSection = ParseMaterialSection();
     Section2 = ParseSection2();
     MorphSection = ParseMorphSection();
     if (Format >= 0x02)
     {
         Section4 = ParseSection4();
     }
     AnimationSection = ParseAnimationSection();
 }