From 9622bc87fc8c7b3f24d7fbcbcdf0e57553225465 Mon Sep 17 00:00:00 2001 From: izawartka <59137928+izawartka@users.noreply.github.com> Date: Wed, 14 Jan 2026 23:50:01 +0100 Subject: [PATCH] Add scenery info version 30 support +Added support for scenery info version 30 (sceneries with info version 29 are still supported) +Added UUID field in SceneryInfoView --- src/components/scenery-info-dialog/SceneryInfoView.js | 1 + src/helpers/constants.js | 3 ++- src/model/parsing/scenery-parser.js | 4 ++-- src/model/special-objects/scenery-info.js | 9 ++++++--- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/components/scenery-info-dialog/SceneryInfoView.js b/src/components/scenery-info-dialog/SceneryInfoView.js index 078be15..106d638 100644 --- a/src/components/scenery-info-dialog/SceneryInfoView.js +++ b/src/components/scenery-info-dialog/SceneryInfoView.js @@ -15,6 +15,7 @@ export default function SceneryInfoView({ scenery }) { + diff --git a/src/helpers/constants.js b/src/helpers/constants.js index 7f13c56..93621f9 100644 --- a/src/helpers/constants.js +++ b/src/helpers/constants.js @@ -14,7 +14,8 @@ const Constants = { }, parser: { logSceneryAfterFinished: true, - sceneryInfoVersion: 29, + sceneryInfoVersionMin: 29, + sceneryInfoVersionMax: 30, alwaysShowLogDialog: false, runTracksConnectionTest: false, tracksConnectionTestIgnoreY: true, diff --git a/src/model/parsing/scenery-parser.js b/src/model/parsing/scenery-parser.js index 5d0dbd3..5ade62a 100644 --- a/src/model/parsing/scenery-parser.js +++ b/src/model/parsing/scenery-parser.js @@ -83,8 +83,8 @@ export default class SceneryParser { } const version = parseInt(infoHeader.split("v")[1]); - if(version !== Constants.parser.sceneryInfoVersion) { - SceneryParserLog.warn('invalidSceneryInfoVersion', `Invalid scenery info version: ${version}. Expected: ${Constants.parser.sceneryInfoVersion}`); + if(version < Constants.parser.sceneryInfoVersionMin || version > Constants.parser.sceneryInfoVersionMax) { + SceneryParserLog.warn('invalidSceneryInfoVersion', `Invalid scenery info version: ${version}. Expected: ${Constants.parser.sceneryInfoVersionMin}-${Constants.parser.sceneryInfoVersionMax}`); } return SceneryInfo.fromText(text); diff --git a/src/model/special-objects/scenery-info.js b/src/model/special-objects/scenery-info.js index ccf4100..874a71d 100644 --- a/src/model/special-objects/scenery-info.js +++ b/src/model/special-objects/scenery-info.js @@ -7,9 +7,10 @@ export default class SceneryInfo extends SpecialObject { link; author; main_signalbox; + uuid; type = "SceneryInfo"; - constructor(name, version, description, link, author, main_signalbox) { + constructor(name, version, description, link, author, main_signalbox, uuid) { super(); Object.assign(this, { name, @@ -17,7 +18,8 @@ export default class SceneryInfo extends SpecialObject { description, link, author, - main_signalbox + main_signalbox, + uuid }); } @@ -29,7 +31,8 @@ export default class SceneryInfo extends SpecialObject { values[3], // description values[4], // link values[5], // author - values[6] // main_signalbox + values[6], // main_signalbox + values[7] // uuid ); return sceneryInfo;