http://bugs.winehq.org/show_bug.cgi?id=19317
Summary: Enemy Nations: "Error 2 loading the game" Product: Wine Version: 1.1.25 Platform: PC URL: http://www.windwardreports.com/enemy_nations2.htm OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: joeljkparker@gmail.com
Enemy Nations is a 1997 real-time strategy game made for Windows 95. It installs fine, but when the game starts, the black "Loading Enemy Nations..." screen appears, followed by an error message: "Error 2 loading the game". No console messages are printed using default logging.
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #1 from Joel Parker joeljkparker@gmail.com 2009-07-13 21:11:08 --- Note that the natural order of things when the game is started is:
1. enations.dat check (works) 2. disc check (works) <<error message>> 3. cutscene plays (Indeo 4.x)
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #2 from Andrew Nguyen arethusa26@gmail.com 2009-07-17 05:30:27 --- Created an attachment (id=22411) --> (http://bugs.winehq.org/attachment.cgi?id=22411) Enemy Nations +relay log (lzma compressed)
I'm confirming the issue. From relay:
0009:Call KERNEL32._lread(0000006c,001589e0,00002000) ret=7ebba569 0009:Ret KERNEL32._lread() retval=00000000 ret=7ebba569 0009:Ret winmm.mmioDescend() retval=00000109 ret=005039f5 0009:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032ee8c) ret=0052118f
It looks like a winmm problem. mmioDescend returns:
#define MMIOERR_CHUNKNOTFOUND (MMIOERR_BASE + 9) /* chunk not found */
I would guess that mmioDescend isn't handling a file properly.
http://bugs.winehq.org/show_bug.cgi?id=19317
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|-unknown |winmm&mci Ever Confirmed|0 |1
--- Comment #3 from Ken Sharp kennybobs@o2.co.uk 2009-07-17 05:55:21 --- Confirming as per above.
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #4 from Joel Parker joeljkparker@gmail.com 2009-08-08 11:30:49 --- When logging with WINEDEBUG=+mmio, I get a new error:
Title: Enemy Nations GPF
Sorry - an unknown error occured. Version: 1.02.006 Type: 0x80000101,Address: 0xb7fe5402 Stack:0xb7d42085,0xb7d43a01,0xb7d79c04,0x7e9f1660,0x7e000000
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #5 from Joel Parker joeljkparker@gmail.com 2009-08-18 21:02:32 --- Created an attachment (id=23173) --> (http://bugs.winehq.org/attachment.cgi?id=23173) +mmio log
The new error is caused by a debugstr buffer overflow in mmioDescend; this is the log showing the error.
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #6 from Joel Parker joeljkparker@gmail.com 2009-08-18 21:50:18 --- Here's my interpretation of what's failing:
1. mmioOpen opens file ENATIONS.DAT (RIFF file)
2. mmioDescend searches for 'RIFF' from beginning of file
3. finds WSDF (first chunk) of size 0x184; skips to 0x0 (file beg.) + 0x8 (const offset) + 0x184 (chunk size) -> next word aligned = 0x18C
4. finds RIFF of size 0x5E; skips to 0x18C + 0x8 + 0x5E -> next word aligned = 0x1F2
5. doesn't find anything at 0x1F2 and craps out (the actual next RIFF chunk is at 0x1F4)
The RIFF chunk size at step 4 appears to be wrong in the file; the length is actually 0x60, not 0x5E.
What's Microsoft's mmioRead doing to get around this?
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #7 from Dmitry Timoshkov dmitry@codeweavers.com 2009-08-19 00:06:49 --- dlls/winmm/tests/mmio.c has some tests for mmioDescend() and a sample RIFF buffer to test with. Could you please try to at least construct a similar RIFF buffer for the test, or even better add a new test which reproduces the problem?
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #8 from Dmitry Timoshkov dmitry@codeweavers.com 2009-09-16 03:18:12 ---
trace:mmio:MMIO_Open ('(null)', 0x33ed60, 00010020, 1);
0x00010020 == MMIO_INSTALLPROC | MMIO_DENYWRITE
The app installs its own custom MMIO proc, which should be responsible for correct IO and alignment, but it doesn't seem to be used/called.
http://bugs.winehq.org/show_bug.cgi?id=19317
Johannes E. Krause krause@informatik.uni-halle.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |krause@informatik.uni-halle | |.de
--- Comment #9 from Johannes E. Krause krause@informatik.uni-halle.de 2010-04-09 07:10:19 --- I tried to get this game to run, and found this bug report, so i tried with native winmm.dll
this made my processor use 100% CPU until i pressed Ctrl+C, then the game started up fine. upon starting a single player game, however, the game-time did not advance, so i could not build anything etc.
on the console i had several messages like "fixme:ntdll:NtSetTimerResolution (200000,1,0x33f734), stub!", which might be responsible for this behaviour.
the source code of this game is available here: https://code.launchpad.net/~nezticle/enations/old while this does not seem to be compilable on any modern system, it might help diagnosing the problem.
http://bugs.winehq.org/show_bug.cgi?id=19317
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #10 from Austin English austinenglish@gmail.com 2012-06-24 21:49:42 CDT --- Still in 1.5.7.
http://bugs.winehq.org/show_bug.cgi?id=19317
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sagawa.aki+winebugs@gmail.c | |om
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #11 from Sagawa sagawa.aki+winebugs@gmail.com 2013-03-24 03:37:29 CDT --- Created attachment 43999 --> http://bugs.winehq.org/attachment.cgi?id=43999 proposed patch
Could you try this patch?
ENations.exe sets the file offset before calling the second mmioOpen. But our previous implementation resets the file offset in mmioOpen. So mmioDescend was failed.
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #12 from Sagawa sagawa.aki+winebugs@gmail.com 2013-04-04 07:56:32 CDT --- I downloaded from http://www.enemynations.com/downloads/ and it worked fine with my patch. I'll send above patch to wine-patches.
http://bugs.winehq.org/show_bug.cgi?id=19317
--- Comment #13 from Sagawa sagawa.aki+winebugs@gmail.com 2013-04-05 07:48:11 CDT --- Patch committed http://source.winehq.org/git/wine.git/commit/7a222508679328875b795392f2b90a6...
http://bugs.winehq.org/show_bug.cgi?id=19317
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |7a222508679328875b795392f2b | |90a6f2b313016 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #14 from Austin English austinenglish@gmail.com 2013-04-08 15:02:17 CDT --- Should be fixed.
http://bugs.winehq.org/show_bug.cgi?id=19317
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Alexandre Julliard julliard@winehq.org 2013-04-12 13:46:19 CDT --- Closing bugs fixed in 1.5.28.