https://bugs.winehq.org/show_bug.cgi?id=44489
Bug ID: 44489 Summary: Zwei: The Arges Adventure can't detect installed Indeo 5 codec Product: Wine Version: 3.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msvfw32 Assignee: wine-bugs@winehq.org Reporter: kq3thih@mailnesia.com Distribution: Debian
Created attachment 60444 --> https://bugs.winehq.org/attachment.cgi?id=60444 +msvid,+relay log - 7.2M
The game uses Indeo 5 encoded videos. It attempts to detect if the codec is installed. If it fails then it disables video playback.
winetricks -q icodecs and it still fails to see the IV50 codec installed. From the attached +relay trace:
--- snip --- 002b:Call msvfw32.ICInfo(00000000,00000003,003359f4) ret=00bc2470 002b:trace:msvideo:ICInfo (0x00000000,0x00000003,0x3359f4) 002b:Call advapi32.RegOpenKeyExA(80000002,7d78a9ac "Software\Microsoft\Windows NT\CurrentVersion\Drivers32",00000000,00000001,00334f08) ret=7d7846af 002b:Ret advapi32.RegOpenKeyExA() retval=00000000 ret=7d7846af 002b:Call advapi32.RegEnumValueA(000000f0,00000000,00334f20,00334f0c,00000000,00334f14,00334f2a,00334f10) ret=7d78478f 002b:Ret advapi32.RegEnumValueA() retval=000000ea ret=7d78478f 002b:Call advapi32.RegEnumValueA(000000f0,00000001,00334f20,00334f0c,00000000,00334f14,00334f2a,00334f10) ret=7d78478f 002b:Ret advapi32.RegEnumValueA() retval=00000000 ret=7d78478f 002b:Call winmm.mmioStringToFOURCCA(00334f25 "iv31=ir32_32.dll",00000000) ret=7d7845c5 002b:Ret winmm.mmioStringToFOURCCA() retval=31337669 ret=7d7845c5 002b:Call advapi32.RegEnumValueA(000000f0,00000002,00334f20,00334f0c,00000000,00334f14,00334f2a,00334f10) ret=7d78478f 002b:Ret advapi32.RegEnumValueA() retval=00000000 ret=7d78478f 002b:Call winmm.mmioStringToFOURCCA(00334f25 "iv32=ir32_32.dll",00000000) ret=7d7845c5 002b:Ret winmm.mmioStringToFOURCCA() retval=32337669 ret=7d7845c5 002b:Call advapi32.RegEnumValueA(000000f0,00000003,00334f20,00334f0c,00000000,00334f14,00334f2a,00334f10) ret=7d78478f 002b:Ret advapi32.RegEnumValueA() retval=00000000 ret=7d78478f 002b:Call winmm.mmioStringToFOURCCA(00334f25 "iv41=ir41_32.ax",00000000) ret=7d7845c5 002b:Ret winmm.mmioStringToFOURCCA() retval=31347669 ret=7d7845c5 002b:Call advapi32.RegEnumValueA(000000f0,00000004,00334f20,00334f0c,00000000,00334f14,00334f2a,00334f10) ret=7d78478f 002b:Ret advapi32.RegEnumValueA() retval=00000000 ret=7d78478f 002b:Call winmm.mmioStringToFOURCCA(00334f25 "iv50=ir50_32.dll",00000000) ret=7d7845c5 002b:Ret winmm.mmioStringToFOURCCA() retval=30357669 ret=7d7845c5 002b:Call KERNEL32.MultiByteToWideChar(00000000,00000000,00334f2a "ir50_32.dll",ffffffff,00335b2c,00000080) ret=7d784620 002b:Ret KERNEL32.MultiByteToWideChar() retval=0000000c ret=7d784620 002b:Call advapi32.RegCloseKey(000000f0) ret=7d784924 002b:Ret advapi32.RegCloseKey() retval=00000000 ret=7d784924 002b:Ret msvfw32.ICInfo() retval=00000001 ret=00bc2470 002b:Call msvfw32.ICOpen(00000000,30357669,00000003) ret=00bc2400 002b:trace:msvideo:ICOpen (0x00000000,iv50,0x00000003) 002b:Call winmm.OpenDriver(00335524 L"",7d78bae4 L"drivers32",00335538) ret=7d786cb7 002b:Call advapi32.RegOpenKeyExW(80000002,7dfa27e0 L"Software\Microsoft\Windows NT\CurrentVersion",00000000,00000001,00335234) ret=7df86dc6 002b:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7df86dc6 002b:Call advapi32.RegOpenKeyExW(000000f0,7d78bae4 L"drivers32",00000000,00000001,00335238) ret=7df86e14 002b:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7df86e14 002b:Call advapi32.RegQueryValueExW(000000f4,00335524 L"",00000000,00000000,00335286,0033523c) ret=7df86ee7 002b:Ret advapi32.RegQueryValueExW() retval=00000002 ret=7df86ee7 002b:Call advapi32.RegCloseKey(000000f4) ret=7df86ef4 002b:Ret advapi32.RegCloseKey() retval=00000000 ret=7df86ef4 002b:Call advapi32.RegCloseKey(000000f0) ret=7df86efc 002b:Ret advapi32.RegCloseKey() retval=00000000 ret=7df86efc 002b:Call KERNEL32.GetPrivateProfileStringW(7d78bae4 L"drivers32",00335524 L"",00335232 L"",00335286,00000105,7dfa2774 L"SYSTEM.INI") ret=7df86df6 002b:Ret KERNEL32.GetPrivateProfileStringW() retval=00000000 ret=7df86df6 002b:Ret winmm.OpenDriver() retval=00000000 ret=7d786cb7 002b:Ret msvfw32.ICOpen() retval=00000000 ret=00bc2400 --- snip ---
Zwei is calling ICInfo() and ICOpen() with fccType set to 0x0. According to MSDN zero should match all compressor types. I'm not familiar with the code, but Wine does not appear to treat zero as special. Forcing fccType to 0x63646976 (vidc), which is correct for IV50, allows Wine to load the codec and the game to start the video if somewhat brokenly. Though that would be a different bug.
https://bugs.winehq.org/show_bug.cgi?id=44489
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44489
--- Comment #1 from Zebediah Figura z.figura12@gmail.com --- Close enough—the problem is that ICInfo() doesn't actually return a proper type fourcc. I've submitted a patch.
https://bugs.winehq.org/show_bug.cgi?id=44489
mrdeathjr28@yahoo.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrdeathjr28@yahoo.es
https://bugs.winehq.org/show_bug.cgi?id=44489
Aexander kq3thih@mailnesia.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |44490
https://bugs.winehq.org/show_bug.cgi?id=44489
--- Comment #2 from Aexander kq3thih@mailnesia.com --- (In reply to Zebediah Figura from comment #1)
Close enough—the problem is that ICInfo() doesn't actually return a proper type fourcc. I've submitted a patch.
Great, thanks. I can confirm with patch https://source.winehq.org/patches/data/141524 applied Zwei properly detects the codec and plays the videos. Though distorted, bug 44490.
https://bugs.winehq.org/show_bug.cgi?id=44489
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |2068b95abaaac0ee5ddd38fca5d | |cb259533e4766 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- Should be fixed in current git.
https://bugs.winehq.org/show_bug.cgi?id=44489
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #4 from Vijay Kamuju infyquest@gmail.com --- fixed by commit https://source.winehq.org/git/wine.git/commitdiff/2068b95abaaac0ee5ddd38fca5...
https://bugs.winehq.org/show_bug.cgi?id=44489
--- Comment #5 from Aexander kq3thih@mailnesia.com --- (In reply to Zebediah Figura from comment #3)
Should be fixed in current git.
Yes, fixed.
https://bugs.winehq.org/show_bug.cgi?id=44489
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.2.
https://bugs.winehq.org/show_bug.cgi?id=44489
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |3.0.x
https://bugs.winehq.org/show_bug.cgi?id=44489
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|3.0.x |---
--- Comment #7 from Michael Stefaniuc mstefani@winehq.org --- Removing the 3.0.x milestone from bug fixes included in 3.0.4.