http://bugs.winehq.org/show_bug.cgi?id=29852
Bug #: 29852 Summary: Star Trek Birth of the Federation - No Videos Product: Wine Version: 1.4-rc2 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: maquis196@yahoo.co.uk Classification: Unclassified
Although it doesn't affect gameplay, when you load game, create game and complete game you are supposed to get a video to watch. The game doesn't play them.
Now it could be a missing codec? The videos play in mplayer fine (the intro is bizzare where its a mute video and a wav plays at same time).
Attachment is mplayer output for the new game as Romulans video.
http://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #1 from Christopher May maquis196@yahoo.co.uk 2012-02-09 16:45:49 CST --- Created attachment 38778 --> http://bugs.winehq.org/attachment.cgi?id=38778 mplayer output
http://bugs.winehq.org/show_bug.cgi?id=29852
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aric@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #2 from Christopher May maquis196@yahoo.co.uk 2012-02-10 16:25:38 CST --- http://daystrom.maquis196.net/botf.log.bz2
Here is a +all debug log between selecting race and entering main galaxy screen. During this the game will attempt to play R.avi so it should be in there somewhere.
77mb uncompressed. Will gladly do more precise debug or upload video to my vps as well.
Cheers, Chris
http://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #3 from Aric Stewart aric@codeweavers.com 2012-02-13 13:46:35 CST --- (In reply to comment #2)
http://daystrom.maquis196.net/botf.log.bz2
Here is a +all debug log between selecting race and entering main galaxy screen. During this the game will attempt to play R.avi so it should be in there somewhere.
77mb uncompressed. Will gladly do more precise debug or upload video to my vps as well.
Cheers, Chris
+quartz,+strmbase,+gstreamer is generally a good start.
Though I am not seeing any quartz logs in your +all log which is strange.
http://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #4 from Christopher May maquis196@yahoo.co.uk 2012-02-13 17:37:50 CST --- Created attachment 38863 --> http://bugs.winehq.org/attachment.cgi?id=38863 more output
Used previously mentioned use flags when loading the game (so should play that no-sound avi and the wav file). Also selected new game which should have played R.avi.
It also seems the version compiled through portage doesn't debug the same. With those debug values enabled there was no output I wouldn't expect from running game without winedebug at all.
Using another compiled version I have on the system I got the results. Should I do another +all check with this version?
http://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #5 from Aric Stewart aric@codeweavers.com 2012-02-14 08:12:11 CST --- (In reply to comment #4)
Created attachment 38863 [details] more output
Used previously mentioned use flags when loading the game (so should play that no-sound avi and the wav file). Also selected new game which should have played R.avi.
It also seems the version compiled through portage doesn't debug the same. With those debug values enabled there was no output I wouldn't expect from running game without winedebug at all.
Using another compiled version I have on the system I got the results. Should I do another +all check with this version?
It does not appear to even be trying to use quartz. The failure must be much earlier than even trying to render the video.
-aric
http://bugs.winehq.org/show_bug.cgi?id=29852
Christopher May maquis196@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maquis196@yahoo.co.uk
http://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #6 from Christopher May maquis196@yahoo.co.uk 2013-02-03 14:45:21 CST --- Still an issue on 1.5.23
https://bugs.winehq.org/show_bug.cgi?id=29852
Manuel Stol ManuelStol@operamail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ManuelStol@operamail.com
--- Comment #7 from Manuel Stol ManuelStol@operamail.com --- I had the same bug with Wine 1.7.2 on openSUSE 13.1 (2014-05-31).
Problem: - The videos don't play due to an incompatibility in the newer iccvid.dll.
Fix: - Install old iccvid.dll in the directory of trek.exe. (By installing the "Joker Patch".) - Override the iccvid.dll to (Native, builtin): + winecfg > Libraries > New override for library + select (or type): iccvid + press the [Add] button
See the forums for Star Trek: Birth of the Federation: http://www.armadafleetcommand.com/onscreen/botf/viewtopic.php?f=23&t=226...
https://bugs.winehq.org/show_bug.cgi?id=29852
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #8 from Bruno Jesus 00cpxxx@gmail.com --- Confirming in wine 1.7.36, the problem is that the videos have negative height, wine iccvid currently rejects them. With that fixed the videos are displayed upside down, somewhere there must be a place to invert the buffer based on the negative height to display it correctly.
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #9 from Bruno Jesus 00cpxxx@gmail.com --- Created attachment 50781 --> https://bugs.winehq.org/attachment.cgi?id=50781 non-working attempt patch
I thought this would be easy but I lack the required knowledge in the area to understand frames, bits per pixel and other video related things. The attached patch is an attempt to invert the frames, it works weirdly and with many artifacts but I'm attaching anyway because maybe someone can spot some obvious problem in the process.
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #10 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bruno Jesus from comment #9)
Created attachment 50781 [details] non-working attempt patch
I thought this would be easy but I lack the required knowledge in the area to understand frames, bits per pixel and other video related things. The attached patch is an attempt to invert the frames, it works weirdly and with many artifacts but I'm attaching anyway because maybe someone can spot some obvious problem in the process.
Hi Bruno,
biHeight is not supposed to be negative neither in source nor in destination bitmaps. I have several different VFW codecs with source around and neither of them handles or expects a negative biHeight. Do you know where it comes from? Is that what application specified or something that Wine returned at some point?
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #11 from Dmitry Timoshkov dmitry@baikal.ru --- Besides, dlls/msrle32 codec also does nothing wrt negative biHeight.
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #12 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dmitry Timoshkov from comment #10)
Hi Bruno,
biHeight is not supposed to be negative neither in source nor in destination bitmaps. I have several different VFW codecs with source around and neither of them handles or expects a negative biHeight. Do you know where it comes from? Is that what application specified or something that Wine returned at some point?
Hi, Dmitry. Thanks for your comment, I'll dig deeper in the backtrace and check where that comes from.
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #13 from Bruno Jesus 00cpxxx@gmail.com --- Dmitry, I found something new. The game is calling ICLocate [1] with the negative height in the LPBITMAPINFOHEADER lpbiOut.
The game installs its own iccvid.dll inside the game folder, on XP I deleted this dll and the video NO longer plays (the game requires an older version of iccvid to work). In wine I forced iccvid as native (confirmed by not having debug traces anymore) to check if videos would render and they ARE displayed correctly. So:
XP + system32 iccvid = NO VIDEO XP + game iccvid = GOOD VIDEOS Wine + built iccvid = NO VIDEO (due to negative biHeight check) wine + game iccvid = GOOD VIDEOS
This bug could be potentially invalid but it looks like wine iccvid could still cope with negative biHeights like the old versions of iccvid, I see no harm in that.
By old version I mean: XP version of iccvid = 1.10.0.13 game version of iccvid = 1.10.0.6
[1] https://source.winehq.org/source/dlls/msvfw32/msvideo_main.c#0605
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #14 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bruno Jesus from comment #13)
Dmitry, I found something new. The game is calling ICLocate [1] with the negative height in the LPBITMAPINFOHEADER lpbiOut.
The game installs its own iccvid.dll inside the game folder, on XP I deleted this dll and the video NO longer plays (the game requires an older version of iccvid to work). In wine I forced iccvid as native (confirmed by not having debug traces anymore) to check if videos would render and they ARE displayed correctly. So:
XP + system32 iccvid = NO VIDEO XP + game iccvid = GOOD VIDEOS Wine + built iccvid = NO VIDEO (due to negative biHeight check) wine + game iccvid = GOOD VIDEOS
This bug could be potentially invalid but it looks like wine iccvid could still cope with negative biHeights like the old versions of iccvid, I see no harm in that.
Probably it's worth to write some tests first.
https://bugs.winehq.org/show_bug.cgi?id=29852
--- Comment #15 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Dmitry Timoshkov from comment #14)
Probably it's worth to write some tests first.
Actually the tests already exist, they start at: http://source.winehq.org/source/dlls/msvfw32/tests/msvfw.c#0100
https://bugs.winehq.org/show_bug.cgi?id=29852
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e75f2282ba209c15a0183ac4467 | |6ae36ccbf3dd4 Status|NEW |RESOLVED Component|-unknown |iccvid Resolution|--- |FIXED Summary|Star Trek Birth of the |Star Trek Birth of the |Federation - No Videos |Federation - No Videos | |(negative height used as | |request for inverted frame | |decompressing)
--- Comment #16 from Bruno Jesus 00cpxxx@gmail.com --- Fixed by http://source.winehq.org/git/wine.git/commitdiff/e75f2282ba209c15a0183ac4467...
https://bugs.winehq.org/show_bug.cgi?id=29852
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.55.
https://bugs.winehq.org/show_bug.cgi?id=29852
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|iccvid |msvfw32