mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 02:43:44 +00:00
fix(zone): scenes of version 30-32 zone files are numbered like the client
Zone files before version 33 have no scene IDs. The client gives each scene its index in the file as its ID, -1 past 255, with layer 0 (LuzReader::ReadScenes, 1.10.64, via the LWOSceneID from the loop index); the reader left every such scene at ID 0, so a zone with several scenes had them all collide on one ID. The version 30 zones on disk have one scene each, so what they read is unchanged. Check in game: nothing to check on live worlds (all are version 36+). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -243,7 +243,7 @@ void Zone::LoadScene(ZoneScene&& zoneScene) {
|
||||
SceneRef scene;
|
||||
static_cast<ZoneScene&>(scene) = std::move(zoneScene);
|
||||
scene.level = nullptr;
|
||||
// Older files have no scene ID or layer; those stay 0
|
||||
// Older files have no scene ID or layer: ZoneFile numbers their scenes, and the layer stays General
|
||||
LWOSCENEID lwoSceneID(scene.id, scene.sceneType);
|
||||
|
||||
std::string luTriggersPath = scene.filename.substr(0, scene.filename.size() - 4) + ".lutriggers";
|
||||
|
||||
Reference in New Issue
Block a user