Trainz/TRS2012WBE

As of Mid-April 2012 TRAINZ 2012, World Builder Edition, a major segue into a newer software system capable of exploiting recent advances in 64 bit based architecture computers, is experiencing what might be charitably described as growth pains, and many veteran 'Trainzers', as the community calls itself, with much in the way of experience and expertise with the whole product line of the franchise are having particular difficulties with a supposed Bug Fix ('Hot Fixes' or patches) and an rushed composite update, service pack one (SP1). Less experienced and new users of the program are well advised to, at this time, not install SP1.

In the teething troubles many veteran Trainzers are reverting back from SP1 and some of the hot fixes to await an SP2. Without the SP1 TRS2012 is actually running tolerably well, albeit with some issues new users (non-world builders or content creators) might not notice for years, but the active highly experienced Trainzer and developer community has revealed these shortcomings the with multi-tasking efficiency of the wide fan base running hundreds of thousands of computers. A vast supercomputer with a demanding informed human intelligence as well.

TRS2012 teething troubles
The Trainz franchise has been in existence 13 years over two ownership groups with over a million registered individual users in numerous releases, and hosts a web server allowing free content downloads. The simulator major releases form a series of upgraded products each of new content, routes and game like 'Driver Sessions', and supporting world building content, plus each has advanced the software while retaining overall operations identically or with minor differences as features have expanded. Many registered users have acquired the entire series for both new content and power. TRS2012 is the most radical evolutionary step up in power and ability in the steady evolution of the series.

The web based communities (plural) which revolve around the successful and normally highly reliable product line frequently contain Railroad enthusiasts ranging from actual railway engineers and employees, technical professionals, wives, mothers, graphic artists, to six year olds. These teething troubles are expectable in such a major software overhaul, and this discussion should not be taken as a product or company slam, nor even as a reason to differ a purchase. Release problems and service pack release problems are commonplace in major software upgrades, and new users or casual user will likely shrug off any such bugs, as expected in a video game. The Trainz user base, is more demanding and oriented to perfectionism, as many model builders are.

The same loyal fans are revealing these 'new version' growing pains issues as only heavy users of any system upgrade, so do discover a lot of errors in a short time period, as they have with each new release. Since Trainz is a highly capable industrial grade software system dedicated to recreation, many uncover such in the lifestyle of a Trains and Trainz enthusiasts. Compared to most software packages sold as games, Trainz has a wide world wide knowledgeable and highly engaged user base, and is working overtime to correct the issues. The world community is going to identify software glitches and jointly fixing such data inconsistencies as are occurring from a new more stringent checking system in the same old way, these minor data disconnects have occurred with new releases since the earliest Trainz up releases.

New User advice
The new user is directed to web search any error condition their experimentation and early attempts at world building may generate. Any pre-release bundled asset is already error free and you can do a lot with the base system. The data type errors now caught and marked as errors by the Content Manager will only occur with imported assets, for example a house missing a thumbnail image. These are easily caught and cured as they are flagged with a large Red Exclamation point in the content manager's status bar (Left side of the big pane, lots of little icons). To the knowledgeable, the data model evolution discussed in the problems section following involve a few moments text editing to fix up, for the most part, unless a downloaded asset uses advanced features (those would be complicated industries or advanced locomotives and some interactive rolling stock). Any new user would be well advised to wait to download for 4-6 months while building experience in surveyor with the rich set of built in assets, and regularly browsing the web board. With some experience and watching a thread when others are fixing up and discussing such tweaks you'll pick up a lot, and you can ask the odd question now and then and make a few friends.

If you can't stop yourself from downloading or already have stuff with errors, make a note of the error and web search for the unique identifier (kuid) numbers or text phrases which occur in the View Errors drop down (Select the asset, right click drag to View errors). Take a screenshot or make a note so you can search by exact terms. If that doesn't work finding a fix, find the new users boards and ask for help.

Hitting on the site is not tolerated and strictly enforced, so feel free to chime in and follow many threads, ask questions, and make yourself known. You don't and shouldn't just lurk. Identify users of like interests (Users version ownership will appear as a track like graphic with branch lines to the product. Those with most or all versions are obviously greatly experienced).

If you don't get an answer on the forum in a day or so, pull up the who's on line and view profiles... find someone experienced to send a private message to. Explain your error, link in your post, and ask for help; the attitude on the web space is: We were all new once, and the only dumb question is the one which goes unasked. The important thing is to exercise some patience.

So The New asset won't install today, so do all the many other things you can do, and wait for some attention. Quite often, once you've established yourself with a few posts, someone will likely offer to fix it for you, or walk you through a repair with email exchanges. (You could be trading screenshots, in all likelihood.) Once you fix a couple, you'll see how things connect up, then can go crazy downloading new stuff. Otherwise, except to understand the kind of errors in the release, go play with it and learn. 'This rest of this page after the next section is for very very advanced users. Only.'

TRS2012 base release issues
The base release is stable and most bugs not caught in Beta testing are of a minor nature, and many data discontinuities with community older content assets were pre-announced and expected as the product series switched the hardware required and its long running software system over to faster 64 bit modern microprocessor base systems for the faster high resolution video cards now widely available. This was by customer demand a step long clamored for, understandably delayed as the prior ownership nearly went bankrupt. Switching to a 64 bit system and Speedtree high definition graphics technology introduced 'developer expected data anomalies' and minor-major topographical discontinuities in the GUI modules, and the change deliberately introduced certain data incompatibility issues when importing older content (content or assets are any object (railcar, locomotive, people, train station, industries, building, tree, etc. Each one is built up from a core and may consist of other assets, such as a wheel is part of a boogie is part of a vehicle undercarriage is part of a railroad vehicle. Each are defined and must be modeled independently.) one can use or place into the Trainz simulator engines and the virtual reality world it presents when run and are managed by the database and download manager Content Manager Plus (CMP)).

The data age problem
Many Railroad clubs, groups, fans, and enthusiasts have created content and shared their efforts on the firms download center for over 13 years. The copyright of such items resides with the creator who have licensed the company to offer the asset on their hosted website 'Download Station', and the main upgrade issues with older content can be summarized by "no one can get in contact with the author to get permissions to add fixed updates to the over 100,000 assets in the Download Station". Many have, for example died, changed internet, or got disgruntled with Trainz and won't support their own creations. In strict compliance with international copyright laws, the company cannot alter these assets either. But users may. So they have to be fixed locally.

The data compliance problem
With the advent of 64 bit data model and multi-core 64 bit newer generation computers, more stringent data type testing was installed for good reasons and much older content (now dated and using data fields no longer part of the model are being kicked out by the increased error checking of the new graphics system by the content manager. This checking safeguards against using an undefined data element and completely crashing the system, or worse writing garbage data to the hard drive. A decade ago it was not uncommon to run business software and suffer the Blue Screen of Death, and these error checks are aimed at preventing just such system crashes.

Further, many assets were uploaded without a legacy requirement (just a request) the preview thumbnail image be attached, and these consequently needs minor fix ups for they are now considered an error, a screenshot and Microsoft Window Paint will suffice to create one; dedicated Trainzers have taken these in stride with each new release, albeit with grumblings.

The unwary and uninformed who don't regularly participate on the community web boards may innocently run afoul of these almost trivial tweaks. As an extensible data system in place over a dozen years, such issues are to be expected, and truly rate a trivial difficulty rating once one knows what is occurring. The Content Manager module flags and lists these errors, and fixing them is generally commonsense and a little experience using Notepad and or Paint.

The Aim of this tutorial
This chapter's purpose is to provide a means for the TRS2012 SP1 community to install and be able to run both with and without SP1. The following 'fix' is an exercise in Windows registry editing 'to allow a second Trainz 2012 to run on the same computer'. The user proceeds at his own risk, this is technically a copyright violation and could impair recovering a a working system if you change things without a due eye on methodical attentiveness and the suggested backups, which will prevent such a recovery as a last resort.

What this will do
This procedure is akin to renaming a group of file using Microsoft Windows built in facilities, but instead of tools familiar to most, one is used solely by computer professionals, most times rarely at that. There are two tools used: Windows Explorer (or folder edits of names) to rename files. Windows Regedit.exe to alter the registry. You launch regedit by typing the command in the run line of the start menu: [Start] -> [Run] -> [type regedit+Enter]
 * 1) Use the Explorer to rename the root directory of Trainz 2012, breaking it with respect to any paths and program names stored in the system registry. I recommend name it to TRS2112 for a 'go to hell plan' patch option discussed last, for if the registry edit, et al following also needs a patch to the Exe.
 * 2) The process will manually break further registry contact with certain key .exe files by renaming them to an alternative name in their newly renamed directory/folder (1), that is TRS2012.exe to TRS2112.exe, the later is the program launcher shell, which should call all the other modules .exe files (in it's local root directory \Bin sub-folder), or use calls from there via its registry entries.
 * 3) Make a series of edits mapping that changed filename to the registry keys currently in the system.
 * 4) Concurrently or in succession make similar name changes for the paths associated with said file(s).
 * 5) Adjust quick lookup registry entries to match the new .exe file name

How to proceed

 * The proper Trainz 'loader' file name can be identified for a certainty by examining the properties   of any shortcuts that launch your Trainz installation. If you have one on the desktop it's time to edit it. That is the only 'filenamespec'  you need change at all levels, in the registry, in the shortcut, in the registry. At this time, find a shortcut to launch your Trainz, and use a right click hold or left click+[ALT][ENTER] to open the properties for the shortcut. Regedit's find facility looks and operates just like Notepad (and DOS did), but displays with two panes (the Hkey Tree and data respectively). You'll want to operate inside by using FIND [CTRL][F] to do most of the navigation.

(File > Export as a .reg file) Give it a save destination. This should be considered temporary backup file, you can delete after you know things don't need restored. Exporting it will take a half minute to a minute.
 * 1) But first, back up the whole registry first to your desktop or documents folder. This backup can be loaded in File>Import and undo all the regedit changes you do below:
 * 2) Open regedit. If the left pane My Computer is not highlighted, Left click it to select. It should expand with a double click.
 * 3) In the file dropdown, drag to export, release the click
 * 1) You'll now just need to repeatedly search for the programs' local root folder path plus the backslash to see all the Hkeys for a program or program suite. To clarify, in a standard install, You don't want to start the pathspec in C:\ with the full path name, that will miss Hkeys you need to change. I'm staying with ...\Auran\ but ...\NV3\ is the same to FIND--regedit doesn't care what name it's finding, and both are conveniently short.
 * 2) Searching the loader .exe filename (I'll presume it's TRS2012.exe on that path) should identify all calls to the loader, searching pathspec\CMP.exe all the calls to the Content manager if they kept that name across versions)
 * 3) You will also need to search from the top each time, for each 'filename.exe' alone and without the extensions to, so there is no sneaky misses, this will likely not find paths to tidy up and hook in these days, but the search for the extensionless .exe file name will be necessary and mandantory as a last thing. (More later)
 * 1) You will also need to search from the top each time, for each 'filename.exe' alone and without the extensions to, so there is no sneaky misses, this will likely not find paths to tidy up and hook in these days, but the search for the extensionless .exe file name will be necessary and mandantory as a last thing. (More later)


 * [Tab] will pop you between left and right panes to identify a key name. Each can be independently exported as a .reg file (and I recommend you do that too -- so you can experimentally change just the one whole Hkey or reload the backup just exported), so each will be having 'glue details' of each part if you need to undo something. If you do import, the change will be in effect when you quit out of regedit. (much like committing a repaired asset, now it's good.)

There are likely only four to six important Hkeys and concurrent name mappings in play if this is consistent with prior releases. I used this basic process to relocate all my Trainz all to C:\Auran just last month. Find is used successively (Use [F3] to repeat last find) and will get to all entries that need tweaked.
 * 1) If you start by searching just the path, you'll see all the .exes you might rename at each stop. Make a dry run and look around at each stop (FOUND STRING). This process is like a train stopping at each station briefly. I'd initially been inclined to just rename the launcher by adding a suffix '-1' in the registry and as a new .exe file name in the appropriate file folder. Should that not work, then another fix would require a re-renaming, so use an EQUAL LENGTH near matching string, i.e. TRS2112. Note, if I guessed wrong the Exe is likely shorter, so match length with a slight name change, not by rote if my guess is wrong. (also, the more characters you type, then there are more to screw up with by typos. Use instead TRS2112.exe as your manually edited replace string; in the outside chance the .exe needs a hard patch to make a functional copy, then any HEX EDITOR programmer tool can be used to modify strings in the *.exe file to make this all work.)

You have to be in the right pane to alter data, and the Find highlights it for you... per normal Windows interface operation. (If you are in Windows 8, I have no idea whether any of this can be done. (It should be in there!) In VISTA and Windows 7/8, make sure you're running as Administrator; use [Windows Key][R] to open regedit)
 * INFO: The [TAB] key switches back and forth between panes (toggle mode) and will vertically locate to the containing Hkey name corresponding in the left pane. (Left pane, box car, Right pane, boxes of data).
 * The full Hkey including it's full tree structure and tree Hkey name is in the status bar, regedit bottom.

Making local Hkey table backups
To export a backup of the 'local Hkey' (consist), you want to goto the left pane with TAB, click on the parent Hkey icon (little folder) above in the tree relative to the Highlighted Hkey tag found by the search. The parent tag is not (or is less) indented and up from the Highlighted Hkey Tab where [F3/find]+[TAB] has you located at. THIS IS JUST LIKE WINDOWS EXPLORER editing a config.txt file or image subfolder etc., take a look, it's described to sound horrible but is trivially easy.
 * Touring the Hkey tree...
 * 1) You'll see the tree structure immediately when you're on a current Hkey (subkey, actual) which  a subkey and so is indented (Under another, like folders holding subfolders).
 * 2) Selecting that parent Hkey is how you can export the whole Hkey as a backup. Just arrow key up or click to get up to it... a few screen lines until it's highlighted.
 * 3) * Find leaves you positioned right around screen center each search. When you've done so, (I use number suffixed successive filenames for .regs so I can rebuild in the same order. Have never needed even one of them, back to window-95! Take notes of each name as you go, so you don't reuse a number, and actually overwrite one you'd just saved somewhere in another Hkey above.) In any event, Edit drop down, export Hkey. Whatever is highlighted in the left pane is what you are exporting. [You can export twice and save one or two as a text file and access the .reg file with notepad and see the differences, but the data is the same.]

Before making unhelpful changes, ignore Hkey fields in the left pane that say RunMRU and MUICache, without edits, these are quick launch things which will be fine when we reboot. Hence no backup either! Just hit [F3] again a keep on...

The Find, Edit, Repeat overview
Returning to the process, we just
 * 1) found a searched item, then
 * 2) backed up the parent Hkey,
 * 3) we just [F3] to return to the item (or items) we need to alter.
 * 4) We're back down xxx Hkeys from the local parent Hkey if we [TAB] back to the left pane, then
 * 5) [TAB] back to the same highlighted data in the right pane ('edit pane').
 * 6) The data we need to alter is a pathspec\filespec formatted string including your Trainz Parent Root directory as the sought for index string.
 * 7) We're about ready to edit, looking solely for matches with the TRS2012.exe file.
 * 8) But in this edit, you must fix the pathspec to use the new folder name, must alter the .exe filename as above covered.

The succession of careful edits

 * All pathnames, including ...\rootname\progfolder\Bin\*.exe pathnames will need updated with the changed progfolder. That is critical if CMP, launcher, and CCP are to continue working.


 * We'll just need to repeat that sequence a few times like unloading successive cars in a consist. Saving the local Hkey is pulling forward... editing, load/unload. Repeat, at need.

Once more auto-located (and again in the right pane) thanks to [F3] -- now RIGHT Click to enter edit mode selecting Modify using the data drop down menu and alter the line. Press [F3] again to find the next, and so forth. When the data field changes suddenly repeat the TAB examine the Hkey field sequence and if it qualifies backup the local parent Hkey; press [F3] again, alter there, etc. as just described above. Repeat such successive Finds all the way to the end. You can also fix up RunMRU entries and MUICache finds too, but it won't affect you one way or the other.

In some main Hkey keys, you may alter several data fields, so only need one backup. TAB, same parent place, means TAB you can edit. In most of those you will see a list of several of the Exe's and figure out you need to edit each w/o bothering even to Find again. This may seem scary, but it's simple care and common sense: TAB different parent Hkey, says backup the Hkey. (Some stuff is the user copy, some will be quicklaunch stuff (Hkey name is 'MUICache' and will show a lot of other programs you've launched (Patching this can actually be skipped as before mentioned), some the 'reference' copy, both (or possibly all three or four if you've a second/third user that has a login to your Windows) must be changed). The registry is very dumb, very bloated and very repetitive. It's a quick reference for software and human klutzy. Just expect to see the same look several times.

When you fail finding new entries (You'll get a message popup no more can be found), [TAB] to the left pane, collapse it, click on the top Hkey of the LEFT Pane (My Computer) to relocate the 'find start point' (it only searches DOWN), and check your edit by searching the old string. If not found, at least not in the RunMRU or Muicache relocate to the top again, and type [CTRL][F] oldfilename.exe to double check all the exe renames are in and the path is the new path. The only stops should be those Hkeys I say to ignore. [CTRL][F] and remove the extension and period, ESPECIALLY for the Launcher/release name TRS2012.exe. So now we search for just TRS2012. It should now stop on a LEFT PANE, highlighted, rightpane will have the full pathspec and renamed filename. Edit this left pane field to the same name as that you used. Find to the bottom, again [F3]ing past the RunMRU and MUICache

You now quit out (save is automatic) and reboot, then test the altered directory by running from the launcher exe. (ALL Shortcuts will be orphaned waiting the new reinstall to the old filenames and directory (we didn't change any with this)... If will likely run. If not, it won't connect, and you will see some error giving a hint of what name it can't find. Try rediting with regedit and repeat as needed. Note no DLL file names were altered in this. Any which show in the initial find with a full path, likely should be renamed '-1' as well. Most DLL libraries in Trainz are in the local \Bin folder, CMP's & CCP's home. Exe files know their own root, and unless give a path, or there is one in the registry will default to the local copy (in that \Bin).

Caveat: THIS PROCESS WILL ALSO BREAK THE CURRENT UNINSTALLER data however, it won't know about renaming. SO... You could 1) later manually delete such keys (just find as above and instead of modifying, delete whole keys from the left pane when located. When you delete the path and Hkeys [left pane is the Hkey tree], the directory is deletable.) as two sets will point to the same directory (folder=directory herebefore) 2) delete the directory and use a optimization and repair utility like ASC (Advanced System Care) to tidy up the registry since the Hkeys will now point an orphaned directory. Both methods work. ASC (or other) will speed things up in any event, and clear out fragments, bad shortcuts, etc. These should be run periodically, and the one version replaces some troublesome antivirus programs as well.

THE Key here is using the same .exe names and paths as you those you rename THE Folder and in the folder to match. Since the exe names are now nonstandard, and match the path, the product name is suffixed by 'S' by your edit, the fresh install will use the old standard names, but both should then run. They don't know about each other. It's your secret, and the registry's. The SP1 flavor should run with the same problems. The new copy will do the same using the same ole directory name as the altered one used to have... THAT install will reattach and also overwrite the uninstall facility, so you'll be good. Shortcuts will be back to working to the non-SP1 fresh install and work again from anywhere. If you want to have shortcuts to the renamed facility, copy them either before or after and hand edit the pathspecs and filename.

It's actually not all that hard. Some asset fixups are harder. Technically, this would violate one copy-one machine copyright agreement, but you'll be deleting the worst copy later, in any event. N3V may be grateful for the pressure relief; they certainly should be anyway.