////////////////////////////////////////////////////////////////////////// // markupResources void CsPackageLoader::markupResources() { // Use this to advance as we need. BcU8* pCurrPackageData = reinterpret_cast< BcU8* >( pPackageData_ ) + Header_.ResourceDataStart_; // Allocate chunks. for( BcU32 ChunkIdx = 0; ChunkIdx <= Header_.TotalChunks_; ++ChunkIdx ) { CsPackageChunkHeader& ChunkHeader( pChunkHeaders_[ ChunkIdx ] ); CsPackageChunkData& ChunkData( pChunkData_[ ChunkIdx ] ); if( ChunkHeader.Flags_ & csPCF_MANAGED ) { ChunkData.Managed_ = BcTrue; ChunkData.pUnpackedData_ = pCurrPackageData; // Advance package data. pCurrPackageData += BcCalcAlignment( ChunkHeader.UnpackedBytes_, ChunkHeader.RequiredAlignment_ ); #if PSY_DEBUG // Clear memory. BcMemSet( ChunkData.pUnpackedData_, 0x11, ChunkHeader.UnpackedBytes_ ); #endif } else { ChunkData.Managed_ = BcFalse; } } }
void* operator new[]( size_t Size) { initHeap(); void* pMem = malloc( Size ); #ifdef PSY_DEBUG // neilogd: stamp 0x69 over uninitialised memory. BcMemSet( pMem, 0x69, Size ); #endif #ifdef MEM_DEBUG BcU32 BreakID = -1; if( gAllocID == BreakID ) { BcBreakpoint; } BcPrintf( "PsyNew: %p - %u\n", pMem, gAllocID++ ); printBacktrace(); #endif return pMem; }