protected override void OnWrite(VoidPtr address)
        {
            sMiscUnknown10Entry *data = (sMiscUnknown10Entry *)address;

            foreach (MiscUnk10Entry e in _entries)
            {
                e.Write(data++);
            }

            RebuildAddress = data;

            sMiscUnknown10 *header = (sMiscUnknown10 *)data;

            header->_haveNBoneIndex1 = _haveNBoneIndex1;
            header->_haveNBoneIndex2 = _haveNBoneIndex2;
            header->_throwNBoneIndex = _throwNBoneIndex;
            header->_pad             = _pad;
            header->_haveNBoneIndex3 = _haveNBoneIndex3;

            //Values are switched on purpose
            header->_list._startOffset = _entries.Count;
            header->_list._listCount   = _entries.Count > 0 ? Offset(address) : 0;

            if (header->_list._listCount > 0)
            {
                Lookup(&header->_list._listCount);
            }
        }
        protected override void OnParse(VoidPtr address)
        {
            sMiscUnknown10Entry *hdr = (sMiscUnknown10Entry *)address;

            _unk1 = hdr->_unk1;
            _unk2 = hdr->_unk2;
            _pad1 = hdr->_pad1;
            _pad2 = hdr->_pad2;
        }
        protected override void OnWrite(VoidPtr address)
        {
            RebuildAddress = address;
            sMiscUnknown10Entry *header = (sMiscUnknown10Entry *)address;

            header->_unk1 = _unk1;
            header->_unk2 = _unk2;
            header->_pad1 = _pad1;
            header->_pad2 = _pad2;
        }