protected internal override void PostProcess(VoidPtr bresAddress, VoidPtr dataAddress, int dataLength, StringTable stringTable) { base.PostProcess(bresAddress, dataAddress, dataLength, stringTable); if (SharesData) { BRESCommonHeader *commonHeader = (BRESCommonHeader *)dataAddress; commonHeader->_size = InclusiveEntrySize(); } if (_version == 2) { TEX0v2 *header = (TEX0v2 *)dataAddress; header->ResourceStringAddress = stringTable[Name] + 4; if (!String.IsNullOrEmpty(_originalPath)) { header->OrigPathAddress = stringTable[_originalPath] + 4; } } else { TEX0v1 *header = (TEX0v1 *)dataAddress; header->ResourceStringAddress = stringTable[Name] + 4; if (!String.IsNullOrEmpty(_originalPath)) { header->OrigPathAddress = stringTable[_originalPath] + 4; } } }
internal protected virtual void PostProcess(VoidPtr bresAddress, VoidPtr dataAddress, int dataLength, StringTable stringTable) { BRESCommonHeader *header = (BRESCommonHeader *)dataAddress; if (bresAddress) { header->_bresOffset = (int)bresAddress - (int)header; } header->_size = dataLength; }
protected override void OnPopulate() { ResourceGroup *group = Group; for (int i = 0; i < group->_numEntries; i++) { BRESCommonHeader *hdr = (BRESCommonHeader *)group->First[i].DataAddress; if (NodeFactory.FromAddress(this, hdr, hdr->_size) == null) { new BRESEntryNode().Initialize(this, hdr, hdr->_size); } } }
internal protected virtual void PostProcess(VoidPtr bresAddress, VoidPtr dataAddress, int dataLength, StringTable stringTable) { BRESCommonHeader *header = (BRESCommonHeader *)dataAddress; if (bresAddress) { header->_bresOffset = (int)bresAddress - (int)header; } else { // AFAIK only the Export method calls this method with a bresAddress of null - it should be OK to put 0 in here header->_bresOffset = 0; } header->_size = dataLength; }