cesarbl, on 26 April 2023 - 10:42 PM, said:
I know it's standard on modern US freight stock, but anything else could be different for all I know. Maybe it would help to have a token such as ORTSEmergencyDumpValveTimeout ( 120s ) so the user could adjust this as needed to match the real-life rolling stock (default setting could be 0 seconds, which would result in the valves resetting immediately when the BP pressure < 1 psi, while higher delays would hold the BP at 0 psi for longer).
cesarbl, on 26 April 2023 - 10:42 PM, said:
The updated F9 proposal would be a good opportunity to implement partial opening of anglecocks. But if you really wanted to avoid changing anything graphical, a partially open anglecock could be coded to show up identically to a fully open anglecock, making the process invisible to the player (except they will avoid undesired emergency applications). But that begs the question of automating the process (eg: toggling the valve state partially opens the anglecock for 10 seconds, then fully opens/closes afterward) or leaving it manual (eg: toggle button must be pressed twice, first press will change to partially open/closed, second press will change to fully open/closed depending on the original state). Might need a spec written!
cesarbl, on 26 April 2023 - 10:42 PM, said:
That makes sense, I was figuring there would be some type of train where syncing compressors even between coaches would be realistic. I guess not everything is useful for me in USAland.
As for why I could see remote units turning on their compressor in sync with the front-looking at the source code tells me that RemoteControlGroup = -1 when disconnected from MU, = 0 when 'in front of the fence' (ie: DPU mode is Sync), and = 1 when 'behind the fence' (ie: DPU mode is Async). That means that a DPU can indeed be in control group 0! So compressors sync up unless you move some of the locomotives to the back of the DP fence, which I guess isn't the behavior you had in mind?
cesarbl, on 26 April 2023 - 10:42 PM, said:
I'm not actually sure, I made some of these files 2 years ago so I forget what's in them. I know I definitely had DynamicBrakeHasAutoBailOff( 1 ) in there as your documentation said that was needed, maybe referencing force match in the documentation for partial bail off would help. I'll check force match after work. If all fails I can send over my F40PH engine file (everything I use is custom so it's entirely possible I've created an edge case the code isn't prepared for).
Oh and I have another bit of scope creep for you to consider: The current implementation of TrainPipeLeakRate isn't very good, as the leak is considered to come exclusively from the player's locomotive (it's also an engine-only token, ugh). Of course, in real life there's a little bit of leak from every single train car, and I think that's another thing that could be simulated properly now. The distinction of where the leak comes from does matter for operations-when the leak comes from every vehicle, it can be observed that the EOT brake pipe pressure on a long train will settle at a value lower than the lead brake pipe pressure, which results in worse braking performance at the rear. If the leak is simulated as coming from the locomotive only, this just doesn't happen. I figure that would have to be yet another new token that goes in the wagon( section (ORTSTrainPipeLeakRate?), allowing each wagon to constantly lose a little bit of pressure.