XCOM Collectors Edition bugfix loaders - version 0.5 2001/11/27: A few months ago I jumped out of my chair of joy when I saw the X-COM collectors edition. Enemy Unknown, Terror from the deep, apocalypse, interceptor, and email games. Well, I was only really interested in the first two, but didn't hurt getting the others as well. Oh boy, soon I was going to re-experience the joy of playing these games! When I found out the games had been rewritten for win32, I was even happier, as the dos-extended versions didn't want to run under win2k. I was pretty excited. Got home with the box, installed the game, and... *BooM*. All garbled graphics. Got me pretty depressed. Finally found that this was fixable by turning off DDraw acceleration, but... that's a hack imho. Since I'm a programmer and fiddle a bit with reverse engineering every now and then, I had a suspicion what might be wrong, since I've seen the same with my first DirectDraw code. The programmers were not taking the "pitch" into consideration. Their graphics cards have obviously had width equal to pitch for 320x200. Last night I finally got in the mood for attacking this problem (slightly bored, slightly angry that there still isn't a patch around, as it's a VERY trivial problem to solve). After a couple of hours of programming and Reverse Engineering, I've come up with the following solution. A loader. Simply stick the exe in your ufo directory and run that instead of the original exe, and it will dynamically load&patch the game executable (in memory, your original executable is left intact). The code is patched to query DirectDraw for the pitch, and use a correct image display routine. The 9x loader should work on any win32 version, while the NT loader only works on, well, NT based systems (nt?, 2k, XP). Even though the 9x loader also works on NT systems, I decided to released both, as the NT loader is somewhat cleaner. Source included. I hope someone ends up finding this useful. I had a lot of fun fixing Mythos's bugs (well, I think it's Mythos who did the win32 port), and now I can also have fun playing the good old game :D. Haven't looked at TFTD yet, but I believe it to have the same problem, and I will release fix for it later. 2001/12/26: Finally got my XCOM CD back from my friend, and took at look at "Terror From The Deep". Took me about fifteen minutes to find the problems and rewrite my loader code to support both versions. TFTD loader seems to work just fine, but... there was some weird code I didn't feel like digging through. Both tactical and combat seems to work fine, though. Removed the NT loader, only the "unified 9x loader" is included. Source still included. 2002/01/03: Fixed music bug under NT based windows versions. Stupid microsoft, stupid and lame MCI API. This code is still pretty experimental, but since I run win2k, and the code seems to work fine under9x as well, the included exes have the music bugfix as well. If you don't want/need the music bugfix, simply don't copy "musfix.dll" to your game folder. Also, the loaders now take an optional commandline parameter: the executable to load. Yep, now you can call your exes xcom1.exe and xcom2.exe if you want. Doesn't seem to work if you drag an XCOM executable onto the loader, but... I can't be bothered to fix that right now ;). Next up? Perhaps I should try fixing the animation speed. Lots of thanks to cynica_l for fixes, cleanups, and extensive playi...testing. f0dder, f0dder@yahoo.com, http://f0dder.has.it, http://f0dder.cjb.net, 2002/01/03.