Last Updated 10-Jun-2002

How to
Past news
  GP38-2 cabviews  
Viewing the Shelby yard from the rear platform of GP38-2 #2098.

Loco designers and others have had mixed success with implementing a passenger view in locos. Recall that the passenger view, accessed by the "5" key, enables us to scroll up/down and left/right. In this regard, it's more versatile than a cabview which is limited to a forward view, and in most cases, a left view and a right view using the left/right arrow keys. If the loco designer has included a head-out view, the up/down arrow keys are used to access this feature when in the cab.

This page goes through the steps to implement a passenger view in the GP38-2 loco, taken from Barry Andrews' post to the message area - click here to go to that thread.

If you're not sure about what a loco passenger view can offer, download and install the SNCF BB12000 (see below).

These are the files you need from the file library:

  • (4.7Mb, 06-Nov-01): Spittler Engineering's BNSF GP38-2 #2098 (much improved textures compared to the default GP38-2).
  • (96kb, 08-Jan-02): a lighting fix for the above.
  • (600kb, 02-Apr-02): Track Repair set; required for the passenger sound files and reference to the "readme".

For reference, see:

These are a couple of locos in which their designers have placed a well-designed passenger view accessible by the "5" key:

  • Chessie System SW-1200 switcher: (17-Jun-01, 3.8Mb). Use Sam Spade's cabview for this switcher for realism, rather than the default GP38 which is not prototypical: (15-Feb-02, 6.2Mb)
  • French SNCF BB12000: (09-Mar-02, 4.4Mb). The cabview and passenger view show the age of this loco!

  Some theory  
Shelby yard, looking left from the rear platform of GP38-2 #2098.

Here are the few lines required in an ENG or WAG file to implement a passenger view:

   Inside (
     PassengerCabinFile ( gp38.s )
     PassengerCabinHeadPos ( 0.3 3.6 5.39 )
     RotationLimit ( 20 360 0 )
     StartDirection ( 0 0 0 )
     Sound ( "" )

For the moment, we'll leave aside where these lines are placed in an ENG file for a loco passenger view. So here's a short description of each command line in the above snippet:

  • Inside ( ): the sub-section definition for a passenger view, bracketed by opening and closing ( and ), familiar with C/C++ programmers;
  • PassengerCabinFile: a shape file, e.g. foo.s.
  • PassengerCabinHeadPos: x, y and z position (metres) of the passenger's head, measured from the origin of the loco or wagon shape. Note the passenger view doesn't have to be from inside the cab - see images on this page where the view is from the rear platform of the GP38-2.
  • RotationLimit: x, y, z degrees through which the passenger can pan a view, i.e. move his/her head.
  • StartDirection: direction in which passenger's head is initially looking.
  • Sound: the sound file to use for whatever the passenger hears when taking this particular view. For a loco passenger view, a special sound SMD file is required - if one is not available, leave the parameter as an empty string, as shown in the code above. For a solution, see Robert Guy's "readme" in his Track Repair vehicle - we'll use it later. If you've installed the Chessie SW-1200, you'll not hear the engine running when in its passenger view.

  The GP38-2 passenger view  
Checking the rear coupling of GP38-2 #2098.

Here are the steps suggested by Barry Andrews to implement a passenger view in the GP38-2:

  • The following is optional and you may want to just work on the default GP38 to see how everthing pans out (no pun intended!).
  • Optional: Download and install the GP38-2 #2098, to replace the default GP38-2 textures with Judd Spittler's much enhanced version, or install 2098 as a separate loco. Install the light fix, i.e. a new ENG file, which doesn't contain so many lights. The "readme" files in both and contain more detailed information and will guide you through the installation steps.
  • Load the GP38 ENG file into our favourite Unicode text editor, namely WordPad. Barry discovered that the Inside code had to be placed between the AntiSlip() and BrakeEquipmentType lines. The AntiSlip() line is just after the Friction settings.
  • Insert the Inside code:
  •    Inside (
         PassengerCabinFile ( gp38.s )
         PassengerCabinHeadPos ( 0.3 3.6 5.39 )
         RotationLimit ( 20 360 0 )
         StartDirection ( 0 0 0 )
         Sound ( "" )
  • PassengerCabinFile ( gp38.s ): gp38.s contains the bits and pieces that make up the outside shell of the loco. Spittler's file has a motley green background which isn't too bad to view if you decided to optionally use his textures.
  • PassengerCabinHeadPos ( 0.3 3.6 5.39 ): this line says that our head is positioned:
    • 0.3 metre to the right of the loco's centre line (i.e., we're looking down the righ-hand rail, as is U.S. practice)
    • 3.6 metres is our height above ground
    • 5.39 metres forward of the origin of the loco's shape. Increase this value and you'll be out in front of the loco (e.g., 8.39 metres); make it negative (e.g., -9.3 metres) and you'll be standing on the loco's rear platform.
  • RotationLimit ( 20 360 0 ): 20 degrees up/down from the horizontal; 360 degrees allows you to pan left/right around a full circle, and the third value, zero, means there is no rotational panning (if you try 180 degrees, everything will be upside down).
  • StartDirection ( 0 0 0 ): we're looking straight ahead when we come into the passenger view.
  • Sound ( "" ): unless you have made a special sound file available, leave this line as is. However, using a sound file from the Track Repair unit, we can have passenger sound. Here are the steps:
    • download so we can use Robert Guy's special sound files.
    • Open and look for the two SMS files, gp38pcab.sms and gp38peng.sms. Copy these files into your default GP38 sounds folder, i.e., copy them into ...\GP38\SOUNDS\. You won't overwrite any files as there are no others by these names.
    • You can only use one of the above and from Barry's experience, opt for gp38pcab.sms as an alternative to the default GP38 Cab sounds file.
    • To make the above change, use WordPad to open your GP38-2 ENG file and search for the second Sound line, i.e., find:
    • Sound ( "gp38cab.sms" ).
    • Edit this line so it reads:
    • Sound ( "gp38pcab.sms" )
    • Save the ENG file and exit WordPad.

From Barry's investigations and trials, we can now progress and add a passenger view to other locos. Here is the code for Barry's other suggestions for the GP38:

View from out the front:

   Inside (
     PassengerCabinFile ( gp38.s )
     PassengerCabinHeadPos ( 0 3.6 8.39 )
     RotationLimit ( 30 80 0 )
     StartDirection ( 0 0 0 )
     Sound ( "" )

View from the rear platform:

   Inside (
     PassengerCabinFile ( gp38.s )
     PassengerCabinHeadPos ( 0 3.6 -9.3 )
     RotationLimit ( 90 360 0 )
     StartDirection ( 0 0 0 )
     Sound ( "" )

  Chessie SW-1200  
Normal cabview (

Passenger view accessed from "5" key.

web•Train Sim

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