[Bug 15226] Cursor in C&C Gold and Red Alert disappears randomly

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Apr 3 11:09:50 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=15226

--- Comment #26 from Toni Spets <toni.spets at iki.fi> 2011-04-03 11:09:49 CDT ---
By analyzing the game binary using different sources from the Internet I have
come to a conclusion (and a binary patch) that the threading in the game itself
gets messed up and some condition is never cleared that the cursor should be
visible.

What the patch does is that it never allows the game to reach the condition
when it would hide the cursor when going to draw it (I don't know why it hides
it before drawing).

So, the binary fix for Red Alert 3.03 (patcher) is at 
  http://hifi.iki.fi/cnc/ra/patches/ra303_fix_cursor_bug.exe
and the relevant source for the patch data is at
  http://hifi.iki.fi/cnc/ra/patches/source/ra303_fix_cursor_bug.h
if you want to patch the exe by hand.

The underlying cause is somewhere in the directdraw and thread implementation
of Wine, locking or something. It might be impossible to trace.

To build this patch I used the original ra95.dat from 3.03 patch zip, OllyDbg
on Wine and a .map file that was extracted from some 2.00 version of the game
that had debugging symbols enabled which helped to find the correct class and
method to dig.

I know this bugzilla is for Wine bugs and should be strictly about fixing Wine
but I thought like with cnc-ddraw that providing the information users are
looking for right here is good service.

So the bottom line is that this issue happens on Windows too if the ddraw
implemention is replaced by cnc-ddraw which points to a conclusion the problem
is about ddraw and Windows thread synchronization working together correctly.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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