Transforming the Railroad Tycoon III dining car concept into a banking locomotive concept



1st trial report

I first mentioned this idea at the beginning of the month in the forum of the leading Railroad Tycoon III website. Today I had the opportunity to lay my hands on the project. It involves the following major steps:

Step 1. Simulating the effect of a banking engine

The main headache was to figure out how to specify a negative weight for the selected dining car. In this, I was aided enormously by colleague Gumboots' explanations on Hex editing, and mainly the clarification that RT3 hex files use Little Endian format. From that point onward, I looked up the concept of Little Endian, especially the trick that it is syntaxed quasi-backwards by 2-digit groups. I also downloaded the WFW freeware hex calculator Hexit 1.5

I decided to start with the earliest historical period available in Railroad Tycoon, "Era A". After some familiarisation with the specifications of the era's rolling stock, I decided to begin by deducting the weight of a light locomotive plus one 2-axle van, in total 32 tons. As I explained in the linked topic above, I didn't want to remove too much weight, fearing that it might cause unpredictable and unwanted results.

Afterwards, I explored the way negative decimal values are transcripted into Little Endian format. The Hexit calculator displayed that -32 is written as C2 00 00 00 (not a trace of a minus sign anywhere, if that's what you -and I, as a matter of fact- erroneously expected). This, reversed by 2-digit groups makes 00 00 00 C2 in Little Endian. I checked out several other .CAR files at random to verify the correctness of this principle. So, I substituted the original with 00 00 00 C2 in the last 4 byte slots of the "DinerA.CAR" file, that specifies among other things the default early diner's weight (which was 7t by the way). With this move, I changed it to -32t in one of my portable USB installations of the Tycoon.

The trial

For testing the outcome, the mountainous Argos - Tripolis route of our South Balkan base map was chosen, in the uphill direction of course. As is often the case with the level of topographical detail in Railroad Tycoon III, our alignment has followed the real-life motorway instead of the actual ΣΠΑΠ mainline. This makes it a distance of 54 km instead of the 68 of the real railway. Our virtual route has an estimated rouling gradient of 3%, with 5% in some places on the steep climb from the Argolis plain to the Tripolis plateau, and then a gentler descent towards Tripolis. Its water tower is located at Achladokampos and the locomotive depot near Partheni (the real-life depots are at Tripolis and Myloi). The consist tested comprised 3 boxcars loaded with fruit and a 1A1 "Firefly" locomotive with a Vmax of 58 km/h. The latter was chosen because our whole concept of a helper engine is to avoid train-changing at such difficult sections of longer routes and to add some value to such lighter, quicker engines with medium payloads that are slowed down prohibitively along hilly sections. The recorded results (in km/h) were as follows:
locationSpeed without assistanceSpeed while assisted by "weight-reducing caboose"
Passing Achladokampos water tower1927
Passing Partheni depot1937
Maximum recorded uphill2438
Maximum recorded on the Tripolis plateau descent2748
Preliminary conclusions: Obviously, the weight-reduction technique worked. The operational results seem to be within realistic frames in the case of a medium-powered assisting loco. Since the Vmax of the leading locomotive was not reached, we cannot accuse the effect of being excessively optimistic. Further testing is considered desirable under a greater variety of situations.

Step 2. Replacing the dining car 3D-model with that of a locomotive

Suppose we want to employ for banking a loco with the look of a Fairlie. We open in a hex editor the DinerA.CAR file we want to modify. A CAR file exists for every piece of motive power and rolling stock and defines some of its main physical and operational properties. We also open the CAR file of the engine we want to imitate, in this case the Fairlie. We won't touch the latter, but we want to spy on it and see how it defines the 3D model used. The marked positions indicate the ID of the texture and the geometrical model that depict the Fairlie. At the exactly corresponding byte addresses (positions) we must replace the Diner's ID with that of the Fairlie. TAKE CARE TO WORK IN OVERWRITE MODE ! Unlike a word processor, where you want to type your new text first and then delete the obsolete one, if you do this in the CAR file you will fuck everything up. See also marked the end of the file, where we have modified the weight to represent a negative value.

Good luck, the responsibility is all yours !

P.S.: Was the late Oliver Bulleid sort of "Little Endian fan" too? He designated Pacifics as "21C" instead of "2C1" !

Dipl.-Ing. Nikolaus Sbarounis
CAUTION: Always make sure to conduct such experimantation in separate, dedicated installations that are securely backed-up elsewhere! The deafault "DinerA.CAR" -or whatever car you are about to modify- has either to be renamed or moved out of the EngineTypes subdirectory of the affected DATA location. Always keep an extra, "clean" Tycoon installation without any weirdo stuff, that you can revert to.

Comments