Last Updated 05-Jul-2002

How to
Past news
  ENG, CVF & SMS Files  
UP SD90MAC & TWX SD70MAC lead a mixed freight across the Coram bridge.

These files are the main ones with information that define how a locomotive behaves. For example, the ENG file tells MSTS how much horsepower the locomotive has. The CVF file tells MSTS how to build a cabview for the locomotive. There are two SMS files, one for the sounds we hear inside the cab; another for the locomotive sounds we hear when outside the cab (e.g., when we press the "2" key).

The contents of the CVF and SMS files consist mainly of commands to tell MSTS where to find various bitmap files for the cabview and various WAVe files for different sounds.

The files we're talking about are all viewable and editable in WordPad (or any other Unicode-text format editor). Also, bear in mind that the SD (shape definition) file for each loco and wagon is also editable in WordPad.

  Loco ENGine files  
NSW 8120, in its Bincentennial livery, 8126, 8169 & 8172 start rolling with their coal load of 7,500 tons.

The main sections in a loco's ENG file are:

  • Wagon: a reference to a shape definition file, which in turn points to the bitmaps that make up the loco as we see it; weight; size; information about the couplers (e.g., breaking force); friction information, number of wheels, adhesion.
  • Lights: where they're placed on the loco, what type (e.g., headlight), what colour, whether flashing or not, brightness. There could be as many as 20 or 30 separate lights defined in this section.
  • Brakes: what type (e.g., air), then various parameters such as the size of the air reservoir, the recharge rate, the power of the compressor motor, the maximum force exerted. If the loco has dynamic brakes: the minimum and maximum speeds at which they operate, how much force.
  • Engine or motor characteristics: how much horsepower, maximum tractive effort (i.e., its "pulling force"), oil pressures, fuel consumption, wheel radius. For a steam loco, there are a large number of extra parameters that define features such as injector sizes, cylinder sizes, and so on.
  • Cabview and Sound: these are single line statements that tell MSTS where to look for the loco's cabview and sound files. Those of you who use aliasing to save disk space will be familiar with them.
  • Click here to view a sample ENG file (the file opens in a new window). This file is for an imaginary BNSF SD40 #1234 we've installed in sub-folder SD40_BNSF1234. In the ENG file you're about to view, you'll see where SD40_BNSF1234 is used in:
    • 2 Wagon lines;
    • the WagonShape ( ) line;
    • the Engine line.
    • For completeness, we've named the shape definition file and shape file sd40_bnsf1234.s in the sub-folder. This is to avoid MSTS being confused about similar SD40 locos we may have installed.
    • Click here to view a sample SD (shape definition) file (the file opens in a new window). This file is for the imaginary BNSF SD40 #1234 we've installed in sub-folder SD40_BNSF1234. In the SD (shape definition) file you're about to view, you'll see where the shape file, SD40_BNSF1234.S, is referred to.

A practical application of the above came about recently when webTrainSim couldn't get the Dekosoft SD45T-2 #9331 Kodachome going. In fact, when this loco was placed in a consist for an activity, MSTS crashed while doing its initial loading. By the way, this is interesting because MSTS is assumed to be building its database of locos and rolling stock at this stage. It would seem, however, MSTS doesn't go as deep with its checking unless a loco is in a player consist in an activity.

Earlier, webTrainSim assumes he carried out the re-naming of folder and files for SD45T-2 #6801 but had forgotten to do the same for #9331. After much messing around, the above steps were carried out and #9331 now behaves perfectly (i.e., it doesn't crash MSTS).

  Loco CVF cabview files  
Alco PA 781 & 766, in classic New Haven McGinnis livery, lead a set of Merchant Limited coaches.

A CVF file consists of a series of sections which define what we see when sitting in a loco's cab. From the point of view of aliasing the various bitmap graphics, we only need to know the folder in which a particular bitmap is stored. Remember that bitmap graphics in MSTS are files of type ACE.

The first section gives MSTS details about looking out the front, and views to the left and right (if available; they're the ones we get by pressing the left/right arrow keys when in the cab), and any head-out view (up/down arrow keys when in the cab).

Then there are sections dealing with the various dials, gauges and lever controls. Each of these is a graphics bitmap (ACE) file and MSTS needs to know in which folder to find them. By default, MSTS looks in the the loco's Cabview folder, where MSTS also expects to find the loco's CVF file. If we want MSTS to use ACE files from another loco or from a Common.Cab folder, we have to tell it by inserting the full path. That's when we use such folder path names as:


  SMS loco sound files  
From the cab of our Alco PA, we've got a clear so we can keep our passengers moving on time.

A loco has two SMS files: one for the sounds we hear when in the cab, and a second for the motor's sounds when we're looking from outside. A passenger car (carriage) or freight car (wagon) naturally only has an external sound.

Firstly in the SMS file are a series of definitions to tell MSTS which sound channels it can use for various sounds. For example, one channel might be allocated to the air compressor, another to the loco's horn, so that we can hear both sounds simultaneously.

Other parts define the triggers to produce various sounds, as well as how they're to be "played". For example, letting off the air brakes fully starts the compressor running.

For the sake of aliasing a loco's SMS files, we only need to be able to find the names of the sounds files - they all have extension WAV. There are a large number of them, and in WordPad, most are off to the far right, off screen. So there's plenty of scrolling to the left and right when inserting full folder paths to alias.

  ENGine modifier tool  
Heritage BR Class 37s lead an excursion out of Horton on the Settle-Carlisle line. Class 37 diesel motors have an awesome sound!

ENGMOD is a free tool you can download from to make changes to various parameters to a loco's ENG file, rather than edit the file in WordPad: (10-Feb-02, 2.2Mb).

If you want to make changes, or you feel changes should be made, to a loco's ENG file to reflect more realistic prototypical performance, you need to download and refer to the documentation in the following from

  • (28-Aug-01, 72Kb) - contains a Loco Power Table which is a handy reference
  • (02-Jan-02, 218Kb)
  • (07-Mar-02, 172Kb)

Here's one way to use the information in the above. webWiz noticed that the horsepower figure for the NSW class 81 locos didn't seem correct. To get some comparison, particularly in relation to braking, webWiz used the specs in the appropriate EMD SD-type loco ENG files in sdphy41 and locophy3.

A footnote: the ENG files in sdphy41 or gpphy41 are generic. This means you simply can't update a loco's ENG by using one of these files in place of the loco's original ENG file. The main reason is that you'll destroy the designer's lights layout for his/her particular loco.

web•Train Sim

webHome | webColumn | webSites | webDirectory | webMP3s | webArchive | webSpecials | webMail | webContact