Elvas Tower: Compatibility with MSTS - Elvas Tower

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Compatibility with MSTS Hushing the chuff Rate Topic: -----

#1 User is offline   cjakeman 

  • Vice President
  • PipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 2,869
  • Joined: 03-May 11
  • Gender:Male
  • Location:Peterborough, UK
  • Simulator:Open Rails
  • Country:

Posted 25 November 2014 - 10:53 AM

Herb Kelsey has reported a bug regarding the "chuff" sound for steam locos that are coasting along with the throttle closed.

This was discussed on the forum recently. (We heard that the techniques used in some countries may lead to a reduced "chuff" rather than no "chuff".)

  • MSTS hushes the "chuff" sound when the throttle is closed in a moving steam loco and OR does not.
  • OR works differently and plays whatever is in the sound file as modified by the Variable2, which reflects the work done by the loco.

We should, of course, hush the chuff when coasting but there are opposing ways to resolve this:

1. We could modify the sound files to hush the chuff. (Current situation)
or
2. We could add a feature to OR so it works like MSTS and hushes the chuff automatically.

We have faced this sort of dilemma several times before, with strongly-held views on both sides of the debate. The modellers naturally want to protect their investment in MSTS-compatible models whilst the coders want to keep the code free from MSTS quirks. Previous examples of this dilemma include:

A. the amount of smoke exhaust a diesel can generate
B. the detailed behaviour of activities

Carlo provided us with a way through this dilemma for B: activities with a new checkbox - Enhanced compatibility with MSTS activities.

Attached Image: MSTS Compatibility.jpg

This allows MSTS users to put off making OR-specific changes to their models and marks MSTS-specific code as separate from the mainstream.

I recommend that we adopt Carlo's solution and rename this checkbox as just "Enhanced compatiblity with MSTS" and extend it to hush the chuff
(and possibly limit the smoke too). I shall add a comment to the bug report for this.

#2 User is offline   Lindsayts 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,849
  • Joined: 25-November 11
  • Gender:Male
  • Country:

Posted 25 November 2014 - 11:35 AM

I sort of apologise for bringing this up but...................

Hmmmmmmmmm, Is not OR meant to be an "accurate" sim, steam locos have little steam flow through the cylinders therefore produce little noise, no real steam loco I know produces an exhaust chuff on a closed throttle. Should emulating this be the ideal and not "over complicating the code base". Why have the complication of super elevation, and what I will call "sudo" carriage sway, this later in reality being VERY difficult to simulate with any kind of accuracy,both of these in my opinion being "eye candy" and effectively abandoning correct exhaust noise behaviour. How can this be a debatable point in such as sim as OR.

Lindsay

#3 User is offline   copperpen 

  • Executive Vice President
  • Group: Status: Elite Member
  • Posts: 3,144
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 25 November 2014 - 12:31 PM

"•OR works differently and plays whatever is in the sound file as modified by the Variable2, which reflects the work done by the loco""

So, what does this Variable2 actually do in OR?

There is already a steam soundset that has no "chuff" when the throttle is closed which can be used as the basis for any steam engine that the end user wants to have this feature on.

There is also a steam soundset where the volume varies with both throttle and reverser settings, but it is a long time since I used it. Must find it again and see how that works in OR.

#4 User is offline   cjakeman 

  • Vice President
  • PipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 2,869
  • Joined: 03-May 11
  • Gender:Male
  • Location:Peterborough, UK
  • Simulator:Open Rails
  • Country:

Posted 25 November 2014 - 02:14 PM

 Lindsayts, on 25 November 2014 - 11:35 AM, said:

effectively abandoning correct exhaust noise behaviour.

As I said above, there is more than one way to provide correct exhaust noise and, yes, OR is meant to be an "accurate" sim.

#5 User is offline   gpz 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,772
  • Joined: 27-October 12
  • Gender:Male
  • Location:Budapest
  • Simulator:OpenRails
  • Country:

Posted 25 November 2014 - 02:36 PM

Variable2 is
Variable2 = Math.Min(CylinderPressurePSI / MaxBoilerPressurePSI * 100f, 100f);

The problem is that CylinderPressurePSI doesn't go back to zero when the throttle is closed, just near to zero. This might or might not be correct physically, I don't know.

Edit: Looking at the code, it is possible that CylinderPressurePSI is absolute, while MaxBoilerPressurePSI is a gauge pressure. If this is the case, the formula would look like this correctly:
Variable2 = MathHelper.Clamp((CylinderPressurePSI - OneAtmospherePSI) / MaxBoilerPressurePSI * 100f, 0, 100);


#6 User is offline   captain_bazza 

  • Chairman, Board of Directors
  • PipPipPipPipPipPipPipPipPipPipPip
  • Group: ET Admin
  • Posts: 13,927
  • Joined: 21-February 06
  • Gender:Male
  • Location:Way, way, way, South
  • Simulator:MSTS & OR
  • Country:

Posted 25 November 2014 - 07:32 PM

...Steamin' dreamin'...
Ah, the complex esoterics of Steam,
Can make you want to shout & scream,
And you get into a huff,
Over a wayward chuff;
Then suddenly, you wake up from your dream.

Algernon.

#7 User is offline   copperpen 

  • Executive Vice President
  • Group: Status: Elite Member
  • Posts: 3,144
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 26 November 2014 - 04:03 AM

 gpz, on 25 November 2014 - 02:36 PM, said:

Variable2 is
Variable2 = Math.Min(CylinderPressurePSI / MaxBoilerPressurePSI * 100f, 100f);

The problem is that CylinderPressurePSI doesn't go back to zero when the throttle is closed, just near to zero. This might or might not be correct physically, I don't know.

Edit: Looking at the code, it is possible that CylinderPressurePSI is absolute, while MaxBoilerPressurePSI is a gauge pressure. If this is the case, the formula would look like this correctly:
Variable2 = MathHelper.Clamp((CylinderPressurePSI - OneAtmospherePSI) / MaxBoilerPressurePSI * 100f, 0, 100);



OK. Now I see how it is supposed to be working, MaxBoilerPressurePSI seems to be a floating target. In the MSTS eng file, MaxBoilerPressure is a figure that is never exceeded. In OR this figure is not used, but the boiler pressure goes over what is supposed to be the max and continues to slowly increase over time. It can also be observed to slowly drop back again for no particular reason. Perhaps the variable2 should be using the calculated current boiler pressure instead.

Maybe the boiler pressure is not the figure to use, instead take the value from the steam chest pressure.

#8 User is offline   gpz 

  • Superintendant
  • Group: Status: Elite Member
  • Posts: 1,772
  • Joined: 27-October 12
  • Gender:Male
  • Location:Budapest
  • Simulator:OpenRails
  • Country:

Posted 26 November 2014 - 10:42 AM

In r2671 I modified the formula to be the second one (with recalculation of absolute cylinder pressure to gauge pressure), and taking copperpen's advice, the divider is the calculated boiler pressure now. Could you please test?

#9 User is offline   atsf37l 

  • Executive Vice President
  • Group: Status: First Class
  • Posts: 4,643
  • Joined: 25-February 05
  • Gender:Male
  • Location:San Diego
  • Simulator:ORTS
  • Country:

Posted 26 November 2014 - 12:15 PM

Thank you Peter! That closes the bug! Now I don't have to modify each of my hundreds of steam locomotives! :)

#10 User is offline   copperpen 

  • Executive Vice President
  • Group: Status: Elite Member
  • Posts: 3,144
  • Joined: 08-August 05
  • Gender:Male
  • Simulator:MSTS & OR
  • Country:

Posted 26 November 2014 - 12:33 PM

Nice job. Sound now ceases when throttle is closed.

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users