mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 00:49:19 +02:00
more work at parsing trainsets in launcher
This commit is contained in:
@@ -87,8 +87,29 @@ void scenery_scanner::parse_trainset(cParser &parser)
|
||||
parser.getTokens(4);
|
||||
parser >> trainset.name >> trainset.track >> trainset.offset >> trainset.velocity;
|
||||
|
||||
while (parser.peek() != "endtrainset")
|
||||
parser.getTokens();
|
||||
while (parser.peek() == "node") {
|
||||
std::string node_name, datafolder, skinfile, mmdfile, drivertype, loadtype, destination;
|
||||
int offset, coupling, loadcount;
|
||||
|
||||
parser.getTokens(2); // range_max, range_min
|
||||
parser.getTokens(1, false); // name
|
||||
parser >> node_name;
|
||||
|
||||
if (!parser.expectToken("dynamic"))
|
||||
break;
|
||||
|
||||
parser.getTokens(7);
|
||||
parser >> datafolder >> skinfile >> mmdfile >> offset >> drivertype >> coupling >> loadcount;
|
||||
|
||||
parser.getTokens();
|
||||
if (parser.peek() != "enddynamic") {
|
||||
parser >> loadtype;
|
||||
parser.getTokens();
|
||||
}
|
||||
|
||||
parser.getTokens();
|
||||
}
|
||||
|
||||
trainset.file_bounds.second = parser.Line();
|
||||
}
|
||||
|
||||
@@ -831,9 +831,9 @@ state_serializer::deserialize_dynamic( cParser &Input, scene::scratch_data &Scra
|
||||
auto skinfile { Input.getToken<std::string>() };
|
||||
auto mmdfile { Input.getToken<std::string>() };
|
||||
|
||||
std::replace(datafolder.begin(), datafolder.end(), '\\', '/');
|
||||
std::replace(skinfile.begin(), skinfile.end(), '\\', '/');
|
||||
std::replace(mmdfile.begin(), mmdfile.end(), '\\', '/');
|
||||
replace_slashes(datafolder);
|
||||
replace_slashes(skinfile);
|
||||
replace_slashes(mmdfile);
|
||||
|
||||
auto const pathname = (
|
||||
Scratchpad.trainset.is_open ?
|
||||
|
||||
Reference in New Issue
Block a user