http://bugs.winehq.org/show_bug.cgi?id=18183
Summary: Crazy Machines with CD-ROM: no mouse, no exit Product: Wine Version: 1.1.19 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winmm&mci AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net
Some testers in AppDB already mentioned broken exit behaviour with Crazy Machines: "Quit the game takes some times very long or don't work at all" "Exiting the game can only be achieved with Ctrl + C. The Quit Game ingame option does not work." "Even the quit-bug in wine 1.1.3 vanished for me"
The exact behaviour depends on whether wine pretends there is a CD-ROM drive. What's even weirder is that failure to exit the application correlates with an invisible mouse pointer.
Two version of Crazy Machines I can test present similar behaviour: - CM Inventor's Workshop (Erfinderwerkstatt, retail) - CM Operation Brainstorm (sequel aka. New Challenges, demo)
In Inventor's workshop (IW), when the game does not exit, the info screen (with 2 exit+cancel buttons) disappears, returning to the main menu. In Operations Braintorm (OB), the trailer screen remains in place. The invisible mouse pointer makes it tough to select objects, but they still highlight and react when the mouse passes over them.
The following table lists some of my findings. * "poi" means whether the mouse pointer is visible or not. * "mou" HW or SW inside the app's option menu. * "exi" whether the app exists when asked to. * "full." winecfg fullscreen or desktop window. The app's own option is always fullscreen, to avoid an ugly border. * "music" off, CD or game's own .ogg files, see options menu * "DOS" the one important point: what kind of drives does wine declare?
poi/exi full. window mou ver OS wine music DOS ok/yes desktop 800x600 HW IW Intrepi 1.1.19 HD C+Z ok/yes yes 800x600 HW IW Intrepi 1.1.19 HD C+Z ok/yes desktop 800x600 HW OB Intrepi 1.1.19 HD C+Z ok/yes yes 800x600 HW OB Intrepi 1.1.19 HD C+Z ok/yes desktop 800x600 HW OB Intrepi 1.1.19 HD C+Z+D(link) no/no desktop 800x600 HW OB Intrepi 1.1.19 HD C+Z+D(defd, empty) no/no desktop 800x600 HW IW Intrepi 1.1.19 HD C+Z+D(defd, empty) ok/no desktop 800x600 SW IW Intrepi 1.1.19 HD C+Z+D(defd, empty) no/no desktop 800x600 HW IW Hardy 1.1.19 HD C+Z+D(defd, empty) no/no desktop 800x600 HW IW Hardy 1.1.19 CD C+Z+D(data) ok/yes desktop 800x600 HW IW Intrepi 1.1.19 CD C+Z+D(mus) froze desktop 800x600 HW OB Intrepi 1.1.19 CD C+Z+D(mus) no/no desktop 800x600 HW OB Intrepi 1.1.19 CD C+Z+D(mix) ok/yes desktop 800x600 HW IW Hardy 1.1.19 CD C+Z+D(mus) froze desktop 800x600 HW IW Hardy 1.1.19 CD C+Z+D(mix)
* "link" means a sole symbolic link without further action: ln -s /media/cdrom ~/.wine/dosdevices/d: * "D" means d: -> /media/cdrom0 and d:: -> /dev/scd0 winecfg can create this for you when it detects a CD-ROM in a drive. * "defd" (defined) means an entry like follows in system.reg: [Software\Wine\Drives] 1240505086 "d:"="cdrom" You need not mess with the registry. Use winecfg, then check the result in system.reg. * "mus" means a music CD is inserted. * "mix" means a data CD-ROM with additional music tracks is inserted.
A link dosdevices/d:: -> /dev/scd0 alone does not cause trouble. (It produces interesting results with wine cmd dir d: -- serial number and label are listed, but no contents).
Both registry entry and dosdevices/d: (not d::) must be set for the bug to show up. I choose /media/cdrom above as an example, but the bug also shows up when you declare a directory from your HD as a CD-ROM in winecfg.
With a CD-ROM in the drive, this effect mostly disappears.
A distinct issue is that Intrepid froze shortly after the CD-ROM was accessed (repeatably). The caps_lock light went on. Hardy froze while in the initial screen (Die Völker CD-ROM); no caps_lock. I need to investigate this further before reporting it, as I have some other wine apps that freeze Linux, and most of these also can use mcicda -- maybe that's the clue.
Using Ubuntu Intrepid and Kubuntu Hardy, ALSA without pulseaudio (pactl exit), Intel AC'97 audio.
http://bugs.winehq.org/show_bug.cgi?id=18183
--- Comment #1 from Jörg Höhle hoehle@users.sourceforge.net 2009-04-24 05:26:56 --- Alas, unlike Age of Empires 2 and The Alien Nations, Crazy Machines Inventors Workshop does not manage to play CD music. trace:mcicda:MCICDA_Open (0001, 00002000, 0x32fcf8); trace:mcicda:MCICDA_Open (0001, 00002002, 0x32fab8); is all that happens.
When a cdrom is defined, this is followed by: trace:mcicda:MCICDA_Set MCI_FORMAT_TMSF !
When [HKLM...\Drives] defines a cdrom, wine displays an endless sequence of: warn:mcicda:MCICDA_Status error reading TOC ! trace:mcicda:MCICDA_Status (0001, 00000101, 0x32fb90); trace:mcicda:MCICDA_Status MCI_NOTIFY_SUCCESSFUL 00010028 ! trace:mcicda:MCICDA_Status dwItem = 3 (but not when given a music-only CD).
Well, Crazy Machines Operation Brainstorm manages to repeat 2 seconds of CD music in a endless loop, repeating the following trace: MCICDA_Play (0001, 00000005, 0x32fc04); MCICDA_CalcFrame (0x1392a0, 0000000A, 11); MCICDA_CalcFrame MSF 11-00:00:00 MCICDA_CalcFrame TMSF trackpos[11]=65:39:56 MCICDA_Play MCI_FROM=0000000B -> 295481 MCICDA_Play Playing from 295481 to 305805 MCICDA_Status (0001, 00000101, 0x32fc0c); MCICDA_Status MCI_NOTIFY_SUCCESSFUL 00010028 ! MCICDA_Status dwItem = 3 MCICDA_Status MCI_STATUS_NUMBER_OF_TRACKS = 11
Switching music off in the game's options menu restores the mouse pointer during game. Surprisingly, mcicda traces continue to scroll by, and the app still won't exit. On the next game start one observes that the options were not saved while in "mcicda traces scroll by" mode. It makes it seem like control is never returned to some main procedure that would save options or exit.
The invisible mouse pointer was present in wine-1.0.1 already (even though that release could not play mcicda). Long ago the errors where: fixme:mountmgr:harddisk_ioctl unsupported ioctl 2402c fixme:mcicda:MCICDA_GetError Unknown mode 1 [3x]
http://bugs.winehq.org/show_bug.cgi?id=18183
--- Comment #2 from Austin English austinenglish@gmail.com 2009-10-29 15:26:30 --- Is this still an issue in current (1.1.32 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=18183
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #3 from Jörg Höhle hoehle@users.sourceforge.net 2009-11-02 05:57:56 --- This seems to be gone now (1.1.32) and unrelated to bug #20555. The mouse pointer was always visible (both HW and SW) yesterday. Exit worked. Music worked. mcicda traces were at a normal level (and in some circumstances, it even played music from CD, see bug #20555).
http://bugs.winehq.org/show_bug.cgi?id=18183
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2009-11-13 12:43:49 --- Closing bugs fixed in 1.1.33.