It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
If you like me get an error message like this:
0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x79c51f30
When trying to run Homm3 with wine, the solution is quite simple. It seems GOG changed the Heroes3.exe executable to use their own xdd.dll instead of the normal DDRAW.dll, probably for better compatibility on Windows. However this makes us unable to launch the game with Wine.
Looking at the executable, you can see that GOG has simply overwritten the "DDRAW.dll" with "xdd.dll", so lets change that back with this simple command:
printf "DDRAW.dll" | dd of=Heroes3.exe bs=1 seek=2475928 conv=notrunc
This command simply replaces xdd.dll with DDRAW.dll at byte 2475928 in the executable Heroes3.exe
You should be able to launch the game with no issues now.
This 'hack' to use DDRAW.dll worked just fabulously! TY, VM!

Wine v9.10, Heros3 v4.0 (3.2), GOG Complete Edition.
avatar
Not_you: printf "DDRAW.dll" | dd of=Heroes3.exe bs=1 seek=2475928 conv=notrunc
While this command works nicely for the English version of the game, it won’t work with the other localizations due to them using distinct binaries.

Here is an alternative command I tested (with success) on the English, French and Russian localizations:
sed --in-place 's/xdd\.dll../ddraw.dll/' Heroes3.exe
Big thanks for reporting your findings and workaround in the first place, as this is not something I would have thought of by myself ;)
avatar
Not_you: printf "DDRAW.dll" | dd of=Heroes3.exe bs=1 seek=2475928 conv=notrunc
avatar
vv221: While this command works nicely for the English version of the game, it won’t work with the other localizations due to them using distinct binaries.

Here is an alternative command I tested (with success) on the English, French and Russian localizations:

sed --in-place 's/xdd\.dll../ddraw.dll/' Heroes3.exe
avatar
vv221: Big thanks for reporting your findings and workaround in the first place, as this is not something I would have thought of by myself ;)
Works also with polish version. Thanks
Use the Heroes 3 HD Patch instead. It replaces the entire EXE with a variant that uses ddraw.dll and also supports OpenGL and upscaling filters.

Zero issues running on Linux with the HD patch. You will not need to hack the contents of any exe files!

My guide is here:

https://www.gog.com/forum/heroes_of_might_and_magic_series/running_heroes_of_might_and_magic_3_on_linux_with_wine/post2
Post edited January 09, 2025 by TinyMessajah