I arbitrarily chose 2% to represent the "setup" value, but you can easily make it 1% or 5% or whatever.
For comparison, here is the relevant configuration XML section before the changes (19 notches!):
- Code: Select all
<cControlContainerBlueprint-cControlValue d:id="56555056">
<ControlName d:type="cDeltaString">DynamicBrake</ControlName>
<DefaultValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</DefaultValue>
<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
<BriefDescription d:type="cDeltaString">Dynamic Brake </BriefDescription>
<DetailedDescription d:type="cDeltaString">Dynamic Brake Control</DetailedDescription>
<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
<InterfaceElements>
<cControlContainerBlueprint-cInteriorNotchedLever d:id="56557360">
<ElementName d:type="cDeltaString">Dynamic Brake</ElementName>
<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
<PickTransformName d:type="cDeltaString">brake_dynamic</PickTransformName>
<MovementType d:type="cDeltaString">MoveLeftRight</MovementType>
<AnalogInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</AnalogInputSensitivity>
<DigitalInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</DigitalInputSensitivity>
<AnimationName d:type="cDeltaString">RSC\Dash9Pack01\RailVehicles\Diesel\Dash9\NS\CabView\dash9_cab_brake_dynamic</AnimationName>
<RestInNotchedPosition d:type="cDeltaString">eTrue</RestInNotchedPosition>
<NumberOfNotches d:type="sFloat32" d:alt_encoding="0000000000003340" d:precision="string">19</NumberOfNotches>
</cControlContainerBlueprint-cInteriorNotchedLever>
</InterfaceElements>
</cControlContainerBlueprint-cControlValue>
And here is the code afterwards:
- Code: Select all
<cControlContainerBlueprint-cControlValue d:id="83712288">
<ControlName d:type="cDeltaString">DynamicBrake</ControlName>
<DefaultValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</DefaultValue>
<MinimumValue d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</MinimumValue>
<MaximumValue d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</MaximumValue>
<BriefDescription d:type="cDeltaString">Dynamic Brake </BriefDescription>
<DetailedDescription d:type="cDeltaString">Dynamic Brake Control</DetailedDescription>
<ApplyToConsist d:type="cDeltaString">eFalse</ApplyToConsist>
<InterfaceElements>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever d:id="83714592">
<ElementName d:type="cDeltaString">Dynamic Brake</ElementName>
<DifficultyType d:type="cDeltaString">Expert</DifficultyType>
<PickTransformName d:type="cDeltaString">brake_dynamic</PickTransformName>
<MovementType d:type="cDeltaString">MoveLeftRight</MovementType>
<AnalogInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</AnalogInputSensitivity>
<DigitalInputSensitivity d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</DigitalInputSensitivity>
<AnimationName d:type="cDeltaString">RSC\Dash9Pack01\RailVehicles\Diesel\Dash9\NS\CabView\dash9_cab_brake_dynamic</AnimationName>
<RestInNotchedPosition d:type="cDeltaString">eTrue</RestInNotchedPosition>
<Notch>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702560">
<Identifier d:type="cDeltaString">Off</Identifier>
<Value d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702561">
<Identifier d:type="cDeltaString">Setup</Identifier>
<Value d:type="sFloat32" d:alt_encoding="00000040E17A943F" d:precision="string">0.02</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702562">
<Identifier d:type="cDeltaString">1</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000C03F" d:precision="string">0.125</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702563">
<Identifier d:type="cDeltaString">2</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000D03F" d:precision="string">0.25</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702564">
<Identifier d:type="cDeltaString">3</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000D83F" d:precision="string">0.375</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702565">
<Identifier d:type="cDeltaString">4</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000E03F" d:precision="string">0.5</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702566">
<Identifier d:type="cDeltaString">5</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000A09999E53F" d:precision="string">0.625</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702567">
<Identifier d:type="cDeltaString">6</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000E83F" d:precision="string">0.75</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702568">
<Identifier d:type="cDeltaString">7</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000EC3F" d:precision="string">0.875</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
<cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData d:id="87702569">
<Identifier d:type="cDeltaString">8</Identifier>
<Value d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</Value>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever-cNotchData>
</Notch>
</cControlContainerBlueprint-cInteriorIrregularNotchedLever>
</InterfaceElements>
</cControlContainerBlueprint-cControlValue>
Here is a list of the specific changes:
- Changed "AnalogInputSensitivity" and "DigitalInputSensitivity" to 0.5. This seems to be a nice value for using the keyboard with notched controls
- Changed "cControlContainerBlueprint-cInteriorNotchedLever" to "cControlContainerBlueprint-cInteriorIrregularNotchedLever"
- Changed the "NumberOfNotches" element to a "Notch" element with nested values for each position.
- I have no idea what these values are for: d:id="87702562" ... so I just made them unique. It seems to work.
In addition to this, in the DB section of the diesel physics page in RW_Tools:
- I changed "MaxForce" to a lower number. I chose 150. I have absolutely no idea what a good number is, but with this I can control a long train downhill with just DBs until I get to the 3% grades on Cajon, then I need train brakes as well.
- I changed DelayBeforeEngaging to "1". It seems that RS.com has modelled a 10 second delay from when the DB handle is moved to when the DBs actually engage. In reality the consensus seems to be that it should be 10 seconds from when the throttle is moved to idle. So if you move the throttle to idle, wait 10 seconds then move the DB handle to the first notch (2%, representing "setup"), then in a second or 2 the DBs activate. Now you can go back to "setup" without having to go all the way to idle and incurring a 10 second wait time again. Also the setup position has a small amount of drag just as the real thing seems to have.
Lastly, for some reason that I don't understand yet, I seem to get wheelspin with DBs at much lower force values than when using throttle. I have no idea why this would be. I temporarily upped the value "SandFrictionMultiplier" to 10 for now to compensate.
I am also using these values in every "buckeye_type_e_coupling.bin" file that I could find:
- Code: Select all
<SpringCoefficient d:type="sFloat32" d:alt_encoding="000000000088C340" d:precision="string">10000</SpringCoefficient>
<Damping d:type="sFloat32" d:alt_encoding="000000000088C340" d:precision="string">10000</Damping>
Overall, a much more realistic driving experience. My goal was to replicate what I saw on an episode of "Modern Marvels" called "freight trains". They had a camera in the cab of a stack train coming down Cajon, and the engineer was describing how the brakes worked. He was adding dynamic brakes to control the speed until he got to 100%, THEN had to add train brakes. This won't work with the default settings because of these reasons:
1. The crappy coupler settings would derail the train under strong dynamic brakes
2. The dynamic brakes were way too powerful
3. The wheel slip under dynamic braking at lower force levels than under power.
I think these settings seems to correct most of the issues.
Any improvements to the settings would be appreciated.

). To me that implies that the handle can still move, but no DBs until 10 seconds after the throttle went to idle.
