feat(world): record the zone files a world loads, with sizes and hashes

ZoneFileLog keeps the .luz, .lvl, .lutriggers, terrain .raw and navmesh a
world read while loading its zone: absolute path of the loose file (or
the name in the pack), size and an FNV-1a hash of the bytes read.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-30 02:44:08 -05:00
parent b629766182
commit e709855b7d
8 changed files with 165 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
#include "CDClientManager.h"
#include "AssetManager.h"
#include "LevelFile.h"
#include "ZoneFileLog.h"
#include "ClientVersion.h"
#include "dConfig.h"
#include <ranges>
@@ -29,6 +30,7 @@ Level::Level(Zone* parentZone, const std::string& filepath, int32_t sceneID) {
LOG("Failed to load %s", filepath.c_str());
return;
}
ZoneFileLog::RecordAsset(Game::assetManager, ZoneFileLog::eKind::SCENE, filepath, stream);
// The file itself is read by LevelFile (dCommon), which the dashboard uses too
LevelFile levelFile;