Train Simulator Classic 2024

Train Simulator Classic 2024

86 ratings
Editing the camera position for a better view - no extra tools needed
By Ewo
In this guide I'll show you how you can modify a train's second cab camera. I'll make it sit in front of the cab, giving you a completely unobscured view in front, whilst still being able to hear all the sounds as if you were in the cab.

This way, you can enjoy the view and still hear things like AWS warnings, which you normally can't hear in any of the external views. You can also very quickly move back to the regular cab view.

I did this to get more enjoyment out of some UK EMU and DMU trains, which tend to have a rather small driver's window.
2
2
   
Award
Favorite
Favorited
Unfavorite
Introduction
NB: You will not need any external tools - everything you need comes with the base game.

Many British trains tend to have a rather small driver's cab and window. Although realistic, I find it gives a rather poor view of the surroundings. You can see the track and signals, but very little else.

Of course, I can use an external camera, but then I don't hear the AWS sounds. There is only a visual indication on the HUD, but I sometimes miss that, which means the train activates its emergency brakes and I have to wait for it to come to a complete stop before I can go on.

Most cabs have at least two camera positions. In this guide, I will show you how I've modified the secondary camera position of a class 377 EMU. It now sits in front of the cab, giving me a completely unobscured view.

To illustrate, we're going to make it so you can freely switch between these two camera positions:

The original cab view.

The new "cab" view, which is actually just in front of the wind shield.

As far as the game is concerned, I'm still inside the cab, and still hear all the sounds as if I were inside the cab. This means I can still hear the AWS and Vigilance sounds.

Although I only show how to do this for the 377 EMU that comes with the London to Brighton line, it should be very similar to other EMUs, such as the 319, 378, 380, 444, 450, 455, 4BIG, 4CIG and 4VEP. Of course, it should also work with DMUs such as the class 150 and 158.

The paths to the cab view .bin-files will obviously be different for different trains, but the steps you need to follow will be the same.

As always when messing with files, be careful and make backups before doing anything.
Find and convert the cab camera file
Find the file and make a backup
You need to find the file where the cab camera positions are defined. In this example, this is the folder for the cab of the Class 377 that comes with the London to Brighton route:

C:\Program Files\Steam\steamapps\common\railworks\Assets\RSC\BrightonMainLine\RailVehicles\Electric\Class377\CabView

The above path should all be on a single line. That goes for all paths in this tutorial, by the way.

If you have steam installed in a different folder than C:\Program Files\, the beginning of this path will obviously be different.

In this folder you should find the file Class377 Cab Camera.bin. That's the file we're going to modify, so before doing that, make a backup of it first.

Convert the file so you can edit it
It is not possible to directly edit .bin files, as they appear to be compressed text files. To uncompress them, you will need the program serz.exe, which comes with the game. Find it in the root of your Train Simulator game folder:

C:\Program Files\Steam\steamapps\common\railworks\serz.exe

At this point we'll either need to fiddle around with the windows command line, or we can just copy the Class377 Cab Camera.bin file into the same folder as serz.exe. The latter is easier, so I'm going to do that.

After having copied Class377 Cab Camera.bin into the root Train Simulator, drag the file on top of serz.exe. For a split second, a windows command line window will appear and close itself. You should now notice a new file: Class377 Cab Camera.xml

Now we have a text file we can edit.

RW_Tools
There is a tool called RW_Tools[www.rstools.info], which is an unofficial, non-free third party tool, to directly edit .bin files without needing to manually convert them. It can also do a whole bunch of other things. Feel free to use that instead if you have it. However, I promised to show how to do this without any third-party tools, and so I shall.
Change the camera positions
Identifying the important parts of the file
Now we're going to edit the file Class377 Cab Camera.xml. Use a regular text editor, such as Notepad. Don't use WordPad or MS Word.

Although you're editing a plain text file, it needs to be parsed by a program, and it will be very picky even if you've accidentally deleted a single character, such as a / or > character. Be very careful as you edit this file.

In the image I've identified the important parts of the file. Notice how each camera has two parts, it has an offset which indicates its position, and a direction which is where it's pointing by default.

If you've driven one of these Class 377 trains before, you may be aware they have two camera views. One is the regular, default view, the second is one that is slightly closer to the window. We will edit the second camera position, and leave the first as it is. Both cameras have the same direction, which is directly forward. So we only need to change the offset of the second camera, and leave the direction unchanged.

I'm quite happy with how much you can turn the camera around, and have no problems with how bouncy it is, so we're not going to change those values either.

XYZ-coordinates
The offset of each camera is defined using coordinates X, Y and Z, one for each axis in the 3D simulation. I don't know what units are used (metres?), but here's what I've figured out:

  • X - How far the camera is from the centre of the train. 0 is right in the middle, a negative value is to the left, and a positive value is to the right. It's currently a negative value of -0.785, because the driver's seated on the left of the train.
  • Y - How far the camera is, measured from the ground. It is at 2.6.
  • Z - How far the camera is positioned forward or backward. Measured from some arbitrary point. A higher number is further forward. It is currently at 8.8.

Determining the new coordinates
I want the secondary camera to be positioned in the same place as the regular primary camera, with the only difference that it's moved forward enough, so that it is in front of the wind shield. That means we can give the secondary camera the same X and Y coordinates as the primary camera.

The only thing we'll need to figure out is what the Z coordinate needs to be. It is currently at 8.8, but that's not far enough forward. The secondary camera is at 9.1, which is indeed a little more forward, but still not enough. So what we know for sure is that it has to be more than 9.1

It will take some trial and error to find the right value, see the next section about testing your changes. After a few attempts, I settled on 10.3.
Testing your modifications
Convert the file back
After you've made your changes to the file Class377 Cab Camera.xml, save them. Now we need to convert it back to a .bin file. You can do this by dragging and dropping the Class377 Cab Camera.xml onto serz.exe. The Windows command line window will appear again for a split-second, and you should now see that the file Class377 Cab Camera.bin has been updated.

You can tell from the file modification time in Windows Explorer, that the .bin-file has been updated.

Place the file back into its original folder
Now place the .bin file back into its original folder:
C:\Program Files\Steam\steamapps\common\railworks\Assets\RSC\BrightonMainLine\RailVehicles\Electric\Class377\CabView

You did make a backup like I told you earlier, right? Overwrite the Class377 Cab Camera.bin that was already in that folder.

Now start up Train Simulator and load up a scenario with the train in question. Then switch between camera positions with the right and left arrow keys to see the results.

If you're not happy with it, edit the xml-file again, convert it to bin, place it back into its proper folder and restart Train Simulator. Repeat this until you've found a value you like.

I can still see the passenger walkway bit if I turn my head all the way to the right, but I now have a completely clear view in front of the train. And I still hear the AWS sounds.
The XML file
For completeness' sake, here's the entire Class377 Cab Camera.xml after I was finished modifying it:

<?xml version="1.0" encoding="utf-8"?> <cBlueprintLoader xmlns:d="http://www.kuju.com/TnT/2003/Delta" d:version="1.0"> <Blueprint> <cCabCameraBlueprint> <Name d:type="cDeltaString">377 Cab Camera</Name> <RenderComponent> <cCameraRenderBlueprint/> </RenderComponent> <UpdateComponent> <cCabCameraUpdateBlueprint> <camType d:type="sUInt32">1</camType> <cameraOffset> <cRVector3> <X d:type="sFloat32" d:alt_encoding="00000060B81EE9BF" d:precision="string">-0.785</X> <Y d:type="sFloat32" d:alt_encoding="000000C0CCCC0440" d:precision="string">2.6</Y> <Z d:type="sFloat32" d:alt_encoding="000000A099992140" d:precision="string">8.8</Z> </cRVector3> </cameraOffset> <cameraDirection> <cRVector3> <X d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</X> <Y d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Y> <Z d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</Z> </cRVector3> </cameraDirection> <windowCameraOffset> <cRVector3> <X d:type="sFloat32" d:alt_encoding="00000060B81EE9BF" d:precision="string">-0.785</X> <Y d:type="sFloat32" d:alt_encoding="000000C0CCCC0440" d:precision="string">2.6</Y> <Z d:type="sFloat32" d:alt_encoding="000000A099992440" d:precision="string">10.3</Z> </cRVector3> </windowCameraOffset> <windowCameraDirection> <cRVector3> <X d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</X> <Y d:type="sFloat32" d:alt_encoding="0000000000000000" d:precision="string">0</Y> <Z d:type="sFloat32" d:alt_encoding="000000000000F03F" d:precision="string">1</Z> </cRVector3> </windowCameraDirection> <verticalDirectionalFreedom d:type="sFloat32" d:alt_encoding="000000606666EE3F" d:precision="string">0.95</verticalDirectionalFreedom> <horizontalDirectionalFreedom d:type="sFloat32" d:alt_encoding="000000000000FC3F" d:precision="string">1.75</horizontalDirectionalFreedom> <SpringXCoefficient d:type="sFloat32" d:alt_encoding="000000A09999B93F" d:precision="string">0.1</SpringXCoefficient> <SpringYCoefficient d:type="sFloat32" d:alt_encoding="000000E051B8BE3F" d:precision="string">0.12</SpringYCoefficient> <SpringZCoefficient d:type="sFloat32" d:alt_encoding="000000E051B8AE3F" d:precision="string">0.06</SpringZCoefficient> <DampingXCoefficient d:type="sFloat32" d:alt_encoding="00000080976E923F" d:precision="string">0.018</DampingXCoefficient> <DampingYCoefficient d:type="sFloat32" d:alt_encoding="000000E051B88E3F" d:precision="string">0.015</DampingYCoefficient> <DampingZCoefficient d:type="sFloat32" d:alt_encoding="00000040E17A843F" d:precision="string">0.01</DampingZCoefficient> </cCabCameraUpdateBlueprint> </UpdateComponent> <PosOriComponent> <cPosOriBlueprint/> </PosOriComponent> </cCabCameraBlueprint> </Blueprint> </cBlueprintLoader>

I've set tab indentation to be just two spaces wide for the sake of legibility.
Missing tracks.bin error
I haven't seen this error happen with the Class 377, but the game may show you the "missing tracks.bin" error if you have modified the game and are trying to play a career scenario.

If you see the message, don't click anything, but press F2. This opens the save dialog. Save the game, or just press cancel, and you should be able to play. You will not get any points when you finish the scenario, and I believe the achievements don't work either. If you want your points and achievements really badly, you will have to undo the modifications.

What happens here is that the game detects it's been modified. It doesn't know exactly what has changed, just that something has. It could potentially be something that lets you cheat in the on-line scoring charts you see when you finish a scenario. In theory, you could modify a train to be extremely light and responsive, so you can always be 10 minutes early at every stop.
Another example: moving the Class 86 second camera to the right
Player @Mattg17 [TF] told me of a camera modification he did to the Class 86 that comes with the WCML North route. The second camera of that train just pushes your face closer to the windshield, he modified it to have it sit on the right side of the cab instead.

The steps required are very similar.

Filename
This is the file you need to edit:

railworks\Assets\keithmross\WCMLNorth\RailVehicles\Electric\Class86\Default\Cabview\Class86_CabCam.bin

From the file name we can tell this is the cab camera definition, although it's named slightly differently from the one used for the 377. How the files are named is up to the developer of the train.

New XYZ-coordinates
Determining the coordinates is really easy, since we're just doing a mirroring of the default camera position. For the second camera, the Y and Z coordinates should be exactly the same as those for the primary camera, since height and forward position are the same.

Only the X coordinate changes, and it's a matter of changing it from a negative value to a positive one. The default camera's X coordinate was set at -0.75, so for the second camera the value should be 0.75.
Enjoy!
Have fun with your new camera position!

If you look behind you form this new position, the cab can look a bit odd. That's because we've done something the developers never anticipated on, and are now viewing the inside of the cab from the wrong side. It looks downright weird with many missing textures. But since we're going to spend most of our time looking forward, this is no issue.

Don't forget to make a backup of your modified camera position file. Updates to the game may restore this file to its original state, as does verifying the integrity of the game cache.


This text is licensed as Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)[creativecommons.org].


This guide is not licensed for training an AI or to be minted as NFT.

Feel free to link to this guide.

If you have any feedback, additions, corrections, suggestions, etc., please leave a comment below and help make this guide even better.
11 Comments
reuben.smith Jul 25, 2023 @ 4:30am 
STEPHEN
Delfino Oct 11, 2021 @ 3:37pm 
Thank you for this guide. I had a problem with BR86 steam loco. They never included a view through the window, which is crucial on steam locos to see the track ahead. I used your gude to make one. Works as charm now!
timahoo Sep 5, 2018 @ 12:48pm 
One quick easy suggestion for finding the correct train folder: Download Process Monitor from Microsoft, set the process monitor filter to ['Path' 'Excludes' then type in "RailVehicles" without the quotes 'then' 'Exclude'] then in Train Simulator select your Train in Quick Drive, go back to the process monitor and it will show you which folder was being used.
Stansky Jan 4, 2016 @ 12:56am 
Thank you for sharing this, can't wait to try it out on the AC6000CW.
Always wanted the view from the Dash 8 40CW in it.
pushkin172 Oct 4, 2015 @ 1:13pm 
Sounds so complicated .I use what I have
Ewo  [author] Oct 1, 2015 @ 11:43am 
@Tysoniscool I have no idea how to do that, or if that's possible in the first place. Not yet anyway. I am currently trying to fix the GN F7 Empire Builder, which has some issues with excessive friction, causing it to slow down even when going downhill. I haven't yet been succesful. But who knows, maybe one day I can tell you.

Until then, it might be worth joining the community at http://railworksamerica.com , there are many knowledgeable modders there.
Ewo  [author] Jun 1, 2015 @ 12:16pm 
Sorry, when I said "footplate" I meant "porch", or whatever the little fenced, flat areas on the front and back of most US locos are called.
Ewo  [author] Jun 1, 2015 @ 12:03pm 
@Great Western Railway Nicely done! I had not considered modifying headout cameras. I should probably write a bit about them, on some shunter locomotives it may be nice to have a footplate view instead.
smiling man thumbs up May 31, 2015 @ 3:37pm 
I've modified the headout camera of the Class 444 to make a passenger view!
Ewo  [author] Mar 4, 2015 @ 9:50am 
@Mattg17 [TF] Well that's a use I had not anticipated, but indeed, the method is exactly the same :D

I should add an example of that to the guide. Glad you found it useful.