Jump to content

Modding RT2


cogeo

Recommended Posts

Just found this forum!

It's amazing to see that there are still people playing RTII!

Tried RT3, but didn't like it. First and foremost, that "flexible" track and its "fuzzy" track laying tools turned me away. The cargo model isn't really that good either. Locomotive are fewer than RTII too. RT3 just has better graphics, and a more "realistic" passenger model. And of course some few other improvements like the stock-market, company mergers/takeovers, but these are minor, and in general the cons outnumber the pros imo.

As for your question, I have modified and fixed quite many maps, so I think I could help. As the RTII map editor doesn't allow copying/pasting events, I think it would be easier to send me the map, better along with a test-game (f you have such a game).

If you are interested, I have made some mods for RTII, to improve some things I didn't like:

- Changed the salaries of some managers (Andrew Carnegie, John Work Garrett, Robert Gerwig) to above $85,000) so that they can be hired by bigger companies.

- Changed bonds' amount to $1,000,000, $2,000,000 and $5,000,000 too (you can get such bonds if your financial state allows it - the interest rate is calculated correctly too).

- Changed purchase price for all industries to 10x. Sorry, but I found the original prices ridiculously low. For example, a Bakery costs $300K to buy, but can pay $500K, $700K, or even above $1,000K (if the destination is long and demand high) for hauling its production. This is highly unrealistic. The interesting thing is that profits increase proportionately, eg the aforementioned bakery will be making some $250K to $600K a year (if all of its cargo is delivered).

The above changes result in a dramatically different gameplay, and require modified scenarios. You can make a lot of money from industry but now you have to make a decision whether to buy industries or expand your track, as it requires a lot of money. Of course you can borrow more than $10M now, however debt can be a burden. And you can't afford having loss-making industries (take care about farms and raw material producers). Scenarios and victory conditions (company and personal wealth) must be adjusted accordingly.

The above mod is for the 1.54 version of the game (Gold), but I could post modding instructions, if anybody is interested in modding other versions too.

Link to comment
Share on other sites

Welcome aboard, Cogeo.

I solved my problem.  See the next thread.  I was placing < instead of >.

Each trigger needed one of each and I was just careless.  Well really, I was just to busy to spend the time needed to double check the triggers.

I had the same feeling as you did when RT3 was released.  I made a few maps and then returned to RT2. 

I still play a few maps in RT3 and have started a few new maps. 

There are a lot of mods now for RT3 and a new game under development; both at hawk's site.

I could post modding instructions, if anybody is interested in modding other versions too.

Please post your instructions for how to make mods for RT2. 

There are a fair number of players that stop by each week.

I'm sure they would enjoy anything new for RT2.

I'm not that good at adapting new things into the game.

Even my map making has slowed as I am not spending more time on other things.

But, I will continue to monitor and add to this site.

.

Link to comment
Share on other sites

  • 4 weeks later...

Yes, definitely post modding instructions!

Since OP has found his problem and this thread is already hijacked, I'd like to comment on the mod that was posted about:

Manager costs:

By the time you can afford to pay for the big guys, you don't really need discounts on stations, track, and engines. The preponderance of bonuses to passengers means you need to be sure you're hauling a lot of them to make up for the increased costs in other areas. Or, you can grab a cheaper manager while they're available and just hold onto him, whichever is the most useful.

Bond amounts:

Out-froggin-standing! I'd say you don't need more than a bond amount greater than $2 million, since the maximum you can borrow is $10 million. That's 5 clicks instead of 20.

Purchase price for industries:

I'm going to disagree with you here. I know what you mean, but you misunderstand the point of buying industries. A given industry is only capable of paying back up to about 25% of its purchase price in a single year, and then only if you deluge it to the point where the station isn't paying much for the cargo. The money you're thinking of is what you get whether you buy the industry or not. According to your model, it would be pointless to buy an industry because it would never pay for itself; you'd only buy one to make sure it didn't go out of business (sucks to have a critical industry disappear). Further, what you've done is prevent the AI from stealing industries from you. You gotta have some reason to hate them!

Above, I said the industry pays up to about 25% of its purchase price. (That is, a $1,000,000 Nuclear Plant can earn you about $250,000 a year if well supplied, but the price paid for shipping the Uranium and Waste is likely to go down, meaning you're not really making this much.) When you modified the prices, did these payoffs also go up? I just assumed there were fixed values, but they might actually be percentages.

Link to comment
Share on other sites

  • 2 months later...

Hi again,

I was not on the board for some time now, but let's continue the discussion about modding (Gwizz pls consider moving the last few posts to a separate thread, or... renaming the thread).

First of all someone should check if it's legal to post modded versions of the .EXE. Normally this is not legal, however the game is 12 y/o, plus having the .EXE alone does not make it possible to run the game, without having the full CD available and the game installed. But we have to be sure.

Then again, we must make sure that posting modding instructions is legal too (many companies specifically prohibit this as well, even for personal use). The license agreement says:

"...You are not permitted to copy or otherwise reproduce the SOFTWARE or ACCOMPANYING MATERIALS; modify or prepare derivative copies based on the SOFTWARE or ACCOMPANYING MATERIALS;..."

I wouldn't like to be subject to a legal case here, so someone has to check this and tell us specifically (ideally obtain a permission from the current owner).


Below are my replies to TheDS post:

Manager costs:

By the time you can afford to pay for the big guys, you don't really need discounts on stations, track, and engines. The preponderance of bonuses to passengers means you need to be sure you're hauling a lot of them to make up for the increased costs in other areas. Or, you can grab a cheaper manager while they're available and just hold onto him, whichever is the most useful.

I have a different opinion  here, and the game author appears to agree too: the managers offering the highest track-laying discounts (-40%) are highly-paid (Charles F. Mayer: 89K, Charles M. Hayes: 77K). You can hire them only if you have a large and profitable company. Just wanted to have a station builder, an electric track builder and a bridge/mountain engineer available to big companies.

Bond amounts:

Out-froggin-standing! I'd say you don't need more than a bond amount greater than $2 million, since the maximum you can borrow is $10 million. That's 5 clicks instead of 20.

Not exactly, what is capped is not the total amount (10M), but instead the number of bonds (20). So 20 x 5M = 100M! But you can issue smaller bonds too. I needed this for buying industries (see below). And this is not actually a "cheat" (to make the game easier) as them max amount you can borrow is still limited by your credit rating. If you don't qualify you don't get it, eg a 2M company cannot issue a 5M bond. Effectively, I just removed the "artificial" cap of 10M.

Purchase price for industries:

I'm going to disagree with you here. I know what you mean, but you misunderstand the point of buying industries. A given industry is only capable of paying back up to about 25% of its purchase price in a single year, and then only if you deluge it to the point where the station isn't paying much for the cargo. The money you're thinking of is what you get whether you buy the industry or not. According to your model, it would be pointless to buy an industry because it would never pay for itself; you'd only buy one to make sure it didn't go out of business (sucks to have a critical industry disappear). Further, what you've done is prevent the AI from stealing industries from you. You gotta have some reason to hate them!

Above, I said the industry pays up to about 25% of its purchase price. (That is, a $1,000,000 Nuclear Plant can earn you about $250,000 a year if well supplied, but the price paid for shipping the Uranium and Waste is likely to go down, meaning you're not really making this much.) When you modified the prices, did these payoffs also go up? I just assumed there were fixed values, but they might actually be percentages.

I read my post again, just to make sure that I didn't confuse you, but sorry, I think I was clear. Pls read it once more. There are two kinds of profits concerning industry and cargos, the haulage revenue, which you get if you deliver cargo to a destination (whether you own the industry or not), and the profits it makes, which you get if you own it, of course. In my modded game, industry costs 10x to buy, and the profits you can get are 10x too, but the haulage revenue remains the same. See the bakery example in my previous post, I don't have anything more to say. In your nuclear plant example, you will need $10,000,000 to buy it, and can make $2,500,000 a year, but "the price paid for shipping the Uranium and Waste" will be unaffected. Basically what I have done is to raise the price of industry (and its profits) by an order of magnitude. In most scenarios, industry is actually a minor player. Even in industry-rich maps, if you get all industries around you can hardly get as much as, say, your Station Revenues (pls take a look at your games). That is industrial profits are rather unimportant. Is it realistic owning all the industry of a region or country, and still making most of your money from hauling cargos? And what you said about buying industries to keep them from disappearing actually applies to the original game: they cost pennies, they don't earn you much money, and you can even afford having some loss-making ones. Instead, in the modded game, they cost a lot to buy and can earn you a lot of money too. So the basic criterion whether to buy one or not is its profitability potential. You are often caught into dilemmas too, eg get some bonds and buy an indusry or instead expand you track? With the $3,000,000 needed to buy the bakery, you can make a lot of expansion, and you will probably be making more (from haulage revenues) than the $250,000-$500,000 the bakery would make.

Another thing I would like to mod are some engines. Not anything radical, just fix some things a little. For example, the Iron Duke engine (avail.1855) is way too powerful for its era, actually its power is only matched some 40 year later. Instead, the Consolidation appears rather weak. Class G10 is extemely costly to operate, without being powerful enough (you can never make any profit with these). And the modern european electrics (Eurostar, Brenner, Thalys etc) are incredibly costly to buy and operate too, not only they will never pay for themselves, they will actually be always in the red (better get a Class E111, even for passenger service). I haven't tinkered with engines though, there are quite many parameters you can set, and I'm not sure if it would be possible to make a meaningful mod, and not break the whole thing. But I may try it some time.

Link to comment
Share on other sites

They're modding RT3 over at my forum like crazy. As a matter of fact there's about to be a new version of RT3 released, created by the forum members. It's called Trainmaster and is a complete re-work of the industry environment, new industries added, and a lot more.

I contacted a couple of the guys from Take2 about it, as well as Phil Steinmeyer, and the only thing said was from Phil, and since the Trainmaster is a 'not-for-profit' release it shouldn't be a problem. The two guys from Take2 never did get back in touch with me so I take that as a 'No Problem' answer.  ;D

Link to comment
Share on other sites

  • 2 weeks later...

Hi cogeo,

as a Brit railbuff I can tell you that the Iron Duke being way ahead of its contemporaries is historically correct. Except that (rather like electrics) it needed expensive special track (7ft broad gauge). On standard gauge it was matched by Stirling's no.1 class 4-2-2 (1870) but not seriously surpassed until the 1890s.

Which means it should not be allowed outside Europe, maybe not outside Britain, and in Britain maybe only under special choice/event restrictions pre-1870 (including, for historical accuracy, having Daniel Gooch as your manager). Which further leaves a hole for a not-quite-so-good British/European engine of that period, faster than the American 4-4-0 but less good on grades, maybe also more expensive on fuel.

Hawk, your Trainmaster project sounds interesting... Richard

Link to comment
Share on other sites

  • 7 months later...

Cool thread. I remember "modding" Sid Meier's original RRT from Microprose (mostly in saved games, but I poked around in the EXE too).

Where does one find locomotive, building and freight-car data in RRT2?  I'd like to unlock the full military-industrial complex (steel, rubber, chems, munitions, troops & guns) in time for the Civil War.

Of course, designing a scenario to depend on a modded file/exe could be an audience-limiting idea  :(

Link to comment
Share on other sites

@Gwizz: Many thanks!

@jeffryfisher: From my postings above, it should have become clear that by "modding" I mean modifying the .EXE, and more specifically only the data it contains, not its code. For example, industry purchase prices. All such data are located within the .EXE. You need a hex editor to do this job (of course backup the origianl first). You have to locate the data you are interested in and chabge them. You may not change the length of the .EXE (ie insert or delete bytes), just overtype. Barracks and troops are a quite strange case. The barracks in my game were game-grown (pre-1900) not placed by me, but no cars were available. I have located the "troops" cargo type and found that their start date was... 1800! So the reason why cars aren't available before 1900 can't be explained. It must be something else. For engines (haven't looked on them yet), I would suggest changing nothing but costs, as there are many parameters involved (power, traction, speed, etc, etc) and I doubt if it will possible to successfully decode all of them, and make some meaningful and consistent mod, and not break the whole thing instead. Reliability is another thing you may also want to change (check-out this document). As for modding limiting audience, I'm just trying to revive interest in this game by modding it. And I'm not so sure about the RT2 audience as of now  :D :D :D :D

Link to comment
Share on other sites

From my postings above, it should have become clear that by "modding" I mean modifying the .EXE

I assume nothing, since I know that developers can structure their programs to grab data from external data files. RRT2 has two data subfolders. Data2 is full of music and another subfolder called "miles" that might be sound effects.

"Data" has four ".PK2" files that I haven't decoded yet, but one or more could contain parameters that interest us.

What would have been nice is if PopTop had put all modeling parameters into XML files a la SimCity... Hey, a guy can dream  ;)

For example, industry purchase prices. All such data are located within the EXE.

Do you have addresses or searchable text bits I can use to find them?

You need a hex editor

Natch... I've been using hex editors for at least 15 years. Before that, text editors were so primitive that they acted like primitive hex editors anyway.

You have to locate the data you are interested in...

I did some hunting last night. I thought I had found the locomotives, but all I had were their display parameters, and tenders' display parameters, and freight cars'. Now I can change when "modern" freight car images start, oh boy! I suppose I could also add belching smoke to an electric loco image.

There are two indexes in each loco image record, a locomotive index that only locos have, and a "car" index that places it in the whole collection of rolling stock. We might be able to use those to id loco behavior data elsewhere nearby.

I may also have found something related to buildings, because I found a series of 17-byte records below the car-image data, and some abbreviations look like building types. The records have easily recognizable dates in them (any two-byte combo with a '7' in the high-byte is probably a year: 7*256 = 1792, so "108 7" is the year 1900).

Come to think of it, '7' may be a good search term. Because EXE files put their data resources at the end, searching for '7' upward from the bottom could turn up new data sections.

I have located the "troops" cargo type and found that their start date was... 1800!

You may have located only the same image data that I found, so that date may only be when the image becomes valid for display, not when the economic model may start generating virtual cars needing to be displayed.

For engines (haven't looked on them yet), I would suggest changing nothing but costs, as there are many parameters involved (power, traction, speed, etc, etc) and I doubt if it will possible to successfully decode all of them...

Once patterns begin to emerge, you'd be surprised what can be decoded... but I'm not into creating super-locomotives. I might change some default introduction dates to match my own research, but I have no other plans (yet). My goal is to mod the industrial parameters so that I can have a temporary burst of freight during each war beginning with 1861-65.

Link to comment
Share on other sites

I assume nothing, since I know that developers can structure their programs to grab data from external data files...

I meant modify the installation (.EXE and/or its data), in constrast to modifying the saved games, as you mentioned in your previous post.

Do you have addresses or searchable text bits I can use to find them?

Yes,  I do have these, and I'll be posting them in this thread, so stay tuned! Btw, you have the Gold (V1.54) or Platinum (V1.56) version?

Now I can change when "modern" freight car images start, oh boy!

I don't think it's that simple. Along with newer car "images", come also increased weights. For example, passenger cars weigh 30 tons since 1898 (before that date they weigh 15 tons, while during the early years the're 10 tons, and later on 40, or 45 tons - can't remember). Btw I have included a link in my previous post. Did you dl it? The reason I'm asking is that there was a similar file, containing lists (in .TIF format as well) of all car types. I can no longer find it. Do you have it?

Come to think of it, '7' may be a good search term. Because EXE files put their data resources at the end, searching for '7' upward from the bottom could turn up new data sections.

Searching simply for 0x07 will hardly deliver any useful results, I'm afraid, as the number of occurences will be enourmous. I have searched two-byte sequences, like 0x6C 0x07 (=1900), and it's incredible how many occurences were found.

You may have located only the same image data that I found, so that date may only be when the image becomes valid for display, not when the economic model may start generating virtual cars needing to be displayed.

I think the opposite is true as there are cargos, but not cars available. Maybe cars and cargos are different entities.

... but I'm not into creating super-locomotives. I might change some default introduction dates to match my own research, but I have no other plans (yet). My goal is to mod the industrial parameters so that I can have a temporary burst of freight during each war beginning with 1861-65.

Aren't both these best controlled with events? These will affect only your scenario and only temporarily.

Link to comment
Share on other sites

you have the Gold (V1.54) or Platinum (V1.56) version?

I just upgraded to the v1.56 patch of platinum. Until last week, I had been running (I think) 1.03 of platinum.

Along with newer car "images", come also increased weights.

Okay, I thought those numbers looked like weights. That means that every locomotive is 30 tons. Add "realistic" locomotive weights to reasonable mods (unless those numbers are completely ignored for locomotives).

a link in my previous post. Did you dl it?

I was on my out for the weekend, so I just downloaded it now. Translating from German is fun:

"Beschleunigung" = acceleration

"Zuverlassigkeit" = reliability

The data in those images correspond to what's in the player's manual and appendices. It looks like a player aid printed (or imaged on disk) for the German edition of the game.

there was a similar file, containing lists (in .TIF format as well) of all car types. I can no longer find it. Do you have it?

Nope.

there are cargos, but not cars available. Maybe cars and cargos are different entities.

Yes: cargoes, cars, and the images used to display the cars are probably three different sets of data. Industrial buildings may be a fourth. What I found was mostly car-image data.

To run an industry, the production building must appear, it must operate, the cargo must be enabled, its car must be enabled, and the image of the car must exist

My goal is to mod the industrial parameters so that I can have a temporary burst of freight during each war beginning with 1861-65

Aren't both these best controlled with events? These will affect only your scenario and only temporarily.

I would need to mod the troop car availability to pre-1861 before I could even use an event to boost troop production and/or revenue.

Link to comment
Share on other sites

I just upgraded to the v1.56 patch of platinum. Until last week, I had been running (I think) 1.03 of platinum.

Unfortunately modding must be performed on both the two "current" ( :-*) last versions (V1.54 & V1.56) ie the patched ones. There's no need to patch versions like V1.03, as players are meant to have installed the latest patches.

Okay, I thought those numbers looked like weights. That means that every locomotive is 30 tons. Add "realistic" locomotive weights to reasonable mods (unless those numbers are completely ignored for locomotives).

I was talking about cars, their weights increase, and that's why I wanted the file with the cars (but you can find them in the .EXE too). As for locomotives, not ALL of them weigh 30 tons, some weigh more. DL the locomotive datasheets from Hawk's site. For example, the Class G10 I mentioned in a previous post, is actually quite powerfull, but doesn't perform well because it's way too heavy itself. I don't use her, and keep using the good old Mogul (or postpone my fleet renewal for a while) until the Prairie becomes available, and this is due to high costs, but performance isn't satisfactory either.

Translating from German is fun:

"Beschleunigung" = acceleration

"Zuverlassigkeit" = reliability

The data in those images correspond to what's in the player's manual and appendices. It looks like a player aid printed (or imaged on disk) for the German edition of the game.

The main reason I posted this file is the acceleration and reliability data, expressed as numbers and not descriptions like "Average". If you have located the locomotive data it might be possible to find these too.

Link to comment
Share on other sites

RT2 is an old program and uses significant CPU resources. In newer systems it can cause performance problems, feeling like taking over your computer. This is easier to notice in systems with a simple processor (not duo or quad). For example, try to adjust the volume control while RT2 is running, and you will see what I mean.

So I have made a small program to overcome this little problem. It takes the following actions:

- Launches (runs) RT2_TSC.EXE (or RT2_PLAT.EXE)

- Lowers the process priority from "Normal" to "Below Normal"

- Then it exits immediately

If anybody is intersted, please take the following actions:

- Download the program from this link for the Second Century and Gold edition, or this one for the Platinum edition.

- Sorry, no installer. Unzip the file, and install (copy) RT2_EXEC.exe under the main RT2 install directory (in the same directory as RT2_TSC.EXE or RT2_PLAT.EXE).

- Right-click on (the copied) RT2_EXEC.exe, and select "Copy".

- On your Desktop, right-click and select "Paste Shortcut". This will create a (new) shortcut, pointing to the launcher.

- Give the shortcut a better name.

- Copy or move the shortcut to your menu (or everywhere else you like), if you wish.

- Use the shortcut to start RT2. You can see the altered process priority in your Windows Task Manager.

Enjoy!

Link to comment
Share on other sites

Unfortunately modding must be performed on both the two "current" versions (V1.54 & V1.56) ie the patched ones. There's no need to patch versions like V1.03

Then it is fortunate that I started by upgrading to 1.56. My first bonus is that errant swings of the mouse off-screen no longer send my view into outer space.

As for locomotives, not ALL of them weigh 30 tons, some weigh more.

If that's true, then the data in the rail-cars section isn't being used, because all of the locos I've seen there have "30 30" in the slots where freights have weights.

DL the locomotive datasheets from Hawk's site.

I downloaded some kind of loco fact sheets from there, but they don't list weights.

If you have located the locomotive data it might be possible to find these too.

Funny you should mention that, because I have located real locomotive performance data a ways above the display data. The top of the section is at x13CEC0 in v1.56. No names are included; I found them by recognizing the formation of two-byte years (xx 07) at regular intervals.

Based on the top three locomotives (steph, bull & dew), I recognize intro year, exit year, price, maint, and max speed. There are at least seven other parameters plus some apparent flags that I haven't deciphered yet.

BTW, I am shocked that the dollar amounts are whole rather than thousands (i.e. 2-bytes for 16,000 rather than one byte for 16). That means that those are really 4-byte values that include a couple of trailing (more significant) zeroes that I expect to see used for big-ticket locos like the Brenner.

Teasing meaning out of EXE gibberish is fun! It's sort of like decoding DNA, but without the high salaries and valuable patents  ;)  I laughed out loud the first time I tried composing some neighboring bytes into two-byte values and saw 16000, 23000 & 18000 fall out of the same position in each of the 1st, 2nd & 3rd "records".

Link to comment
Share on other sites

If that's true, then the data in the rail-cars section isn't being used, because all of the locos I've seen there have "30 30" in the slots where freights have weights.

The car weights ARE being used. You can see this with the passenger cars, for example. Prior to 1898 (15t) an engine like the 8-Wheeler is very much OK, and the Mogul is quite fast actually (I'm talking about 6-car consists). But from 1898 (30t), the Mogul appears insufficient, and the 8-Wheeler incredibly slow. With the Atlantic (avail 1902) you can achieve speeds similar to those you had before (with the older engines and lighter cars), and it won't be before 1908, when the Pacific becomes available, that you will see really higher speeds. And of course, cargos like alcohol and coal are very heavy, and require more powerful engines. So the loco and car weights are both being used. Maybe the section you found doesn't really contain the car weights.

I downloaded some kind of loco fact sheets from there, but they don't list weights.

The table in LocoDataGrouped.doc does contain a "Free Weight" column.

Funny you should mention that, because I have located real locomotive performance data a ways above the display data. The top of the section is at x13CEC0 in v1.56. No names are included; I found them by recognizing the formation of two-byte years (xx 07) at regular intervals.

Based on the top three locomotives (steph, bull & dew), I recognize intro year, exit year, price, maint, and max speed. There are at least seven other parameters plus some apparent flags that I haven't deciphered yet.

Then you may be close.  ;) Btw what exactly are you seeking to change here?

BTW, I am shocked that the dollar amounts are whole rather than thousands (i.e. 2-bytes for 16,000 rather than one byte for 16). That means that those are really 4-byte values that include a couple of trailing (more significant) zeroes that I expect to see used for big-ticket locos like the Brenner.

Why is this so shocking? It's quite normal. Most (all?) such "List Price" data, incl industry purchase prices and bonds' amounts are four-byte integers. Btw what is really "shocking" to me is the data type they have chosen to represent the balance sheet items in the gamefile: IEEE "real" (ie floating-point) numbers. While these are perfect for say, physics, they are not suitable for accounting. I discovered this when I tried to fix the error in the balance sheet, caused when you retire, replace or crash an engine: while its purchase price is (correctly) subtracted from the "Trains" entry (written-off), it's not subtracted from "Equity" too, so after you retire trains total assets do NOT equal total liabilities. For a long scenario like yours, this will accumulate, and the company's Equity can be much higher than the real one (by the total value of the engines retired/replaced/crashed). So it would be good to periodically (say every 5 yrs or so) locate the Equity entry and adjust it accordingly.

Teasing meaning out of EXE gibberish is fun! It's sort of like decoding DNA, but without the high salaries and valuable patents  ;)  I laughed out loud the first time I tried composing some neighboring bytes into two-byte values and saw 16000, 23000 & 18000 fall out of the same position in each of the 1st, 2nd & 3rd "records".

Yup, it's certainly fun!  :)




I have installed V1.56 (over my Gold installation). The patch only updates the .EXE. Had to find an older version of mss32.dll, to make it work. It works now, only there's no music. Does Platinum have new/different music (to Gold?).

I have started modding the Platinum version now, and I'm already done with industry (most of the work).

Also updated the launcher (for Platinum); see my post in the previous page.

Link to comment
Share on other sites

Quote

The car weights ARE being used...

Sorry, I was talking only about the locomotives' apparent 30 and 30. There's no difference in any of them, so if locomotives get different weights in the game, then those locomotive weights come from some other data section.

Quote
The table in LocoDataGrouped.doc does contain a "Free Weight" column.

Aha! I found the file in my folder of unzipped downloads. It's obviously data from an earlier version of the game (e.g. it has a "Welsh Tanker" that I've never seen; my game has the premature 3-truck Shay in that slot).

However, I can clearly see a correspondence between this table and the data section that I mentioned in my last post. If this table writer was correct about the meanings of the values, then the table explains what I found. I can also see that some of the numbers have been tweaked between that earlier version and v1.56. For instance, the free weight of Steph's Rocket has dropped to 10t.

I was also right about loco weights coming from a different data section than the rail-car data.

Quote
Btw what exactly are you seeking to change here?

In locomotives? Not much. It's just a discovery I ran into while looking for a way to turn on troops etc in time for the Civil War. I might tweak a few locomotive start dates to match the histories I've read, but that's just window dressing. If I think of anything else, I'll let y'all know.

Quote
industry purchase prices...

Before I forget:  I still haven't found industry data. Where are those numbers? Do you have a "map" of the data records?

Quote
Quote
I am shocked that the dollar amounts are whole rather than thousands (i.e. 2-bytes for 16,000 rather than one byte for 16)

Why is this so shocking?

When all of a class of numbers are multiples of thousands (and the largest conceivable value would easily fit into one byte instead of two, or two bytes instead of four), then I expect storage to be truncated.

What I can infer from the single-dollar granularity is that there are probably some internal values (results of interest calculations?) that need those finer digits, and so all of the game's monetary data, by using the same data type, followed suit. It's not a serious issue in these days of cheap RAM, but my old-school programming sensibilities are ruffled.  ;)

Quote
Btw what is really "shocking" to me is the data type they have chosen to represent the balance sheet items in the gamefile: IEEE "real" (ie floating-point) numbers.

That's appalling  :( 'nuff said.

Quote

I have installed V1.56 (over my Gold installation). The patch only updates the .EXE. Had to find an older version of mss32.dll, to make it work. It works now, only there's no music. Does Platinum have new/different music (to Gold?).

Umm... I think that v1.56 was intended to patch platinum, so you may have several problems, including non-matching locomotive names/images. To run v1.56 safely, I think you must start by installing RRT-2 platinum. I hope you can roll-back your gold installation to a working configuration.

Quote
I have started modding the Platinum version now, and I'm already done with industry (most of the work).

Cool; please remember to post the byte offset of the start of that industry data so I can decipher it (looking for a turn-on date to mod for troops etc).

Quote
Also updated the launcher (for Platinum); see my post in the previous page.

I noticed that and tried setting RRT2 to a lower priority using task manager. No matter how low I went, its CPU usage was 50%, and the CPU temperature ran about 122 F (~18 degrees above its idle temp).

Link to comment
Share on other sites

Sorry, I was talking only about the locomotives' apparent 30 and 30. There's no difference in any of them, so if locomotives get different weights in the game, then those locomotive weights come from some other data section.

.

.

However, I can clearly see a correspondence between this table and the data section that I mentioned in my last post. If this table writer was correct about the meanings of the values, then the table explains what I found. I can also see that some of the numbers have been tweaked between that earlier version and v1.56. For instance, the free weight of Steph's Rocket has dropped to 10t.

I was also right about loco weights coming from a different data section than the rail-car data.

The section you mentioned (0x13CEC0) appears to contain the actual locomotive (only) data. There's also another section, starting at 0x13DDB8, containing the car (in the broader sense) data; there are data for all car types, locos, tenders, caboose, pax and freight cars at different dates etc. This one does include names too. The empty and loaded weights are located 24 and 26 bytes respectively after the name start. It's easy to see if these are actually used or not. The best (only?) way to see the actual locomotive weight ingame is to run a train over some piece of track and compare the tonnage before and after the train passes. Most (or all?) locos weigh 60 tons (loco+tender). There are also three dates in each record, probably availability, replacement and unavailability date. This last one is almost (?) always 9999 (0x0F 0x27). Locos have all three dates set to 9999 (apparently these are specified in another data section). Having no interest in this, I never looked into it more in depth.

I might tweak a few locomotive start dates to match the histories I've read, but that's just window dressing.

I think these should be set in the scenario.

It's just a discovery I ran into while looking for a way to turn on troops etc in time for the Civil War.

Found it!!!  :O Now I need to decide what date to put there. I don't know when the first troop railcars really appeared, howver the current setting, where there are troop loads available but no cars, looks like a bug. An alternative would be to find and mod some "production rules" (like those specifying for example, that coal plants produce waste after some set date, or canneries accept steel up to some other one), so that troop loads and cars become available simultaneously, but this is far more hard and dangerous imo. So I can think of two options, either make troop cars available by 1800 (historically incorrect, but otherwise there will again be a period with loads available, but no cars) or choose a date like 1830, 1840 or 1850 and tolerate having no cars before. There is another thing to consider, there's only 1 troop car type in the game, and this weighs 40 tons, ie the heaviest cargo type for most of the 19th century, and locos of the era will have a hard time hauling them. What do you think?

Before I forget:  I still haven't found industry data. Where are those numbers? Do you have a "map" of the data records?

The building types section starts at 0x1457E8. The purchase/build price is shortly after the name (a 4-byte integer). Then there's another value which I didn't look into (maybe model ID?), and a record of mostly 0s, but with some 1s too and some additional values for farms (fields?), which apparently contains a placement/space occupation matrix. I only changed the purchase prices here.

I hope you can roll-back your gold installation to a working configuration.

Sure, not only I back-up everything before, the V1.56 patch has a different filename too (RT2_PLAT.EXE instead of RT2_TSC.EXE).

I noticed that and tried setting RRT2 to a lower priority using task manager. No matter how low I went, its CPU usage was 50%, and the CPU temperature ran about 122 F (~18 degrees above its idle temp).

The launcher does exactly this, ie running the launcher amounts to starting RT2 and using the Task Manager to set priority to "Below Normal". I have found that the system becomes more responsive this way. Then made the launcher, just for convenience.

Link to comment
Share on other sites

The section you mentioned (0x13CEC0) appears to contain the actual locomotive (only) data.

Of course.

There's also another section, starting at 0x13DDB8, containing the car (in the broader sense) data; there are data for all car types, locos, tenders, caboose, pax and freight cars at different dates etc.

Yes, and that's what I've been calling "rail-car data". Since loco performance and date ranges are elsewhere, locos rail car data is for display only.

This one does include names too.

Yes. The first letter of each name is code:

s = steam

d = diesel

e = electric

f = freight

I spite of this info, I suspect that flags elsewhere in each record also tell the same things.

The empty and loaded weights are located 24 and 26 bytes respectively after the name start. It's easy to see if these are actually used or not.

Quite right, and I don't doubt that these are used. The tenders' 30t weights are used too. However, engine weights are in the engine data, so the 30t for each in the rail-car section is almost certainly ignored. Engines' intro dates in the rail-car section are almost all "9999", indicating that these too are ignored in deference to the dates in the engine section.

There are also three dates in each record, probably availability, replacement and unavailability date. This last one is almost (?) always 9999 (0x0F 0x27).

That third date for rail-cars is a still a mystery to me. It looks like some feature was planned but not implemented (or implemented and then canceled).

looking for a way to turn on troops etc in time for the Civil War.

Found it!

Really? Where? The bug is somewhere outside the rail-car data we've already found. The start years for "ftroo", "fmun_", & "fweap" are already set to 1800, yet they still don't show up at my stations until about 1905  :(

There's something else, perhaps industry data, that we're still not seeing.

An alternative would be to find and mod some "production rules" (like those specifying for example, that coal plants produce waste after some set date, or canneries accept steel up to some other one), so that troop loads and cars become available simultaneously, but this is far more hard and dangerous imo.

We will know better when we have found that modeling data. I hope it's not buried deep in the coding where we could never find it.

So I can think of two options, either make troop cars available by 1800 (historically incorrect, but otherwise there will again be a period with loads available, but no cars) or choose a date like 1830, 1840 or 1850 and tolerate having no cars before. There is another thing to consider, there's only 1 troop car type in the game, and this weighs 40 tons, ie the heaviest cargo type for most of the 19th century, and locos of the era will have a hard time hauling them. What do you think?

Troops are passengers, so I'd be okay with 1800, the same date for the first pax car. I'll leave it to scenario builders to keep scenario start dates within historical limits.

The building types section starts at 0x1457E8. The purchase/build price is shortly after the name (a 4-byte integer). Then there's another value which I didn't look into (maybe model ID?), and a record of mostly 0s, but with some 1s too and some additional values for farms (fields?), which apparently contains a placement/space occupation matrix. I only changed the purchase prices here.

Yes, I've seen that. I wonder what all those numbers mean for stations. I can decipher the names: "sta27" means station size 2 (medium) orientation 7. There are 8 orientations for each of three station sizes.

The small stations each have a couple of 4s in their data. The mediums have a couple 8s, and the larges have a couple 16s. I'm surmising that these are the service area diameters.

Looking beyond the stations, I don't see dates. There are prices and a handful of numbers I haven't deciphered yet. Apparently a house costs $100,000.

I am intrigued by a number set in which every building gets a multiple of five; the likes of house, tire factory and coal mine get zeroes, while alum is 160, grain is 100, and about 12 buildings tie at 35. What could that possibly be?

Link to comment
Share on other sites

Found it!

Really? Where? The bug is somewhere outside the rail-car data we've already found. The start years for "ftroo", "fmun_", & "fweap" are already set to 1800, yet they still don't show up at my stations until about 1905  :(

There's something else, perhaps industry data, that we're still not seeing.

Try changing the year located at 0x1408E1. I don't get what you say about 1905, troop cars in my (unmodded) installation appear as soon as the century turns. Also, right-clicking on a troop car in the station info dialog (Cars Supplied or Other Cars) shows 1900. Can you check this further?

Only take care about about the cargos they demand, eg if a plant demands aluminum, it won't be operating before aluminum (as a cargo type) becomes available.

Troops are passengers, so I'd be okay with 1800, the same date for the first pax car. I'll leave it to scenario builders to keep scenario start dates within historical limits.

Then good luck hauling them with the Trevithick-1!  :P

Yes, I've seen that. I wonder what all those numbers mean for stations. I can decipher the names: "sta27" means station size 2 (medium) orientation 7. There are 8 orientations for each of three station sizes.

The small stations each have a couple of 4s in their data. The mediums have a couple 8s, and the larges have a couple 16s. I'm surmising that these are the service area diameters.

I will insist in my original hypothesis (a placement and/or space reservation matrix, along with some additional info), and this is quite clear to see in buildings like the cement plant (occupying only one tile), or the papermill (3 tiles in the first row and 1 tile in the second one - lay some track next to it and you will see what I mean). For stations, this can (and does) contain additional info, like the track laid (automatically) when you place it, as well as track connectivity specs (eg "connectable eastwards") which are quite hard to decipher. Btw the value 0x21 rather means the station (center) itself, which is the middle of the three-tile-long track section. Diagonal stations are much harder to decipher. For your help, the "matrix" is 10 tiles wide, represented by a 20-byte sequence for each "row" (the high-order byte seems to be always 0). I think there's no interest digging into this further, as there's nothing to mod here.

I am intrigued by a number set in which every building gets a multiple of five; the likes of house, tire factory and coal mine get zeroes, while alum is 160, grain is 100, and about 12 buildings tie at 35. What could that possibly be?

Haven't looked into these at all. Some parameter maybe. I wouldn't dare touching them.

Link to comment
Share on other sites

Try changing the year located at 0x1408E1

Ahhh... I had seen those regularly spaced years, but without names it wasn't obvious what they were. How did you figure out it was cargo and which was which? I'm looking for an index that these records share with another data section...

Anyway, this cargo-data section begins at x1404B0, and each record is 33 bytes long. The first element is a 4-byte integer that might be the base-value for the cargo. The activation year is at bytes 18 & 19. Two words later, there's a field that's usually 9999.

Curiously, mail and pax appear to have had their dollar values decreased since and earlier version of the game. My appendix says that mail is $70,000 and pax are $60,000. However, the numbers in the game are $65,000 and $56,000 respectively (numbers that probably show up in some pop-up help-win when playing).

I say curious because it looks like someone deliberately squeezed the largest value in the set to fit into a 2-byte word, but 4-byte long-words are still being used.

I don't get what you say about 1905, troop cars in my (unmodded) installation appear as soon as the century turns.

My bad. I had been looking for all three mil types, so my notes conflated the appearances of troops, munitions and weapons. It's the latter two that can be produced starting in 1905.

Only take care about about the cargos they demand, eg if a plant demands aluminum, it won't be operating before aluminum (as a cargo type) becomes available.

It could be worse than that. What if I make aluminum cargo available, but some industry data keeps aluminum factories non-operational until later? Aluminum might be able show up at a port, but I might still be unable to convert bauxite myself.

I will insist in my original hypothesis (a placement and/or space reservation matrix, along with some additional info)

Agreed, the matrix is most of it. I also agree that I'm not interested in modding that matrix. If I understood the additional info, then that might become interesting sometime.

Link to comment
Share on other sites

How did you figure out it was cargo and which was which?

First I thought changing the date(s) in the cars would be enough (as the problem apparently was with cars, not cargos), but then found that the start date was already set to 1800, so changing this wouldn't fix the problem. Nevertheless, tried dates like 1801 or 1810, thinking that putting a non-default (<>1800) date here might cause the game to take some different action, but to no avail. Then searced the .EXE for occurences of the 1900 date. They were really many, and found in many places in the file. Then remembered that the caboose car wasn't available from the very start (1830 or so) either. Checked it ingame and the date was 1839. Searched that date too. Occurences were fewer this time, and I combined these with the search results for the 1900 date, so this narrowed the area where I had to look into quite much. Then it was easy to find the real start date for the caboose. Changed it and saw that it changed ingame too. But the occurences of 1900 nearby were still quite a few, so I had to examine these exhaustively. After some tries I found it.

Curiously, mail and pax appear to have had their dollar values decreased since and earlier version of the game. My appendix says that mail is $70,000 and pax are $60,000. However, the numbers in the game are $65,000 and $56,000 respectively (numbers that probably show up in some pop-up help-win when playing).

I say curious because it looks like someone deliberately squeezed the largest value in the set to fit into a 2-byte word, but 4-byte long-words are still being used.

By "earlier version" you rather mean the non-TSC RTII, or maybe pre-1.54 TSC. In my Gold version (V1.54) they are the same. Maybe the manual is outdated. And sorry, I doubt if this has to do with fitting the values into 2-byte space.

Link to comment
Share on other sites

remembered that the caboose car wasn't available from the very start (1830 or so) either. Checked it ingame and the date was 1839. Searched that date too. Occurences were fewer this time, and I combined these with the search results for the 1900 date, so this narrowed the area...

Good sleuthing!

After comparing some numbers, I see that each cargo record corresponds to its zero-relative index given in the appendix (0=pax, 1=mail etc) so if one counts down to the 32nd record (cargo #31), one finds the data for rubber.

These same numbers appear in the rail-car data for all 'f' (freight) cars, about 9 bytes from the end of each record. For engines, an engine # appears one byte earlier and corresponds to that engine's record's zero-rel position in the engine performance data section (0x13CEC0).

BTW, I have started collecting all of this structural info in a spreadsheet (several sheets in one file).

By "earlier version" you mean the non-TSC RTII...?

Whatever produced that doc that came with the game

Link to comment
Share on other sites

BTW, I have started collecting all of this structural info in a spreadsheet (several sheets in one file).

Cool! I have some documents too, for making the mods I described in earlier posts in this thread. I could make them available to you, if you are interested.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...