This is a guide to using CodeCat's mod launcher on Contra so you won't have issues having it in the same folder as Shockwave, RoTR 2 (Upon release), WG:ZH & Code 13.
If you plan on using a unique ZH install for every mod you need not bother with this guide. Firstly Contents of CodeCat's launcher.
Readme.txt
Modlauncher.exe
Default.xml
First things, keep a backup of the original then move Modlauncher.exe & Default.xml to your ZH directory, rename them to Contra.exe and Contra.xml respectivly.
Use your extractor program Winrar, 7Zip to extract the contents of the installer to a folder (not in ZH yet)
Data\Scripts\Scripts.ini
Data\Scripts\MultiplayerScripts.scb
Data\Scripts\SkirmishScripts.scb
00000000.016
00000000.256
game.dat
ContraLauncher.exe (Not necessary but used later for an icon)
!Contra006.big
!Contra006-eng.big
!Contra006Music.big
!Contra006-rus.big
Install_Final.bmp
Rename these to
Data\Scripts\ContraScripts.ini
Data\Scripts\ContraMultiplayerScripts.scb
Data\Scripts\ContraSkirmishScripts.scb
Contra00000000.016
Contra00000000.256
Contragame.dat
!Contra006.gib
!Contra006-eng.gib
!Contra006Music.gib
!Contra006-rus.gib (This is used for Russian users, replace !Contra006-eng.gib with this in the code for Russian language)
ContraInstall_Final.bmp
Move the renamed files to your ZH folder, there should be no overwrite issues
Now find the file Contra.xml (In notepad or something similar), scroll to the bottom until you find this set of text
<files>
<file method="move">
<src dir="game">Data/Scripts/SkirmishScripts.scb</src>
<dest dir="game">Data/Scripts/SkirmishScripts.scb.backup</dest>
</file>
<file method="move">
<src dir="game">Data/Scripts/MultiplayerScripts.scb</src>
<dest dir="game">Data/Scripts/MultiplayerScripts.scb.backup</dest>
</file>
<file method="copy">
<src dir="mod">MyMod.big</src>
<dest dir="game">00MyMod.big</dest>
</file>
</files>
This changes the names of files before the game runs allowing it to activate contra before starting Zero Hour. Now in our case we need a number of changes to be made. Below is a full list of changes required. Copy this over the code above.
<files>
<file method="move">
<src dir="game">Data/Scripts/Scripts.ini</src>
<dest dir="game">Data/Scripts/Scripts.ini.backup</dest>
</file>
<file method="move">
<src dir="game">Data/Scripts/SkirmishScripts.scb</src>
<dest dir="game">Data/Scripts/SkirmishScripts.scb.backup</dest>
</file>
<file method="move">
<src dir="game">Data/Scripts/MultiplayerScripts.scb</src>
<dest dir="game">Data/Scripts/MultiplayerScripts.scb.backup</dest>
</file>
<file method="move">
<src dir="game">Data/Scripts/ContraScripts.ini</src>
<dest dir="game">Data/Scripts/Scripts.ini</dest>
</file>
<file method="move">
<src dir="game">Data/Scripts/ContraSkirmishScripts.scb</src>
<dest dir="game">Data/Scripts/SkirmishScripts.scb</dest>
</file>
<file method="move">
<src dir="game">Data/Scripts/ContraMultiplayerScripts.scb</src>
<dest dir="game">Data/Scripts/MultiplayerScripts.scb</dest>
</file>
<file method="move">
<src dir="mod">00000000.016</src>
<dest dir="game">00000000.016.backup</dest>
</file>
<file method="move">
<src dir="mod">00000000.256</src>
<dest dir="game">00000000.256.backup</dest>
</file>
<file method="move">
<src dir="mod">game.dat</src>
<dest dir="game">game.dat.backup</dest>
</file>
<file method="move">
<src dir="mod">Contra00000000.016</src>
<dest dir="game">00000000.016</dest>
</file>
<file method="move">
<src dir="mod">Contra00000000.256</src>
<dest dir="game">00000000.256</dest>
</file>
<file method="move">
<src dir="mod">Contragame.dat</src>
<dest dir="game">game.dat</dest>
</file>
<file method="move">
<src dir="mod">Install_Final.bmp</src>
<dest dir="game">Install_Final.bmp.backup</dest>
</file>
<file method="move">
<src dir="mod">ContraInstall_Final.bmp</src>
<dest dir="game">Install_Final.bmp</dest>
</file>
<file method="copy">
<src dir="mod">!Contra006.gib</src>
<dest dir="game">!Contra006.big</dest>
</file>
<file method="copy">
<src dir="mod">!Contra006-eng.gib</src>
<dest dir="game">!Contra006-eng.big</dest>
</file>
<file method="copy">
<src dir="mod">!Contra006Music.gib</src>
<dest dir="game">!Contra006Music.big</dest>
</file>
<file method="copy">
<src dir="mod">!Contra006.gib</src>
<dest dir="game">!Contra006.big</dest>
</file>
</files>
The bulk of the coding is now done, create a shortcut to Contra.exe and place it on your desktop (or wherever you run games from) enter the properties of the shortcut and add -f "Contra.xml" then save the changes. If you wish to change the icon you can select from any of the game icons (or one made by yourself) or the one for the launcher file provided.
The weakness of this method are a slightly extended load time and a lack of official contra icon (if you can acquire it from someone with a full install you're onto a winner), but it does mean that you do not need another ZH install, nor do you need to remove/repair your install when you want to play another mod.
Furthermore I will create the .xml file for any mod should you submit to me a file list in a dedicated thread.
The launcher was provided by CodeCat and all rights are his, Contra is the property of it's mod team and leader.