http://bugs.winehq.org/show_bug.cgi?id=30117
Bug #: 30117 Summary: patch for ddraw.c for SetCooperativelevel Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: alexey.kutumov@gmail.com Classification: Unclassified
According to documentation for SetCooperativeLevel, flags DDSCL_NORMAL and DDSCL_EXCLUSIVE, or DDSCL_FULLSCREEN cannot be set together. Wine`s implementation is fully compatible with documentation, however exists at least one game, which violates this restriction (Rig-n-roll 2, Dal`noboyshiki 2).
During startup this game tries to set coopLevel with following parameters: DDSCL_FULLSCREEN DDSCL_ALLOWREBOOT DDSCL_NORMAL DDSCL_ALLOWMODEX DDSCL_EXCLUSIVE.
Implementation of SetCooperativeLevel prohibits this mask (and returns with DDERR_INVALIDPARAMS error), and game unable to start with message: "this computer does not have graphics accelerator".
In attachment patch for function IDirectDrawImpl_SetCooperativeLevel, which allows to run this application.
http://bugs.winehq.org/show_bug.cgi?id=30117
--- Comment #1 from Alexey Kutumov alexey.kutumov@gmail.com 2012-03-09 03:59:52 CST --- Created attachment 39259 --> http://bugs.winehq.org/attachment.cgi?id=39259 log, gathered with parameters: WINEDEBUG=warn+ddraw,trace+ddraw wine king.exe > wine_clean.dbg 2>&1
http://bugs.winehq.org/show_bug.cgi?id=30117
--- Comment #2 from Alexey Kutumov alexey.kutumov@gmail.com 2012-03-09 04:12:51 CST --- Created attachment 39260 --> http://bugs.winehq.org/attachment.cgi?id=39260 Patch for allowing DDSCL_NORMAL coexists with DDSCL_FULLSCREEN | DDSCL_EXCLUSIVE
In this patch i removed checking that DDSCL_NORMAL cant coexist with DDSCL_FULLSCREEN | DDSCL_EXCLUSIVE
http://bugs.winehq.org/show_bug.cgi?id=30117
--- Comment #3 from Alexey Kutumov alexey.kutumov@gmail.com 2012-03-09 04:24:28 CST --- Created attachment 39262 --> http://bugs.winehq.org/attachment.cgi?id=39262 Sample program under win32 for testing various combinations of DDSCL_* flags
I created sample program which shows status of SetCooperativeLevel called with different arguments
http://bugs.winehq.org/show_bug.cgi?id=30117
--- Comment #4 from Henri Verbeet hverbeet@gmail.com 2012-03-09 05:02:35 CST --- Which version of Wine are you using? I think the problem you describe, or at least something similar, has been fixed for a while. At the very least the patch you attached won't apply to the current code.
http://bugs.winehq.org/show_bug.cgi?id=30117
runetmember@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |runetmember@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=30117
Alexei babl1986@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |babl1986@gmail.com
--- Comment #5 from Alexei babl1986@gmail.com 2012-03-09 07:20:20 CST --- Rig-n-roll2 version 8+ works fine on wine without any patches. I'll gaming with stock wine 1.4-rc1.
This is Rig-n-roll2 (King of the Road, Dalnoboishiki 2 Second Edition http://games.1c.ru/kotr_2se/) published in 2009 year by 1C, they fix some hardware check issues and make gameplay a little better.
I think, Rig-n-roll2 by 2009 year need to add to appdb with GOLD-PLATINUM status.
http://bugs.winehq.org/show_bug.cgi?id=30117
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.4-rc1 Summary|patch for ddraw.c for |Rig-n-roll2: |SetCooperativelevel |SetCooperativelevel handles | |mutually exclusive flags | |incorrectly
http://bugs.winehq.org/show_bug.cgi?id=30117
--- Comment #6 from Alexey Kutumov alexey.kutumov@gmail.com 2012-03-10 00:54:27 CST --- (In reply to comment #4)
Which version of Wine are you using? I think the problem you describe, or at least something similar, has been fixed for a while. At the very least the patch you attached won't apply to the current code.
I use wine-1.2.3. I`ll try latest version of wine.
http://bugs.winehq.org/show_bug.cgi?id=30117
Alexey Kutumov alexey.kutumov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |WORKSFORME
--- Comment #7 from Alexey Kutumov alexey.kutumov@gmail.com 2012-03-10 03:54:54 CST --- I tried to run RigNRoll on wine-1.4 and it works, thanks for comments
http://bugs.winehq.org/show_bug.cgi?id=30117
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|WORKSFORME |FIXED
--- Comment #8 from Dmitry Timoshkov dmitry@baikal.ru 2012-03-10 06:44:19 CST --- Fixed then.
http://bugs.winehq.org/show_bug.cgi?id=30117
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2012-03-16 14:08:04 CDT --- Closing bugs fixed in 1.5.0.
http://bugs.winehq.org/show_bug.cgi?id=30117
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2012-03-16 17:10:49 CDT --- Really closing bugs fixed in 1.5.0.
http://bugs.winehq.org/show_bug.cgi?id=30117
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch CC| |adys.wh@gmail.com