http://bugs.winehq.org/show_bug.cgi?id=15226
Summary: Cursor in Red Alert disappears randomly Product: Wine Version: CVS/GIT Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: toni.spets@gmail.com
The (software?) cursor in Command & Conquer: Red Alert disappears randomly.
This can be accomplished by moving the cursor fast when clicking some menu buttons or it happens randomly in game or menu. Might take many tries.
Some assumptions: Not SMP related, happens on both dual core and single core. Not related to DirectDrawRenderer, both GDI and OpenGL has the same problem.
Tested with todays git.
http://bugs.winehq.org/show_bug.cgi?id=15226
Peter Fernandes supersonicandtails@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |supersonicandtails@gmail.com
--- Comment #1 from Peter Fernandes supersonicandtails@gmail.com 2008-09-16 17:31:55 --- Confirmed here. The cursor randomly disappears, and I can't get it to come back.
http://bugs.winehq.org/show_bug.cgi?id=15226
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #2 from Lei Zhang thestig@google.com 2008-09-19 14:51:47 --- confirming then.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #3 from Toni Spets toni.spets@gmail.com 2008-09-19 15:59:27 --- Still in 1.1.5
Is there anyone who could look at this? The problem is over a year old and the Wine versions from back then don't tend to compile so nicely on todays tools.
Also in the comments someone reported disabling double buffering helped when it could still be disabled. Is it still possible to revert the commit and attach it as a workaround so the game would be playable?
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #4 from Austin English austinenglish@gmail.com 2008-09-19 21:16:34 --- Is this a regression?
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #5 from Toni Spets toni.spets@gmail.com 2008-09-20 01:24:06 --- I'm not 100% sure if it's a regression. Can't confirm as the old versions don't compile. Comments about disappearing cursor date back to early 2007.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #6 from Toni Spets toni.spets@gmail.com 2008-09-20 02:16:35 --- Well, I got as old as 0.9.10 to compile and it did disappear with a version from back then too.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #7 from Austin English austinenglish@gmail.com 2008-09-20 03:34:19 --- (In reply to comment #6)
Well, I got as old as 0.9.10 to compile and it did disappear with a version from back then too.
Then please run a regression test: http://wiki.winehq.org/RegressionTesting
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #8 from Toni Spets toni.spets@gmail.com 2008-09-20 03:36:52 --- (In reply to comment #7)
(In reply to comment #6)
Well, I got as old as 0.9.10 to compile and it did disappear with a version from back then too.
Then please run a regression test: http://wiki.winehq.org/RegressionTesting
Ah, I think I wasn't clear enough. The cursor did disappear with as old version as 0.9.10. I haven't found a working version. Older than that are really pain to compile.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #9 from Austin English austinenglish@gmail.com 2008-09-20 12:07:10 --- Ahh, nevermind then.
Please attach terminal output.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #10 from Toni Spets toni.spets@gmail.com 2008-09-21 02:47:59 --- Created an attachment (id=16190) --> (http://bugs.winehq.org/attachment.cgi?id=16190) Red Alert terminal output
Attached the requested log.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #11 from Toni Spets toni.spets@gmail.com 2008-11-30 05:33:11 --- Still in 1.1.9.
http://bugs.winehq.org/show_bug.cgi?id=15226
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|CVS/GIT |unspecified
--- Comment #12 from Austin English austinenglish@gmail.com 2009-01-20 02:40:24 --- Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
http://bugs.winehq.org/show_bug.cgi?id=15226
Toni Spets toni.spets@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |0.9.10.
--- Comment #13 from Toni Spets toni.spets@gmail.com 2009-03-01 13:57:48 --- Updated version tag to 0.9.10 which was the oldest Wine I could test in comment #6.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #14 from Toni Spets toni.spets@gmail.com 2009-03-01 14:30:44 --- Tested with 0.9.16 and the bug still persists.
http://bugs.winehq.org/show_bug.cgi?id=15226
Toni Spets toni.spets@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Cursor in Red Alert |Cursor in C&C Gold and Red |disappears randomly |Alert disappears randomly
--- Comment #15 from Toni Spets toni.spets@gmail.com 2009-03-01 23:41:55 --- Tested C&C Gold which is similiar to RA1 and it also suffers from the same bug. Altough the cursor came back when I blindly opened other menu levels so it might have smaller impact on it. In Red Alert the cursor will not restore.
Reminding that the easiest way to test this is to shake your mouse horizontally when opening a sub menu in main menu (like Multiplayer) during the screen redraw stutter and repeating it until the cursor disappears.
http://bugs.winehq.org/show_bug.cgi?id=15226
Daniel Santos daniel.santos@pobox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.santos@pobox.com
--- Comment #16 from Daniel Santos daniel.santos@pobox.com 2009-07-24 02:31:59 --- Can you run this with WINEDEBUG=+cursor,+icon and post the log please?
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #17 from Toni Spets toni.spets@iki.fi 2009-07-24 02:37:46 --- (In reply to comment #16)
Can you run this with WINEDEBUG=+cursor,+icon and post the log please?
Red Alert was a DOS game and the Windows port of it used a software cursor of it's own and hides the real system cursor completely. It has nothing to do with Windows' cursor in my opinion but will give it a spin.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #18 from Toni Spets toni.spets@iki.fi 2009-07-24 02:44:40 --- Created an attachment (id=22571) --> (http://bugs.winehq.org/attachment.cgi?id=22571) Terminal output with WINEDEBUG=+cursor,+icon on Wine 1.1.26
Made sure the cursor did disappear in that session.
Enjoy :-)
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #19 from Daniel Santos daniel.santos@pobox.com 2009-07-24 17:21:27 --- Thanks! I don't see anything in there that would indicate the cursor/icon patches will help, but if you are in the mood you can give them a shot, I've uploaded them here: http://glest.codemonger.org/files/wine/cursor-work-20090723.tbz2
About 1% into the log file, it calls SetCursor(NULL) to disable it (and again about 60% of the way through). So, as you said, it would appear they draw their own mouse cursor after a certain phase into running the program (before that, they are just using OEM cursors).
I will say that something is definitely wrong because when the program closes, it attempts to destroy each icon twice, I presume this is from CURSORICON_FreeModuleIcons, but I don't know why it would try to delete them twice.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #20 from Toni Spets toni.spets@iki.fi 2010-02-28 02:54:11 --- Still in 1.1.39.
http://bugs.winehq.org/show_bug.cgi?id=15226
berend berend_lotr@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |berend_lotr@hotmail.com
--- Comment #21 from berend berend_lotr@hotmail.com 2010-05-22 05:59:46 --- I've got the same problem, Wine 1.1.44
http://bugs.winehq.org/show_bug.cgi?id=15226
t6tiar00@students.oamk.fi changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |t6tiar00@students.oamk.fi
--- Comment #22 from t6tiar00@students.oamk.fi 2010-06-28 07:17:42 --- Still in Wine 1.2-rc5. Ticking both options from the setup program helps a bit, but there are still strange flickering in game and disappearing of cursor.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #23 from Toni Spets toni.spets@iki.fi 2010-08-27 23:52:28 CDT --- Still in Wine 1.3
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #24 from Toni Spets toni.spets@iki.fi 2010-11-05 10:30:14 CDT --- During my work on cnc-ddraw (https://github.com/hifi/cnc-ddraw) I have been seeing this bug occasionally depending on how I synchronize the async ddraw API with my drawing loop thread. Also it seems to depend on if the process is assigned only single-core affinity or not.
So this is also related to the ddraw and/or thread implementation of Wine. My guess is that if the game thread order somehow get mixed and start to draw in a different order (cursor before scene) it effectively disappears.
cnc-ddraw is still a work in progress.
http://bugs.winehq.org/show_bug.cgi?id=15226
Manuel Soukup linuxuser-sky@gmx.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linuxuser-sky@gmx.de
--- Comment #25 from Manuel Soukup linuxuser-sky@gmx.de 2011-02-06 07:52:03 CST --- This bug is still in 1.3.12.
you can get the cursor back if you terminate to the main menu there is the cursor again. But if you load the game again it crashes (maybe diff bug ?)
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #26 from Toni Spets toni.spets@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.
http://bugs.winehq.org/show_bug.cgi?id=15226
--- Comment #27 from butraxz@gmail.com 2013-10-18 13:46:46 CDT --- This ticket has not been updated for over 900 days. Development recommends to check the status on your bug every release or two and let to be known if the bug is still present. If not, mark it fixed. If you are no longer able to put effort to this ticket, you can abandon it.
Is this still an issue with 1.7.4 or higher ?
https://bugs.winehq.org/show_bug.cgi?id=15226
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |ABANDONED
--- Comment #28 from Austin English austinenglish@gmail.com --- (In reply to butraxz from comment #27)
This ticket has not been updated for over 900 days. Development recommends to check the status on your bug every release or two and let to be known if the bug is still present. If not, mark it fixed. If you are no longer able to put effort to this ticket, you can abandon it.
Is this still an issue with 1.7.4 or higher ?
Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=15226
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #29 from Austin English austinenglish@gmail.com --- Closing.