Choosing a version of X-Com 1 to play is a nightmare. It's a choice of several sets of bugs, and you have to decide, which set you can bear and which you can't. Even if you've solved OS/hardware compatibility issues of the DOS version (with DosBox for instance) you're left with some bugs, including critical Difficulty bug, which makes you unable to play skill levels other than Beginner.
There's a program that fixes it - the XcomUtil, but alas - by default along with bugfixes it makes changes to some game properties, without asking whether you want it or not.
When you run XcomUtil's setup file (XcuSetup.bat) it shows theese messages:
Patch Applied: Ship statistics set from XCOMUTIL.CFG Patch Applied: Difficulty levels enabled Patch Applied: Area data set from XCOMUTIL.CFG Patch Applied: Disjoint bases fixed and new maps added(last line shows up only if the patch hasn't been made before). And then continues to ask for game enhancement options.
Quite a few times I've seen on the forums a question, if there's any way to apply only difficulty patch, without changing craft or something else. Many people (including myself) want to play the game with original balance. UFOPaedia.org XComUtil page offers to run the xcusetup and then use a different editor to reverse the unwanted changes in .exe files. Seems complicated and it's hard to be sure than you've made all the changes right.
Yesterday I studied the XcuSetup.bat file and found a quick and easy solution to difficulty/base disjoint bugs without any other changes to the game.
That's the line in the XcuSetup.bat that is responsible for the patch (approximately in the middle of the file):
xcomutil ufoexe shp:cfg map:cfg wrt XcuSetupIf you remove "shp:cfg map:cfg" and make it look like this:
xcomutil ufoexe wrt XcuSetup...the executed batch file will display the following:
Patch Applied: Difficulty levels enabled Patch Applied: Disjoint bases fixed and new maps addedand continues to questions...
That's what we wanted! Difficulty and base disjoint bugs fixed, and no more forced changes made. For other optional changes just answer "n" to all questions.
If you don't want those "new maps added" - just clear the \maps subdirectory and fill it with the files from backup game copy (always make backup copies before applying any patches). That'll get the base disjoint bug back (I think so - haven't tested it yet). But you can now play Veteran or Superhuman, or whatever skill level you want.
You can also leave the batch file alone and run xcomutil ufoexe wrt XcuSetup in a command line from the game directory - that works just as well.
To fix the Difficulty and Base Disjoint bugs and keep all the rest original features do the following:
1) Make a backup copy of the installed game;
2) Download XcomUtil archive from xcomutil.scotttjones.com and extract the archive to game directory;
3.a) If you want only bugfixes and nothing else go to the game directory, type in the command line xcomutil ufoexe wrt XcuSetup and run it;
3.b) If you want to view XcomUtil additional improvement options and probably enable some of them, open XcuSetup.bat with a text editor and find the line:
xcomutil ufoexe shp:cfg map:cfg wrt XcuSetup
change it to:
xcomutil ufoexe wrt XcuSetup
and run the XcuSetup.bat;
4) If you don't want base dijoint fixed and new maps added, clear the \maps subdirectory and copy all original files from \maps directory of your backup.
That's it. I tested it with 1.4 DOS X-Com:Ufo defense. Difficulty bug is fixed for sure (on Beginner difficulty Large Scout can't have 12 aliens). Not sure about base disjoint bug - haven't been attacked yet.
And one more thing:
Can I or someone else (with appropriate rights) update the UFOPaedia.org XComUtil page to add this solution? There's only a complicated solution that involves an editor offered there.
P.S. I don't mind some other people testing it and posting results. If someone else uses this method and finds that it's not working properly, or can confirm that it does work, please post here.
Important note: XcomUtil command line flags are case-sensitive. Make sure you type "X" and "S" in "XcuSetup" in upper case, other letters in lower. Otherwise the utility doesn't work.
Edited by Bullet-Tooth Tony, 06 September 2006 - 01:00 AM.