Пример #1
0
        protected override bool OnInitialize()
        {
            RSARNode parent;

            //Find bank entry in rsar
            if ((_name == null) && ((parent = RSARNode) != null))
            {
                RSARHeader *rsar   = parent.Header;
                RuintList * list   = rsar->INFOBlock->Banks;
                VoidPtr     offset = &rsar->INFOBlock->_collection;
                SYMBHeader *symb   = rsar->SYMBBlock;

                int count = list->_numEntries;
                for (int i = 0; i < count; i++)
                {
                    INFOBankEntry *bank = (INFOBankEntry *)list->Get(offset, i);
                    if (bank->_fileId == _fileIndex)
                    {
                        _name = symb->GetStringEntry(bank->_stringId);
                        break;
                    }
                }
            }

            base.OnInitialize();

            ParseBlocks();

            return(true);
        }
Пример #2
0
        public override void OnRebuild(VoidPtr address, int length, bool force)
        {
            INFOBankEntry *header = (INFOBankEntry *)address;

            header->_stringId = _rebuildStringId;
            header->_fileId   = _fileId;
            header->_padding  = 0;
        }