Tuesday, August 29, 2017

Converting Game CDs to DVDs

Once you start installing MS-Windows games into a Linux OS, you run into some difficulties. One is that sometimes your game has multiple CDs (this was before DVD drives were ubiquitous) and for whatever reason you cannot get the installer to allow you to eject the CD. Or, fumbling through six install CDs to install the game, plus patches and updates, plus search for no-cd cracks and hi-res textures or game mods. It's possible to place all that on a DVD to make our installation less painful.

File Forums is a community that deals with creating game backups and CD/DVD Conversions. It's a friendly community with an easy registration and it offers a wealth of information about the nuts and bolts of how game installers work. Go ahead and join now so the following links will work for you.

What we want for this discussion is the PC Games-CD/DVD Conversions forum. There, user Joe Forster has listed links for applications needed for editing the databases for game installers. Download those applications. There are three versions of Orca, which is the GUI editor for editing game install databases. These are MS-Windows apps of course, and I will need to get them working in Codeweaver's Crossover.

Install Orca.msi into a new Windows 7 bottle using WINE, PlayOnLinux or Crossover; I choose Crossover. Since there is no crosstie file for this to tell WINE what extra applications are needed to run this program, we need to do some detective work. After the installation of Orca, and using that bottle, select "Run Command" to run Orca.exe;  tick the "Create log file" box, then run the application and the app will fail to launch. Now check the log file and you will see that it can't find mfc4u.dll. It is part of Visual Studio Service Pack 6 (that package contains asycfilt.dll, atl.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll and stdole2.tlb in case you need any of those), so install that. It's also easy enough to find a download of that file on the Internet. If you do, just place it in the windows/system32 directory of the Orca bottle and Orca now runs!

In the thread about Orca, there are links to apps that will convert .reg entries into an Inno script. Inno Setup is a free (source code available) installer for MS-Windows applications. Being free, you can use it to create your own installer and distribute legal software to your friends, or you can create custom installations of your games that include all the extra files you like. For Linux, you can create functionally the same thing with makeself.

There are some interesting tools for "splitting" archives so that they may fit the size of the medium. One such tool is UltraARC. That page provides links to download the application.

Now to start using some of these tools. I have the 6CD version of Call of Duty 2. It would be nice to have this on a single DVD. Looking in the Games Converted Index I found the link to the conversion recipe for COD2. It seems there are 2 ways, one way combines the install disks, the second makes an installer from the installed and patched game. Let's do the first way.

From the more detailed directions from the forum and adjusted for Linux, we proceed:

1. Create a temporary directory in your home directory with a specific name.
$ mkdir ~/cod2

2. Beginning with CD6 and continuing in reverse order, copy the files from the CD to the temporary directory allowing them to be overwritten if need be.

3. Change permissions on ~/cod2/ to change it from read-only to be as accessible as possible. It will become read-only again when you burn the DVD.

$ chmod 777 ~/cod2/COD2.msi

4. Install Orca as directed above.

5. Launch Orca from its Crossover bottle, then navigate to ~/cod2 and click on COD2.msi  to open it in Orca.

Scroll down to "media" in the left-hand pane and click on it. In the right pane, click on the second row and delete it and do likewise for all rows except the first so that all that is left is the media named COD2CD1 which will be the Volume ID of the DVD we will create.

5. Create a directory to contain all your updates, patches, mods and so on so they will be handy when you install the game. You can find "no-cd" patches at GameCopyWorld. Just  get the version that matches the version of the game as updated (or not, as long as they match).

6. Burn the contents of ~/cod2 to a DVD with the label "cod2".

$ growisofs -Z /dev/sr0 -r -J -V COD2CD1 /home/username/cod2

It works nicely.


There is another site that can provide useful information. CD-2-DVD is dedicated to converting CD-based games to DVD and offers the necessary software to do that.

Another useful application is the open-source Regshot that can compare a snapshot of the Windows Registry before and after installing an application, so you can see what is changed. It might be possible to use the files generated with the meld application, an excellent application to compare two or more text files. It is also available for MS-Windows.

Ran into a problem.

No comments: