Here's how to play Shadow Watch without having to insert or rip the CD. If the game is not already installed, do a normal installation. Then follow these steps:
- Open ShadowWatch.exe (version 1.0 English) in a hex editor. Apply the following diff, which causes the game to not look for the CD. (You may want to make a backup first.)
Offset: Old New 0407: BD 31 0408: 04 ED 0409: 00 BD 040A: 00 01 040B: 00 00 040C: 31 00 040D: DB 00
- Delete cfg\cd.txt from your installation directory. You don't need a backup, as the file is regenerated by the game on every run.
- Open cfg\install.txt in a text editor. Add the following lines to the bottom of the file (changing the drive and paths to match your installation directory). It's important to use quotes and forward slashes.
cd_drive D: cd_subpath "/games/shadowWatch/" cd_path "D:/games/shadowWatch/" install_subpath "/games/shadowWatch/"
- Copy the contents of the art\ and sound\ directories from the \install\media\ folder on your game CD to the corresponding folders within your installation directory. You can simply select both folders, drag them to the installation directory, and let Explorer merge them. You don't need to overwrite existing files, but it doesn't hurt. (If you don't mind using a bit more space, you can remove the purge_anims line from cfg\install.txt and extract the actors.zip file into art\Actors\ rather than copying it to art\.)
- (Optional) If you want to see the intro videos, do the following:
- Add the line play_video true to the end of the cfg\install.txt file.
- Copy one or both videos from the \install\media\video\ directory on the CD to a \install\media\video\ directory on the drive containing the installation directory (i.e. the cd_drive). For instance, if you installed the game to D:\games\shadowWatch, you must copy the videos to D:\install\media\video.
- ShadowWatch.exe is a stub that looks for the CD, writes the cfg\cd.txt file, renames the sw.dat file to sw.exe, runs sw.exe, and renames sw.exe back to sw.dat after the game finishes.
- sw.dat is a stub that loads the Java runtime and runs the rse.york.YorkMain class within the york.rsc file (which is a .jar file that has been renamed). You can decompile the york.rsc file with a good Java decompiler — jd-gui worked for me — to see something similar to the game's source code, allowing you to study or modify the game. Let me know if you make any game mods!
- Some additional options you can place inside cfg\install.txt are:
// enable cheat codes: // alt-C - center on current actor? try it! // alt-G - draw guard locations // alt-I - show/hide IDs // alt-V - view everything? // alt-W - show/hide walls allow_alt_cheats true // instantly win missions? auto_win true // avoid damage? god_mode true // always hit (with guns only?), always do damage. (only for players?) instant_kill true // enemies always miss stormtrooper_ai true // allow saving during missions even on the hard difficult level always_allow_save true // instantly move the camera from one character to another? smooth_centering false // unknown. try it! allow_mission_end true