Running LEGO Rock Raiders on XP without manually disabling DirectDraw

The only way I could find to be able to run LEGO Rock Raiders on XP was to open the DirectX Diagnostic Tool (DXDiag) and click the disable button next to "DirectDraw" before starting the game. Then I would have to re-enable it afterwards. This is a pain to do manually. This script will turn off DirectDraw pragmatically, start the game, and turn it off afterwards - all automatically.

::Turn DirectDraw OFF
Reg Add HKLM\SOFTWARE\Microsoft\DirectDraw /V EmulationOnly /T REG_DWORD /D 1 /F  
Reg Add HKLM\SOFTWARE\Microsoft\Direct3D\Drivers /V SoftwareOnly /T REG_DWORD /D 1 /F

:: Start LEGO Rock Raiders
LegoRR.exe

::Turn DirectDraw ON
Reg Add HKLM\SOFTWARE\Microsoft\DirectDraw /V EmulationOnly /T REG_DWORD /D 0 /F  
Reg Add HKLM\SOFTWARE\Microsoft\Direct3D\Drivers /V SoftwareOnly /T REG_DWORD /D 0 /F  

Copy and paste this script into notepad and save it as startRockRaiders.cmd in the Rock Raiders installation directory (same folder as LegoRR.exe - default is C:\Program Files\Lego Media\Games\Rock Raiders). Now right-click startRockRaiders.cmd and select "Create Shortcut". Replace any existing Rock Raider shortcuts with this one.

You can make the new shortcut look like the original:

  1. Rename it to "Rock Raiders".
  2. Right-click it and select "Properties".
  3. Click the "Change Icon..." button.
  4. Click "OK" if a pop-up comes up complaining about missing icons.
  5. Click "Browse...", navigate to the Rock Raiders installation directory, select LegoRR.exe, and click "Open".
  6. You should see the Rock Raiders Icon in the window. Click "OK", then "OK" again.

Now you have a shortcut that looks exactly like the old one, but allows you play Rock Raiders without having to manually disable and re-enable DirectDraw every time you want to play.

Note: This is not a perfect solution. The script waits for the game to exit before it re-enables DirectDraw. If you power off the machine while the game is running DirectDraw will remain disabled and you will have to manually re-enable it. If you notice some graphical issues or slowness after playing double check that DirectDraw is enabled by clicking Start, then click "Run...", type in "DXDiag" and click "OK", click the "Display" tab, and then look below to see the DirectDraw status. Click the button next to it to enable or disable it manually.