Go Back   JoWooD Entertainment AG Forum > Other JoWooD Games - English Boards > Railroad Pioneer - English Board > Railroad Pioneer - Technical Support

Reply
 
Thread Tools Rate Thread
Old 18-07-2004, 19:28   #1
bob.dalton
Registered User
 
Join Date: Jul 2004
Age: 55
Posts: 11
Thumbs up Possible fixes for some game stability problems

When I bombed out of the Pennsylvania scenario of the campaign game I started doing some checking on why this might be happening on my WinXP Pro machine (the latest Gateway 5 Profile series computer).

One of the thing that caught my eye were the following two files stored in the Railroad Pioneer > Bin directory:

mfc40.dll : Description: File that contains Microsoft Foundation Classes (MFC) functions used by applications created in Visual C++. Older versions are often the source of exception errors of many kinds.

MSVCRT.DLL: Description: File that contains standard C library functions such as printf, memcpy, and cos. Another source of exception errors.

Both of these files were rather old versions compared to the ones stored in my WinXP Pro Windows > system32 folder. On a hunch I backed the old ones up first and then copied over the newer versions from my system32 folder so as to overwrite the old ones of the same name.

Crossing my fingers I then ran RP and played the same scenario but this time with no memory leak problems experienced for that scenario. I also noticed some enhancement of performance as well. I have been playing the Ohio scenario for a while now and so far the games runs more or less smoothly. Since we cannot seem to get support out of JoWood on this, if all else fails you might try doing what I have done and see if it makes a difference on your machine.

I am not sure why the games authors chose to install and use their own versions of the files rather then the ones which exist and are installed as part of the System32 folder when the WinXP OS was installed on the machine. These days most software engineers, like myself, simply make use of the files resident on the systems rather then installing our own sometimes older copies and using them instead....

I was unable to modify the graphics used by the game in the "Options" section from the default 1024x768x32. On research I was able to find that the option settings appear to be stroed in the "Railroad.ini" file, aslo stored in the bin folder. I found I was able to change the graphics by editing certain lines in the file using a text editor and then saving it. Not sure if if made any real difference but the game seemed much more perky after I made the changes. Here is what it looks with the default settings:

-------------before Railroad.ini ----------------
[Display]
GfxEngine = NebulaServer.dll
GfxServer = CKKNebulaServer
ResolutionWidth = 1024
ResolutionHeight = 768
ResolutionBPP = 32
Fullscreen = 1

[Input]
InputEngine = Di8InputServer.dll
InputServer = CKKDi8InputServer
RecordMode = 0 ; 0 = Recorder is off, 1 = Recorder is recording, 2 = Recorder is playing
RecordFile = "inputs.log"

[Audio]
AudioEngine = Ds8AudioServer.dll
AudioServer = CKKDs8AudioServer
AudioActive = 1

[Network]
NetworkEngine = KomuneDplay.dll
NetworkServer = CKomuneDplayServer
NetworkClient = CKomuneDplayClient

[Language]
LanguageId = 5582

[Game]
StartProjectId = -1
-------------------end of before Railroad.ini file settings------

After I made my changes this is what it looked like:


--------------------after Railroad.ini file settings------
[Display]
GfxEngine = NebulaServer.dll
GfxServer = CKKNebulaServer
ResolutionWidth = 1024
ResolutionHeight = 768
ResolutionBPP = 16
Fullscreen = 1

[Input]
InputEngine = Di8InputServer.dll
InputServer = CKKDi8InputServer
RecordMode = 0 ; 0 = Recorder is off, 1 = Recorder is recording, 2 = Recorder is playing
RecordFile = "inputs.log"

[Audio]
AudioEngine = Ds8AudioServer.dll
AudioServer = CKKDs8AudioServer
AudioActive = 1

[Network]
NetworkEngine = KomuneDplay.dll
NetworkServer = CKomuneDplayServer
NetworkClient = CKomuneDplayClient

[Language]
LanguageId = 5582

[Game]
StartProjectId = -1
-----------------end of after Railroad.ini file settings------

The only change I made was to ResolutionBPP = 16 line where I changed it from 32 to 16.

Hope this helps others....

Regards;

Bob Dalton
bob.dalton is offline   Reply With Quote
Old 19-07-2004, 15:05   #2
bob.dalton
Registered User
 
Join Date: Jul 2004
Age: 55
Posts: 11
Just a followup note on this. My suggestion is not a cure all and does not solve every memory leak problem. I was however able to play for over four straight hours before encountering a memory leak and crash to desk top error in the Kentucky scenario of the campaign game.

That is a lot of game play compared to the the reports by some folks that the most they could go was 30 minutes in the game before encountering this problem......

BTW be sure to back up your files FIRST before overwriting them with the new ones...

Regards;

Bob Dalton
bob.dalton is offline   Reply With Quote
Old 25-07-2004, 22:00   #3
sanderdolphin
Registered User
 
Join Date: Nov 2001
Age: 34
Posts: 97
Thanks for spotting those files.

I've replaced mfc42.dll, mfc42d.dll, msvcrt.dll and msvcrtd.dll with the copies in my system32 directory and find that (a) it plays a long time, lot longer than before and (b) loads up a lot quicker too! No more waiting minutes for it to load, it's doing it in seconds now

The only catch is that it still takes a bit of time to close down, but 20 seconds is a lot more bearable than minutes that it was before.

Funny how four system files can help improve the game!
__________________
SanderDolphin
sanderdolphin is offline   Reply With Quote
Old 26-07-2004, 11:31   #4
imported_bainezo
Registered User
 
Join Date: Apr 2004
Age: 42
Posts: 17
Thanks for the advice.

I tried what you suggested and noticed a marked improvement in performance. Played for about four hours solid this weekend without crash or slow-down (but still found myself saving regularly - just in case).

Patch request no.1 : an autosave option
imported_bainezo is offline   Reply With Quote
Old 26-07-2004, 15:06   #5
bob.dalton
Registered User
 
Join Date: Jul 2004
Age: 55
Posts: 11
Quote:
Originally Posted by bainezo
Thanks for the advice.

I tried what you suggested and noticed a marked improvement in performance. Played for about four hours solid this weekend without crash or slow-down (but still found myself saving regularly - just in case).
Patch request no.1 : an autosave option
I have been using my suggested changes for a bit now and while it is not perfect the game does seem to be working much better now then it did. There is still the occasional crash but this is much more rare now.

From the files they are using I think they must have been using Visual C++ 6.0 to create the game and the outdated, by todays standards, system files which came with that. I am not sure why they chose to provide those old files rather then adopting the standard of using the systems files resident on the users machine and just stating that version Windowns whatever was required (and no earlier). I can only assume they provided the old system files to ensure backward compatibility with older Windows operating systems. But of course this introduced compatibiility problems with later versions. Better to do it they standard way IMHO.

Not being able to look at the game code I cannot say if the game will automatically default to the system files IF the provided system files are missing. It depends on how they wrote the code to deal with finding and using the system files. Just don't have time to experiement at present to see if that is so as I am up to my neck with my own commercial software engineering project at present.

Regards;

Bob Dalton
bob.dalton is offline   Reply With Quote
Old 20-10-2004, 11:29   #6
Stoffe
Registered User
 
Join Date: Jun 2004
Age: 25
Posts: 3
Quote:
Originally Posted by bob.dalton
Not being able to look at the game code I cannot say if the game will automatically default to the system files IF the provided system files are missing. It depends on how they wrote the code to deal with finding and using the system files.
If someone has a disassemblator somewhere, there is nothing stopping me from reverse-engineer the code back to C++ (or whatever it's written in). If I remember correctly, that action is legal here in Sweden (and thus noone anywhere else can say anything about it).
For example, parts of OpenTTD (Open Transport Tycoon Deluxe), www.openttd.org has been reverse-engineered (oh well, almost all of it. )
But, since I have no idea if there even is a disassemblator out there... there's not much to do.
If someone has one, please send me an e-mail and we might be able to create our own patch...
E-mail adress should be in my profile...
Stoffe is offline   Reply With Quote
Old 20-10-2004, 16:14   #7
sanderdolphin
Registered User
 
Join Date: Nov 2001
Age: 34
Posts: 97
Quote:
Originally Posted by Stoffe
If someone has a disassemblator somewhere, there is nothing stopping me from reverse-engineer the code back to C++
There is. Firstly, the t&c agreed to on installation is your acceptance not to reverse-engineer, and secondly it is considered a breech of copyright in many countries including all members of the European Union.

Quote:
Originally Posted by Stoffe
For example, parts of OpenTTD (Open Transport Tycoon Deluxe), www.openttd.org has been reverse-engineered (oh well, almost all of it. )
You'll find that it was done with permission of the designer, Chris Sawyer.
__________________
SanderDolphin
sanderdolphin is offline   Reply With Quote
Old 20-10-2004, 22:11   #8
Stoffe
Registered User
 
Join Date: Jun 2004
Age: 25
Posts: 3
1: Did I press that? Didn't remember, and who reads that anyway? Seriously...

2: All righty then, that must have missed me while browsing their forum. There were a lot of "they're going to sue you" going on, and all I caught was that reverse engineering was NOT an infrigment of copyright (as long as you don't just compile it back together but rather change enough to concider it a new product), and that American law of course does not cover Swedish (or any other, non-American) citizens unless they physically are in the US.
This also is quite intresting. So what if I pressed that button. Does it mean that the law from the publisher's country applies to me? I've never even thought about that before.

Guess that killed my little insight of us making a patch, since noone else seems to care.


Just out of curiosity: Is there such a thing as a disassembler (of course, there is a disassembler which can translate to assembler language. Even I can do that by hand if I have the assemblator). But can you automatically create C++ (or whatever) files from the source?
Stoffe is offline   Reply With Quote
Old 22-10-2004, 06:53   #9
Toby Rowe
Registered User
 
Join Date: Sep 2001
Age: 47
Posts: 14
Stoffe et al,

Suing blokes that are actually trying to make the game work would be commercial suicide for the company.

This game died due the fact it didn't work, and if it did, died due to a memory leak for those that it didn't work for.

If they want a QA chap, I'm the one- as they are crap.

Despite my anger with JoWood, they are a name I respect, but the lack of communication (STILL) is starting to make me doubt how they are.

If a computer engineer departs his wisdom,and tries to help thereafter, yet isn't employed by JoWood, then you know something is amiss.

Toby!
Toby Rowe is offline   Reply With Quote
Old 29-10-2004, 05:17   #10
Toby Rowe
Registered User
 
Join Date: Sep 2001
Age: 47
Posts: 14
Heh,

After my waffle, the TransportGiant waffle (or the EULA) warns we are subject to Austrian law- sadly for JoWood that means EU consumer law is paramount.

The TransportGiant EULA allows for JoWood to demand you destroy the CD if they wish to terminate "the software agreement"- I'd promise to do it upon their inspection, just to make sure I hadn't hidden any other weapons, I mean CD's...... (Ok, weak joke about Iraq)

Toby
Toby Rowe is offline   Reply With Quote
Old 30-06-2007, 04:54   #11
epinksto
Registered User
 
Join Date: Jun 2007
Posts: 1
Lightbulb

Quote:
Originally Posted by sanderdolphin View Post
Thanks for spotting those files.

I've replaced mfc42.dll, mfc42d.dll, msvcrt.dll and msvcrtd.dll with the copies in my system32 directory and find that (a) it plays a long time, lot longer than before and (b) loads up a lot quicker too! No more waiting minutes for it to load, it's doing it in seconds now

The only catch is that it still takes a bit of time to close down, but 20 seconds is a lot more bearable than minutes that it was before.

Funny how four system files can help improve the game!
First off, the mfc42d.dll and msvcrtd.dll are not needed since they are debug versions of the other two libraries. Secondly, I found creating a shortcut from the Railroad Pioneer directory to the system32 directory works just as well, and has the added bonus that if microsoft decides to update the files, the game will be updated as well.

In addition, after perusing the Railroad Pioneer directory, I noticed that the game uses the following off the shelf libraries: Vorbis/Ogg, Tcl/Tk, and OpenIL (DevIL). Vorbis/Ogg has to do with the sound and music in the game. It can be updated by downloading the source code and compiling new dll's, but that is probably more trouble than it is worth. I don't suspect the game problems are due to the sound. I haven't found copies of the Tcl/Tk libs, but I am also not sure how these are being used in the game, and I suspect it is probably only in the startup menus. The OpenIL is another story. It contains the graphics routines and the version that came with the game was 1.1.3. There is a new version 1.6.6 available and can be downloaded from http://openil.sourceforge.net/download.php.
epinksto is offline   Reply With Quote
Old 21-03-2008, 11:48   #12
Boomshanka
Registered User
 
Join Date: Mar 2008
Posts: 1
I tried replacing mfc42.dll and msvcrt.dll with shortcuts to the windows assemblies. I also removed the two debug assemblies (MFC42D.DLL and Msvcrtd.dll).

The game runs smoothly right until I start a trade war in Missouri. I created a save file about 30 seconds before my opponent builds the necessary connection and starts the trade war (or I build the connection, which makes no difference).

After this point, the game is impossible to play. The trade war is lost on my account because I can't set my trains in motion, and trains with partial or no repair inspectors cracks down. I placed the savefile here in case it comes in handy:

http://www.boomshanka.dk/RP/Save.zip
Boomshanka is offline   Reply With Quote
Old 31-08-2009, 16:31   #13
JTeagle
Registered User
 
Join Date: Jun 2003
Location: Hampshire, England (UK)
Age: 41
Posts: 14
Talking Great Work!

Great work folks - I updated my MFC / MSVC / devIL DLLs as suggested here and it fixed the problem I was having with the game date going wild and all my locos being instantly broken down. I can play the game again!
JTeagle is offline   Reply With Quote
Old 15-04-2010, 00:49   #14
General Bailey
Registered User
 
Join Date: Apr 2010
Age: 25
Posts: 4
Cool patch fix

i have found a way to make the v1.04 and 1.07 German patch work for the u.s. version of the game if you go to C:\Program Files\JoWooD\Railroad Pioneer\Data or the place you save the game and copy thesis files to your desktop ClassDatabase and the database files. install the German patches then put your files back in your C:\Program Files\JoWooD\Railroad Pioneer\Data and the game has a lot of fix's and you now don't need the cd to play hope this can help some of you still having problems with the game.

Last edited by General Bailey : 15-04-2010 at 01:01
General Bailey is offline   Reply With Quote
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT +1. The time now is 19:47.


Powered by vBulletin Version 3.8.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Copyright © 2009 JoWooD Entertainment AG, Austria. All Rights Reserved.