This is the thread that I got when I asked google for "rrt3 lco format". Not much useful information so far, but I found out at least a few things and will post them here.
Code: Select all
00000000: d507 0000 4d6f 6775 6c4c 0000 0000 0000 ....MogulL......
00000010: 0000 00cd cdcd cdcd cdcd cdcd cdcd cdcd ................
00000020: cdcd 0000 4842 0000 7042 0000 a040 0000 ....HB..pB...@..
00000030: 003f 1005 0000 0001 0000 0005 0000 0000 .?..............
00000040: 04a6 4700 0000 0000 00c0 4000 803b 4601 ..G.......@..;F.
00000050: 0000 cd02 0000 0003 0000 00 ...........
Above is the unadultered hexdump of an lco file. Below follows a modified one with placeholders for the values I found out:
Code: Select all
00000000: d507 0000 4d6f 6775 6c4c 0000 0000 0000 ....MogulL......
00000010: 0000 00cd cdcd cdcd cdcd cdcd cdcd cdcd ................
00000020: cdcd 0000 VMAX 0000 FRWG 0000 POWR 0000 ....HB..pB...@..
00000030: 003f 10XX 0000 00YY 0000 00ZZ 0000 0000 .?..............
00000040: 04CO_ST00 0000 0000 00CO_NS00 80MN_TC01 ..G.......@..;F.
00000050: 0000 cd02 0000 0003 0000 00 ...........
Where:
VMAX = V_max, maximum Speed
FRWG = Free weight
POWR = Pulling Power
CO_ST = Cost (price)
CO_NS = Consumption (Fuel economy)
MN_TC= maintenance
XX = Accelleration
YY = Passenger Appeal
ZZ = Reliability
The Two-Letter thingys are actually only small numbers 00-05 where 00 means "very poor" and 05 is "very good".
The four-letter words are actual dwords I don't really understand: for V_max, I get this picture:
Code: Select all
4842 hex = 16968 decimal -> 50 MPH
b841 = 16842 -> 23 MPH
cc42 = 17100 -> 102 MPH
Well, all I can say is that higher numbers make the train go faster (or more expensive, more consumption, ...) -- I can't figure out the formula behind those numbers.
Things to note:
Fuel Consumption in the game is represented by terms like "above / below average" just like reliability or passenger appeal. However, it's more fine-grained than that. In my game files, I found values between 083f (outstanding) and 2041 (abysmal).
Someone who can do it better than I could should perhaps explain that little-endian thing. Some people are bound to be confused.
What the stuff means:
V_max, Cost, Maintenance, Appeal and Acceleration are quite straightforward.
"Free Weight" and "Pulling Power" demand some explanation, though. "Pulling Power", in and of itself, would be simple: think of it as a Horsepower or Kilowatt value of the engine's power. A more powerful engine can handle heavier loads and/or steeper grades. However, the game developers added the concept of "Free Weight" to make things more confusing. I don't even know if one should take that term, "Free Weight", too literally -- I've seen it in some table somewhere and thought I'd better stick with it, if only because it's the established name. Anyways, it's another knob that adjusts how an engine manages heavy loads and steep grades. I presume that Free Weight is a kludge to keep the game interesting. I've read that in real life, even a 1% incline requires twice the power (compared to level track). But in the game, 4-6% isn't too uncommon, often unavoidable. With real-life physics, an engine powerful enough to handle a 5% climb could probably pull *any* load in the plains.
Fuel Consumption isn't something you see in the game as such -- it only shows up as running cost in the ledger. Especially, it doesn't mean that your water lasts any longer -- the distance between refills is the same for all steam locomotives.