diff --git a/Globals.cpp b/Globals.cpp index b03d967e..fd8a3b60 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -308,7 +308,17 @@ global_settings::ConfigParse(cParser &Parser) { else if( token == "scenario.time.override" ) { // shift (in hours) applied to train timetables Parser.getTokens( 1, false ); - Parser >> ScenarioTimeOverride; + std::string token; + Parser >> token; + std::istringstream stream(token); + if (token.find(':')) { + float a, b; + char s; + stream >> a >> s >> b; + ScenarioTimeOverride = a + b / 60.0; + } + else + stream >> ScenarioTimeOverride; ScenarioTimeOverride = clamp( ScenarioTimeOverride, 0.f, 24 * 1439 / 1440.f ); } else if( token == "scenario.time.offset" ) {