[Bug 45525] Heroes 3 Horn of the Abyss freezes on create a host TCP/ IP multiplayer game

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Dec 27 08:09:41 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=45525

--- Comment #26 from Paul Gofman <gofmanp at gmail.com> ---
1. Vanilla version (from GoG.com)

TCP multiplayer host creation does not work out of the box (hits builtin 
directplay unimplemented features) but works with native direct play
('winetricks directplay').

2. HD patch
Game hangs on attempt to create a TCP multiplayer host exactly the same way as
in above comments (even if original unmodified executable is run). This is
caused by DPWSOCKX.DLL which HD patch installs into the game directory. It gets
loaded instead of the one installed c:\windows\system32. The version and size
of the file suggests this dll is from DirectX 7.0 (Win95/98). Simply deleting
the file fixes the issue (does not hang and opens the next window; I did not
test actual multiplayer game though).

Some Windows users experience similar problems (google for "homm3 hd mod
"dpwsockx.dll"") and solve this problem the same way.

I tested the game with HD patch on Windows XP and Windows 7. It worked fine out
of the box in both versions for me without deleting DPWSOCKX.DLL.

As for Windows 7, it worked only because of different (newer) version of
dplaysvr.exe. Replacing dplaysvr.exe by the one installed by winetricks leads
to the same hang under Windows 7. Replacing dplaysvr.exe in Wine did not work
for me as the newer dplaysvr.exe from my Windows 7 installation hits various
unimplemented API functions under Wine (which can probably be qualified as bugs
but unrelated to this one).

As for WinXP, there is no hang even with dplaysvr.exe taken from winetricks
directplay version. This is consistent with my event visibility testing in
Comment #20. This is probably supposed to work the same way under Wine if
Windows version set to somewhat earlier than Vista (e. g. XP), but it doesn't.
I've tested a workaround patch which simply "swallows" Global\ prefix in sync
object names and it fixes the issue too.

So as a bottom line in respect to this bug Wine seems to work exactly the same
way as Windows Vista+. The issue can be fixed by deleting DPWSOCKX.DLL from
game directory after installing HD patch.

Yet I suppose here is a bug in (not) handling sync objects events namespaces
for Windows versions set below XP. Besides, for Vista+ versions Windows docs
claim that Global\ prefixes are assumed by default for service processes (those
having session id 0), and, while unrelated to this bug, can potentially be of
some issue too as Wine currently seems to not handling namespace prefixes
anyhow.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list