Fix online item GUID resolution, async terrain loading, and inventory enrichment

Enrich online inventory from local DB when server data is incomplete, add
resolveOnlineItemGuid fallback for sell/equip/use, use async enqueueTile for
initial terrain load, improve walk/run animation fallbacks, clear target on
loot close, and broaden equipability detection to include armor/subclass.
This commit is contained in:
Kelsi 2026-02-06 18:52:28 -08:00
parent db4a40a4e6
commit e38c0213e4
6 changed files with 119 additions and 8 deletions

View file

@ -194,6 +194,27 @@ bool TerrainManager::loadTile(int x, int y) {
return true;
}
bool TerrainManager::enqueueTile(int x, int y) {
TileCoord coord = {x, y};
if (loadedTiles.find(coord) != loadedTiles.end()) {
return true;
}
if (pendingTiles.find(coord) != pendingTiles.end()) {
return true;
}
if (failedTiles.find(coord) != failedTiles.end()) {
return false;
}
{
std::lock_guard<std::mutex> lock(queueMutex);
loadQueue.push(coord);
pendingTiles[coord] = true;
}
queueCV.notify_all();
return true;
}
std::unique_ptr<PendingTile> TerrainManager::prepareTile(int x, int y) {
TileCoord coord = {x, y};