WineHQ

Heroes of Might and Magic III

A package containing the original and all expansions, gog.com version.

Application Details:

Version: Complete (gog.com version)
License: Retail
URL:  
Votes: 1
Latest Rating: Gold
Latest Wine Version Tested: 10.0-rc3

Maintainers: About Maintainership

Free Download One needs to buy the game from gog.com in order to download

Test Results

Selected Test Results

What works

After installing, when trying to run the unmodified Heroes3.exe I initially received the following error:

0024:err:seh:NtRaiseException Unhandled exception code c0000409 flags 1 addr 0x79c51f30

The game works, but requires a workaround (see details below).

What does not

Apparently GOG has modified their version of the Heroes3.exe executable to use their own xdd.dll instead of ddraw.dll, likely for better compatibility on Windows. However this change prevents the game from running with Wine.

There is some discussion of the issue (and the solution) here:
https://www.gog.com/forum/heroes_of_might_and_magic_series/if_you_cant_get_homm3_to_work_after_the_latest_update_on_linux_with_wine_read_this

Workarounds

Switch into the directory that contains Heroes3.exe and run the following command:

sed --in-place 's/xdd\.dll../ddraw.dll/' Heroes3.exe

This replaces "xdd.dll" with "ddraw.dll" in the Heroes3.exe file.

What was not tested

Map editor

Campaign editor

Hardware tested

Graphics:

  • GPU: Intel
  • Driver: proprietary

Additional Comments

The workaround described above is required to make the version available on GOG at the time of this report be able to run.
setup_heroes_of_might_and_magic_3_complete_4.0_(3.2)_gog_0.1_(77075)

An alternative workaround command which achieves the same result is this following:
printf "DDRAW.dll" | dd of=Heroes3.exe bs=1 seek=2475928 conv=notrunc
However this may only work with the English version of the game, as other languages will have the required string at a different position in the binary.
For other localizations, the sed command above has been reported to work.

It may also be possible to rename the ddraw.dll file as xdd.dll, replacing the one provided by GOG. (I did not test this method.)
Some additional discussion is here:
https://www.gog.com/forum/heroes_of_might_and_magic_series/homm_iii_the_game_is_no_longer_smooth

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
CurrentLinux Mint 21.3Dec 25 202410.0-rc3Yes Yes YesGoldScarabyte 
ShowManjaro Linux 24.1.0Dec 02 20249.16Yes No NoGarbageJPT 
ShowFedora 37 x86_64Aug 20 20238.12Yes Yes NoPlatinumJonathan Bouchard 
ShowArch Linux x86_64Mar 19 20216.4Yes Yes YesSilverYaroslav Nikitenko 
ShowGentoo Linux x86_64Jan 02 20215.22Yes Yes NoPlatinumWilliam J May 

Known Bugs

Bug # Description Status Resolution Other apps affected
27419 Mouse problem in Heroes of Might and Magic 3 CLOSED FIXED View
29129 HOMM3 (from GOG.com) installs, but does not start on Intel video card CLOSED NOTOURBUG View
34166 Fullscreen flickering on Mac RESOLVED NOTOURBUG View
49910 Heroes of Might and Magic 3 crashes on startup UNCONFIRMED View
50217 Heroes of Might and Magic 3 (GOG) TCP/IP game does not work (winetricks needs to set dplaysvr.exe to native) CLOSED NOTOURBUG View
57455 HOMM3 (from GOG.com) crashes immediately on run UNCONFIRMED View
57590 Heroes of Might and Magic III (GOG): Unhandled exception code at startup CLOSED DUPLICATE View

Show open bugs

HowTo / Notes

HOWTO

Multiplayer
To get multiplayer working, you need native directplay dlls. The old howto had a link pointing to outdated directplay dlls which cause problems with wine and generally don't work as expected. However with the latest dplay from DirectX 9.0c multiplayer is (almost - see note for details) flawless.
In the wine wiki is described how to get native direct play dlls.
Personally I would recommend using winetricks directplay which installs dplay dlls and sets overwrite in winecfg, however you may choose do install manually those files in which case you need to:

  1. Place the following dplayx.dll, dpnet.dll, dpnhpast.dll, dpwockx.dll, dplaysvr.exe in your .wine/drive_c/windows/system32
  2. Set those files to overwrite (native, builtin) in winecfg

NOTES: The game always freezes when exiting a multiplayer game.
Sometimes when you host a TCP/IP game, no one is able to connect (any client trying receives an "IP address not found" error.) In this case just rehost and the problem will be gone.

 

NOTE: Heroes3HD and HD+

You can now play Heroes 3 in HD, utilizing the full size of your screen, thanks to Heroes3HD mod. It doesn't change anything gameplay wise.

With recent Wine releases, Wine prefixes are set to Windows 7. Currently, it causes rendering issues when HD or HD+ mod are installed.

Running winecfg and setting the Windows version to Windows XP solves the rendering issues.

Comments

Back