Skip to content

Commit 1a01818

Browse files
committed
Fix initial track joint trigger
1 parent d1a56b3 commit 1a01818

File tree

1 file changed

+6
-2
lines changed
  • Source/Orts.Simulation/Simulation/Physics

1 file changed

+6
-2
lines changed

Source/Orts.Simulation/Simulation/Physics/Train.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2006,7 +2006,9 @@ public virtual void Update(float elapsedClockSeconds, bool auxiliaryUpdate = tru
20062006
LogTrainSpeed(Simulator.ClockTime);
20072007
}
20082008

2009-
// Initialise track joint trigger points. Only runs once at start up.
2009+
// Initialise track joint trigger points. Sets the trigger point for the track joint reletative to other cars.
2010+
// This is then reset every time a track joint is triggered, and positioned the same distance apart, hence reletative positions are maintained.
2011+
// Only runs once at start up.
20102012
if (SoundSetupInitialise)
20112013
{
20122014
var trackjointdistanceM = (float)Simulator.TRK.Tr_RouteFile.DistanceBetweenTrackJointsM;
@@ -2017,11 +2019,13 @@ public virtual void Update(float elapsedClockSeconds, bool auxiliaryUpdate = tru
20172019
car.realTimeTrackJointDistanceM = trackjointdistanceM + trainLengthM;
20182020
trainLengthM += car.CarLengthM;
20192021

2022+
// Track joint "reached" move car joint into next track joint sesction
20202023
if (trainLengthM > (float)Simulator.TRK.Tr_RouteFile.DistanceBetweenTrackJointsM)
20212024
{
2022-
trainLengthM = 0;
2025+
trainLengthM -= (float)Simulator.TRK.Tr_RouteFile.DistanceBetweenTrackJointsM;
20232026
}
20242027

2028+
// Trace.TraceInformation("Initialise Track Joints - CarID {0} RealDistance {1} TrainLength {2}", car.CarID, car.realTimeTrackJointDistanceM, trainLengthM);
20252029
}
20262030

20272031
SoundSetupInitialise = false;

0 commit comments

Comments
 (0)