diff --git a/src/model/scenery.js b/src/model/scenery.js index 2b4b9da..6cb3264 100644 --- a/src/model/scenery.js +++ b/src/model/scenery.js @@ -102,6 +102,11 @@ export default class Scenery return Scenery._parseMisc(text); case 'Empty': case 'EndRoute': + case 'MiscGroup': + case 'EndMiscGroup': + case 'Wires': + case 'Fence': + case 'TerrainPoint': return null; default: SceneryParserLog.warn('unknownObjectType', `Unknown object type: ${type}`); diff --git a/src/model/signal.js b/src/model/signal.js index 0e8ba3b..0138820 100644 --- a/src/model/signal.js +++ b/src/model/signal.js @@ -57,6 +57,7 @@ export default class Signal extends TrackObject { if(values.length < 29) return false; const prefabInfo = values[2].split(","); + if(/^sk\d+_[a-zA-Z]+$/.test(prefabInfo[0])) return true; // mechanical signals if(prefabInfo.length < 2) return false; return true; diff --git a/tools/scp.py b/tools/scp.py index e39c403..bbd814a 100644 --- a/tools/scp.py +++ b/tools/scp.py @@ -4,7 +4,7 @@ import sys # # [ TD2 SCENERY PROCESSOR ] # by masuo -# v1.3 +# v1.4 # BAD_WORDS = ['Empty,Empty', 'Forest Start,Forest Start', 'EndMiscGroup', 'Fence', 'TerrainPoint', 'Wires'] @@ -16,7 +16,7 @@ def should_exclude(line: str) -> bool: if line.startswith("Misc"): values = line.split(';') - return len(values[9].strip()) == 0 or not values[2].startswith("SignalBox") + return not values[2].startswith("SignalBox") def process_file(file_path: str): if not file_path.endswith(".sc"):