Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Theocracy Create DirectDraw failed error message #349

Closed
szombi opened this issue Aug 24, 2024 · 7 comments
Closed

Theocracy Create DirectDraw failed error message #349

szombi opened this issue Aug 24, 2024 · 7 comments

Comments

@szombi
Copy link

szombi commented Aug 24, 2024

Hey!

I just found your tool. I am trying to find something that can run Theocracy in windowed mode (info: https://www.pcgamingwiki.com/wiki/Theocracy) This is a pretty old game.
I tried all install methods on the wiki and only the Method 4 worked with a manifest. When I try to start the game I see an error: Create DirectDraw failed. I didn't create any configuration for DDrawCompat, so I went with the default ones, and I attached the logs file. I'm using Windows 10 with the latest updates. I tried to check the old issues here in Git Hub, but I didn't find any error message like this.
Any idea about this error? Thanks in advance!

image
DDrawCompat-theocracy-0.6.85.log

narzoul added a commit that referenced this issue Aug 25, 2024
@narzoul
Copy link
Owner

narzoul commented Aug 25, 2024

The game is using ddrawex.dll (first time I see that), which seems to have a version check for the ddraw.dll file, but it's checking DDrawCompat's dll instead of the system dll. I fixed it in v0.5.4.

Note that DDrawCompat doesn't have any features to force fullscreen games to windowed mode, and probably won't have in the near future either. You should try something like DxWnd for that.

@IllustriousProsperus
Copy link

Update:

if the game is installed in "C:\Theocracy" and start the exe "theocracy-0.6.85.exe" with ddraw 0.54, the game will start (sometimes) BUT you will not hear the audio of the videos and not of the audio tracks, BUT if you rename the executable to "theocracy.exe" the game will start, you will hear the audio of the videos and audio tracks but it will crash with the infamous "Create DirectDraw failed" error.

IF the game is installed in "F:\Theocracy" and start the exe "theocracy-0.6.85.exe" you will hear the audio of the videos and audio tracks but it will crash with "Create DirectDraw failed" error and if you rename the executable to "theocracy.exe" the game will start, you will hear the audio of the videos and audio tracks but it will crash with "Create DirectDraw failed" error.

Weird uh?

@narzoul
Copy link
Owner

narzoul commented Jan 24, 2025

It sounds like you did not set up the manifest correctly if you're getting DirectDraw errors still. You should verify if DDrawCompat is getting used at all, e.g. try opening either of the overlays or check the log file's date.
The rest of the issues might just be the Win11 24H2 CpuAffinity bug: #387 (comment)

@IllustriousProsperus
Copy link

It sounds like you did not set up the manifest correctly if you're getting DirectDraw errors still. You should verify if DDrawCompat is getting used at all, e.g. try opening either of the overlays or check the log file's date. The rest of the issues might just be the Win11 24H2 CpuAffinity bug: #387 (comment)

I was wrong, both the regular ddraw and the one from #387 and other ddraws are completely ignored and I get the exact same error. (Create DirectDraw failed no longer appears???). Game crashes instantly when you reach the menu. It only works and not always, if you use Windows 95 compatibility (the audio and movie tracks are silent), another very badly programmed game.

Image

@narzoul
Copy link
Owner

narzoul commented Jan 30, 2025

Yes, your screenshot shows that DDrawCompat is still not applied, as you don't have the old-school window borders.

If you move or rename the executable, you must do the same with the manifest file, and also update the timestamp of the executable again with the PowerShell command mentioned in the wiki.

Take care to rename the manifest file correctly. If your Windows File Explorer is hiding file extensions by default, disable that setting to make sure the extension is correctly visible.

Or just use these in this attachment, which I've already renamed:
Theocracy_manifests.zip

Then update the timestamps, e.g. if the game is installed in C:\Theocracy, then from PowerShell:
Get-Item -Path C:\Theocracy\theocracy.exe | % {$_.LastWriteTime = (Get-Date)}
Get-Item -Path C:\Theocracy\theocracy-0.6.85.exe | % {$_.LastWriteTime = (Get-Date)}

@IllustriousProsperus
Copy link

with the "manifest" files the game works, so I can say that the game is fixed. For the cpu bug... I read it once but I couldn't test it that with Stalker 1, with win 11 24h2 if set with 1 core but with a specific core, the number 7, the game worked without problems, maybe it's possible apply this function with ddraw?

@narzoul
Copy link
Owner

narzoul commented Jan 31, 2025

It is already possible to set any CPU affinity with DDrawCompat. That's what the CpuAffinity setting is for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants