Discrete_Trigger ( 8 StartLoopRelease ( 1 File ( "horn.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
Discrete_Trigger ( 9 ReleaseLoopRelease () )
Discrete_Trigger ( 9 ReleaseLoopRelease () )
I examined other, working horns' .SMS files and noticed that they were all formatted this way for horn playback:
Discrete_Trigger ( 8 StartLoopRelease ( 1 File ( "horn.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
Discrete_Trigger ( 9 ReleaseLoopReleaseWithJump () )
Discrete_Trigger ( 9 ReleaseLoopReleaseWithJump () )
A quick edit of an offending .SMS file proved out that changing the release statement works -- Short horn blasts will work correctly in OR now on the problem horns. It looks like horn trigger lines in .SMS files work correctly when using "ReleaseLoopReleaseWithJump".
I believe OR needs the explicit "...WithJump" to tell it to jump to the final cue point, whereas MSTS assumes the jump is needed when the spacebar is released. 99% of my locomotives already use the "...WithJump" version anyway -- so the ones without are the exception. Using the edited .SMS files back in MSTS caused no issues. So, editing the .SMS files may be one more way to fix problem horns in OR.