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.