[Bug 15866] New: MechCommander 2: DSERR_CONTROLUNAVAIL errors

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Oct 31 07:03:00 CDT 2008


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

           Summary: MechCommander 2: DSERR_CONTROLUNAVAIL errors
           Product: Wine
           Version: 1.0.1
          Platform: PC
               URL: http://www.mechcommander.org
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P2
         Component: directx-dsound
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: georg298 at gmx.de


Starting the game with

WINEDLLOVERRIDES="dpnet=n" wine MC2Rel.exe -window /gosnoblade /gosusehw

it will display many

FAILED (0x8878001e - DSERR_CONTROLUNAVAIL) - SetPan(0x8fa89a0: 0)

errors. These errors occur each time a sound notification or similar (e.g.
hovering the mouse over a button in the menu or firing a weapon inside the
game) is played.
The reason is the function
IDirectSoundBufferImpl_SetPan
inside buffer.c from dsound dll.
The following code is the reason:

        /* You cannot use both pan and 3D controls */
        if (!(This->dsbd.dwFlags & DSBCAPS_CTRLPAN) ||
            (This->dsbd.dwFlags & DSBCAPS_CTRL3D)) {
                WARN("control unavailable\n");
                return DSERR_CONTROLUNAVAIL;
        }

Is the logic here correct?
Shouldn't "if(!A || B)" really be if(!(A || B)) ?
However the comment "You cannot use both pan and 3D controls" doesn't make any
sense in both cases, I think.
If I change it accordingly, it will work (not display these errors any more):

        /* You cannot use both pan and 3D controls */
        if (!((This->dsbd.dwFlags & DSBCAPS_CTRLPAN) ||
            (This->dsbd.dwFlags & DSBCAPS_CTRL3D))) {
                WARN("control unavailable\n");
                return DSERR_CONTROLUNAVAIL;
        }

Changing it according to the comment to if(A && B) doesn't work.

I hope I provided enough information. I don't really know what I did there.


-- 
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