fix(level): scene objects of LOT 1 are not loaded, as in the client

ReadLvlObjectData (1.10.64, 0x0103ba20) loads every scene object except
those of LOT 1 (the player). The world spawned them; now it skips them.
No live scene has one; one older client scene file has two.

Check in game: nothing to check (no live scene has LOT 1 objects).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-29 06:40:54 -05:00
parent 695bcf2352
commit 71b7f19ec8

View File

@@ -132,8 +132,9 @@ void Level::LoadSceneObjects(const std::vector<SceneObject>& objects) {
Game::zoneManager->GetZoneMut()->SetSpawnRot(obj.rotation);
}
// We should never have more than 1 zone control object
bool skipLoadingObject = obj.lot == zoneControlObject->GetLOT();
// We should never have more than 1 zone control object; and the client never loads a scene object of LOT 1 (the
// player; ReadLvlObjectData)
bool skipLoadingObject = obj.lot == zoneControlObject->GetLOT() || obj.lot == 1;
for (const auto& data : obj.settings | std::views::values) {
if (!data) continue;
if (data->GetKey() == u"gatingOnFeature") {