Skip to content

Commit 98201a4

Browse files
committed
Correct issue with legacy automatic geaboxes not working.
1 parent 72ec4b1 commit 98201a4

File tree

1 file changed

+9
-9
lines changed
  • Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/PowerTransmissions

1 file changed

+9
-9
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/PowerTransmissions/GearBox.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
using System.Diagnostics;
2626
using System.IO;
2727
using System;
28+
using System.Linq;
2829

2930
namespace Orts.Simulation.RollingStocks.SubSystems.PowerTransmissions
3031
{
@@ -81,35 +82,35 @@ public void Parse(string lowercasetoken, STFReader stf)
8182
var gearType = stf.ReadString();
8283
try
8384
{
84-
GearBoxType = (TypesGearBox)Enum.Parse(typeof(TypesGearBox), gearType);
85+
GearBoxType = (TypesGearBox)Enum.Parse(typeof(TypesGearBox), gearType.First().ToString().ToUpper() + gearType.Substring(1));
8586
}
8687
catch
8788
{
88-
STFException.TraceWarning(stf, "Assumed unknown gear type " + gearType);
89+
STFException.TraceWarning(stf, "Assumed unknown gear box type " + gearType);
8990
}
9091
break;
9192
case "engine(ortsmainclutchtype":
9293
stf.MustMatch("(");
9394
var clutchType = stf.ReadString();
9495
try
9596
{
96-
ClutchType = (TypesClutch)Enum.Parse(typeof(TypesClutch), clutchType);
97+
ClutchType = (TypesClutch)Enum.Parse(typeof(TypesClutch), clutchType.First().ToString().ToUpper() + clutchType.Substring(1));
9798
}
9899
catch
99100
{
100-
STFException.TraceWarning(stf, "Assumed unknown gear type " + clutchType);
101+
STFException.TraceWarning(stf, "Assumed unknown main clutch type " + clutchType);
101102
}
102103
break;
103104
case "engine(gearboxoperation":
104105
stf.MustMatch("(");
105106
var gearOperation = stf.ReadString();
106107
try
107108
{
108-
GearBoxOperation = (GearBoxOperation)Enum.Parse(typeof(GearBoxOperation), gearOperation);
109+
GearBoxOperation = (GearBoxOperation)Enum.Parse(typeof(GearBoxOperation), gearOperation.First().ToString().ToUpper() + gearOperation.Substring(1));
109110
}
110111
catch
111112
{
112-
STFException.TraceWarning(stf, "Assumed unknown gear operation type " + gearOperation);
113+
STFException.TraceWarning(stf, "Assumed unknown gear box operation type " + gearOperation);
113114
}
114115
initLevel++;
115116
break;
@@ -118,12 +119,11 @@ public void Parse(string lowercasetoken, STFReader stf)
118119
var engineBraking = stf.ReadString();
119120
try
120121
{
121-
122-
GearBoxEngineBraking = (GearBoxEngineBraking)Enum.Parse(typeof(GearBoxEngineBraking), engineBraking);
122+
GearBoxEngineBraking = (GearBoxEngineBraking)Enum.Parse(typeof(GearBoxEngineBraking), engineBraking.First().ToString().ToUpper() + engineBraking.Substring(1));
123123
}
124124
catch
125125
{
126-
STFException.TraceWarning(stf, "Assumed unknown gear operation type " + engineBraking);
126+
STFException.TraceWarning(stf, "Assumed unknown gear box engine braking type " + engineBraking);
127127
}
128128
break;
129129
case "engine(gearboxmaxspeedforgears":

0 commit comments

Comments
 (0)