Thief: The Dark Project Win Comp: no VDMSound: no DOSBox: no
I had been trying to get Thief working for a long time in XP. I could get it running, but it would lock up intermittently. Very frustrating. I tried all variations of video/sound acceleration settings, still to no avail. Then up on the Through the Looking Glass Forums, I finally discovered the solution. Dark Engine games don't work in multi-processor/hyperthreading environments! And hyperthreading (making your single processor appear to be two processors) is turned on by default in XP.
In the end, you only need to do two things to get Thief working in XP:
1. Start -> Run, and execute: d:\setup.exe -lgntforce to install Thief (that's a lower case 'L', by the way. Thief thinks you're trying to install the game in NT, which has insufficient DirectX support, so you have to force it to install)
2. You need to turn off hyperthreading for Thief.
Q. My game intermittently locks up, or my cursor leaves trails on the screen. Both of these symptoms are indications of possible hyperthreading or dual core problems. Is there any way to fix this?
A. Hyperthreading is a technique used by XP (along with special hardware in late model Pentium IV processors) to make your single processor appear as two processors. The theory is that while one thread of execution is blocked waiting for something to happen (like a piece of data to be read from disk), another thread can be running away blissfully on the other virtual processor. And of course, if you have one of the newer dual core processors, then you also have a two-processor scenario. Some Windows games that were written before the advent of XP cannot handle this thread switching between processors, and will randomly freeze up. Here are a few examples:
Grim Fandango
Thief: The Dark Project
Outcast
Tex Murphy: Overseer
To find out if your PC has hyperthreading/dual core:
Start -> Control Panel -> System -> Hardware -> Device Manager -> Computer
And if you don't see: ACPI Multiprocessor PC, then hyperthreading/dual core is NOT the source of your lock-up problems.
If your PC does have hyperthreading/dual core, there is a universal patch programme that you can run to permanently bind a particular application to a single processor. We have archived it for you here: imagecfg.zip. Just download that file and unzip it. Then copy the IMAGECFG.EXE file to the folder:
C:\WINDOWS\SYSTEM32
Now you can run this programme from anywhere. To fix up a particular game, install the game first. Then open a Command Prompt via:
Start -> All Programs -> Accessories -> Command Prompt
Figure out where your game's main executable file is (right-clicking on the game's icon and examining the Properties is a pretty safe bet). Using Grim Fandango as an example, you would enter something like this at the Command Prompt (note the quotation marks around the path to Grim.exe. These are only necessary if the path contains any spaces, but it does no harm to include them anyway):
imagecfg -a 0x1 "C:\Program Files\LucasArts\GRIM\Grim.exe"
And you should see the following output:
C:\Program Files\LucasArts\GRIM\Grim.exe contains no configuration information
C:\Program Files\LucasArts\GRIM\Grim.exe contains a Subsystem Version of 4.0
C:\Program Files\LucasArts\GRIM\Grim.exe updated with the following config information:
Process Affinity Mask: 00000001
Done! Now you shouldn't even have to run the game in Windows 95/98 Compatibility Mode. Just remember that should you ever re-install the game, you will have to run imagecfg on it again.