Add more insights on potentially missing asset file data chunks

This commit is contained in:
Wojtek Figat
2024-03-12 13:25:25 +01:00
parent 94520d30ad
commit fc29d687b5
3 changed files with 53 additions and 23 deletions

View File

@@ -584,7 +584,32 @@ Asset::LoadResult BinaryAsset::loadAsset()
ASSERT(Storage && _header.ID.IsValid() && _header.TypeName.HasChars());
auto lock = Storage->Lock();
return load();
const LoadResult result = load();
#if !BUILD_RELEASE
if (result == LoadResult::MissingDataChunk)
{
// Provide more insights on potentially missing asset data chunk
Char chunksBitMask[ASSET_FILE_DATA_CHUNKS + 1];
Char chunksExistBitMask[ASSET_FILE_DATA_CHUNKS + 1];
Char chunksLoadBitMask[ASSET_FILE_DATA_CHUNKS + 1];
for (int32 i = 0; i < ASSET_FILE_DATA_CHUNKS; i++)
{
if (const FlaxChunk* chunk = _header.Chunks[i])
{
chunksBitMask[i] = '1';
chunksExistBitMask[i] = chunk->ExistsInFile() ? '1' : '0';
chunksLoadBitMask[i] = chunk->IsLoaded() ? '1' : '0';
}
else
{
chunksBitMask[i] = chunksExistBitMask[i] = chunksLoadBitMask[i] = '0';
}
}
chunksBitMask[ASSET_FILE_DATA_CHUNKS] = chunksExistBitMask[ASSET_FILE_DATA_CHUNKS] = chunksLoadBitMask[ASSET_FILE_DATA_CHUNKS] = 0;
LOG(Warning, "Asset reports missing data chunk. Chunks bitmask: {}, existing chunks: {} loaded chunks: {}. '{}'", chunksBitMask, chunksExistBitMask, chunksLoadBitMask, ToString());
}
#endif
return result;
}
void BinaryAsset::releaseStorage()