Tuesday, September 13, 2016

CE Stopped Working?

Symptoms:
  • On starting a level: "InitD3D fails".
  • Configure / options shows no available resolutions.
If you have updated your 3d card lately or your PC/laptop is simply new, then CE may have stopped working with the above symptoms. It appears that ce.exe may be misinterpreting directx GPU make/model and resolution capability information for newer model 3d cards / drivers and is trying to start games with a corrupted screen resolution.

I don't yet know if its CE's fault, or a directx, or a driver problem. My guess it is CE not handling extra long model information strings and/or long GPU resolution capability lists and is corrupting its memory.

It may be a while before I fix the problem properly, but I have a quick fix patch in the interim. The patch simply hard-codes a game resolution into ce.exe, specifically 1920 x1080 @ 32 BPP. The patch may be applied to CE versions 1.42 and up. (Do not use it on ce v1.36 or older, it will not work.)

Get the patch here.

Open "ce142ForceRes.xsc" in a text editor for info on how to apply the patch. As mentioned, the patch is currently set to hard-code the game to 1920x1080, but if you know hexadecimal you can easily update the script to hard-code other resolutions.

Thanks to Skjalg and others for bringing this to my attention.