OpenBVE
OpenBVE copied to clipboard
[Suggestion] JointSound idea
Description
Command example
Track.Joint JSnd;Trigger;Interval
- Option for JSnd: Index: Use the corresponding point sound of the train. A sound file: it's similar to the announce and a bit monotonous.
- Option for Trigger: 0: Triggered by wheelbase list, See the JSEWheelBase below. 1: Triggered by Classic Axis Events, be like announce.
Interval: Specifying the interval in which joints are placed. If not set, place once free command, Just like BVE5.
This starts or updates a joint on a specified rail.
Track.JointEnd
This ends an existing joint that was previously started via Track.Joint on a specified rail. Not applicable to joint without interval.
Wheelbase list
I want to implement a wheelbase list in XML cars for the sound of joints in steam locomotives or other complex axle combinations. This is an example of a 4-8-2 steam locomotive
<Length>13.89</Length>
<FrontAxle>5.235</FrontAxle>
<RearAxle>-3.005</RearAxle>
<FrontBogie>
<FrontAxle>0.88</FrontAxle>
<RearAxle>-0.88</RearAxle>
<JSEWheelBase>
<!--WDiameter 0.84m-->
<Axle>0.88</Axle>
<Axle>-0.88</Axle>
</JSEWheelBase>
</FrontBogie>
<JSEWheelBase>
<!--WDiameter 1.5m-->
<Axle>2.765</Axle>
<Axle>0.915</Axle>
<Axle>-0.935</Axle>
<Axle>-2.785</Axle>
</JSEWheelBase>
<RearBogie>
<FrontAxle>0</FrontAxle>
<RearAxle>-2.08</RearAxle>
<JSEWheelBase>
<!--WDiameter 1.05m-->
<Axle>-2.08</Axle>
</JSEWheelBase>
</RearBogie>
If there is no wheelbase list set, generate a wheelbase list based on the bogie. Not friendly to six axle cars.
In this way, I don't need to use many fake cars to assemble an axle combination, nor do I need to consider mixing run and joint sounds.
Some ideas
Track.Joints TrackIndex;Object;JSnd;Trigger;Interval;FirstSpeed;SecondSpeed
FirstSpeed: The reference speed in km/h for speed-dependant sounds. SecondSpeed: The pitch difference relative to FirstSpeed when the train speed is 0. Track.JointsEnd TrackIndex
If I mention these are when BVETs5 route is supported...