@@ -86,7 +86,7 @@ internal static void ParseTrainData(string FileName, System.Text.Encoding Encodi
86
86
double CoefficientOfStaticFriction = 0.35 ;
87
87
double CoefficientOfRollingResistance = 0.0025 ;
88
88
double AerodynamicDragCoefficient = 1.1 ;
89
- TrainManager . AccelerationCurve [ ] AccelerationCurves = new TrainManager . AccelerationCurve [ ] { } ;
89
+ TrainManager . BveAccelerationCurve [ ] AccelerationCurves = new TrainManager . BveAccelerationCurve [ ] { } ;
90
90
Vector3 Driver = new Vector3 ( ) ;
91
91
int DriverCar = 0 ;
92
92
double MotorCarMass = 1.0 , TrailerCarMass = 1.0 ;
@@ -123,7 +123,8 @@ internal static void ParseTrainData(string FileName, System.Text.Encoding Encodi
123
123
switch ( Lines [ i ] . ToLowerInvariant ( ) ) {
124
124
case "#acceleration" :
125
125
i ++ ; while ( i < Lines . Length && ! Lines [ i ] . StartsWith ( "#" , StringComparison . Ordinal ) ) {
126
- Array . Resize < TrainManager . AccelerationCurve > ( ref AccelerationCurves , n + 1 ) ;
126
+ Array . Resize < TrainManager . BveAccelerationCurve > ( ref AccelerationCurves , n + 1 ) ;
127
+ AccelerationCurves [ n ] = new TrainManager . BveAccelerationCurve ( ) ;
127
128
string t = Lines [ i ] + "," ;
128
129
int m = 0 ;
129
130
while ( true ) {
@@ -611,7 +612,10 @@ internal static void ParseTrainData(string FileName, System.Text.Encoding Encodi
611
612
Train . Cars [ i ] . Specs . BrakeType = BrakeType ;
612
613
Train . Cars [ i ] . Specs . ElectropneumaticType = ElectropneumaticType ;
613
614
Train . Cars [ i ] . Specs . BrakeControlSpeed = BrakeControlSpeed ;
614
- Train . Cars [ i ] . Specs . BrakeDecelerationAtServiceMaximumPressure = BrakeDeceleration ;
615
+ Train . Cars [ i ] . Specs . DecelerationCurves = new TrainManager . AccelerationCurve [ ]
616
+ {
617
+ new TrainManager . BveDecelerationCurve ( BrakeDeceleration ) ,
618
+ } ;
615
619
Train . Cars [ i ] . Specs . MotorDeceleration = MotorDeceleration ;
616
620
Train . Cars [ i ] . Specs . AirBrake . AirCompressorEnabled = false ;
617
621
Train . Cars [ i ] . Specs . AirBrake . AirCompressorMinimumPressure = MainReservoirMinimumPressure ;
@@ -834,8 +838,11 @@ internal static void ParseTrainData(string FileName, System.Text.Encoding Encodi
834
838
Train . Cars [ i ] . Specs . AirBrake . Type = TrainManager . AirBrakeType . Main ;
835
839
Train . Cars [ i ] . Specs . MassEmpty = MotorCarMass ;
836
840
Train . Cars [ i ] . Specs . MassCurrent = MotorCarMass ;
837
- Train . Cars [ i ] . Specs . AccelerationCurves = AccelerationCurves ;
838
- Train . Cars [ i ] . Specs . AccelerationCurvesMultiplier = 1.0 + TrailerCars * TrailerCarMass / ( MotorCars * MotorCarMass ) ;
841
+ Array . Resize ( ref Train . Cars [ i ] . Specs . AccelerationCurves , AccelerationCurves . Length ) ;
842
+ for ( int j = 0 ; j < AccelerationCurves . Length ; j ++ )
843
+ {
844
+ Train . Cars [ i ] . Specs . AccelerationCurves [ j ] = AccelerationCurves [ j ] . Clone ( 1.0 + TrailerCars * TrailerCarMass / ( MotorCars * MotorCarMass ) ) ;
845
+ }
839
846
Train . Cars [ i ] . Specs . AccelerationCurveMaximum = MaximumAcceleration ;
840
847
switch ( ReAdhesionDevice ) {
841
848
case 0 : // type a:
@@ -884,7 +891,6 @@ internal static void ParseTrainData(string FileName, System.Text.Encoding Encodi
884
891
Train . Cars [ i ] . Specs . MassEmpty = TrailerCarMass ;
885
892
Train . Cars [ i ] . Specs . MassCurrent = TrailerCarMass ;
886
893
Train . Cars [ i ] . Specs . AccelerationCurves = new TrainManager . AccelerationCurve [ ] { } ;
887
- Train . Cars [ i ] . Specs . AccelerationCurvesMultiplier = 0.0 ;
888
894
Train . Cars [ i ] . Specs . AccelerationCurveMaximum = 0.0 ;
889
895
Train . Cars [ i ] . Specs . ReAdhesionDevice . ApplicationFactor = 0.0 ;
890
896
Train . Cars [ i ] . Sounds . Motor . SpeedConversionFactor = 18.0 ;
0 commit comments