OpenBVE icon indicating copy to clipboard operation
OpenBVE copied to clipboard

[Suggestion] JointSound idea

Open JunmoreHeavyBox opened this issue 10 months ago • 0 comments

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...

JunmoreHeavyBox avatar Apr 03 '24 02:04 JunmoreHeavyBox