DirectDraw Hack 1.0 Releasedsol_hsa has completed his DirectDraw upgrade ddhack! It now works with all Kilrathi Saga games - Wing Commanders 1, 2 & 3 - plus the Windows version of Wing Commander 4. The program has come a long way since the initial release that added bilinear smoothing to the classic graphics. The latest edition adds several other filters, including a new deinterlacer for Wing Commander 3. On top of all this, the patch fixes some significant compatibility/palette problems that some people have experienced in recent versions of Windows. You can grab the program here (56 k zip). Instructions are included. The source code and debug tools are also available.
sol has posted an entertaining story about the exploration that lead him to development of the ddhack patch at his website. It includes some useful background on how each game implements the upgrade and really shows how much dedicated Wingnuts can accomplish when they set their minds to a task!
In the Beginning
It all started about a month ago, when one friend of mine had decided to follow his dreams and was moving to the states, and he had to get rid of a lot of stuff. Among his discard pile was a bunch of Wing Commander games, which I bought off him, figuring they might be interesting research material, as I'm planning on a game with similar game play structure (as in story combined with game play, not a 3d space shooter).
So, I found myself in the possession of Wing Commanders 1, 2, 3 and 4, all Windows versions - the Kilrathi Saga and WC4CD to be specific. I installed the first and tried it out. My Win7 switched to 256 colors at a 640x480 resolution, but the game ran.. with completely wrong palette.
Bugged by this I played with the compatibility options, and got the game to almost work well, with the palette going wrong at some points.. so the game was sort of playable, but I hated the fact that Windows changed to 256 colors and I couldn't see my mailbox properly in the other screen, etc.
I also tried WC2 and WC3, and they had similar - or worse - problems. I even learned the steps to get WC3 to work properly:
1.Find the WC3W.EXE executable, turn on (basically) all the compatibility options.
2.Start task manager.
3.Find and kill all instances of explorer.exe. Your desktop will disappear, along with the task bar.
4.Using task manager, launch WC3W.EXE
Naturally the screen resolution and color mode will be 640x480 and 256 colors, but if you've bent backwards that much, you probably don't care all that much.
Seeing that the games use DirectDraw, I decided to roll my own.