[PATCH 1/2] mshtmlmedia: Add dll.

Mohamad Al-Jaf mohamadaljaf at gmail.com
Sat Apr 23 22:30:47 CDT 2022


On Sat, Apr 23, 2022 at 8:17 AM Nikolay Sivov <nsivov at codeweavers.com> wrote:
> It's not clear at all that game loads it. Wine offers more functionality in certain
> modules than Windows 7, simply setting prefix version does not change that.

This doesn't matter. If the game detects it's running under Windows 7 it will
try to load mshtmlmedia to play cutscenes, not mfplat. Under Windows
7, mfplat does not have the function MFCreateDXGIDeviceManager, which
the game calls. It's in mshtmlmedia.

Changing the version changes application behavior. This is evident in many
applications, like Microsoft Edge, which significantly changes the libraries it
attempts to load for example.

I think it's very clear that it tries to load it. Perhaps you didn't read the
comments in the links I sent, here's one that should make it clear[1]:

>> Originally posted by Bingus:
>> You're correct in that I should have been more specific. The function does
>> not appear in the same library in Windows 7, meaning that it doesn't exist
>> in the way it's being called. MFCreateDXGIDeviceManager is in
>> MshtmlMedia.dll on Windows 7, and in the MFPlat.dll on Windows 8 and higher.
>
> Playing on Windows 7 here. I have had the game crash at the title screen when
> waiting for the intro trailers to appear while idling. I've also had the game
> crash at the end of Act 1 when the cutscene would appear.
>
> I decided to look up and grab the MshtmlMedia.dll file to see if that would
> possibly change anything. I am now able to watch the intro trailers and have
> been able to progress past Act 2.
>
> I'm not sure if this will help anyone else but I can at least say it helped
fix my crashing issue for the cutscenes.

> Even if it does, at this point it makes more sense to bump default
> prefix version to Win10.

As stated earlier, changing the Windows version changes the behavior of the
application. For instance, Windows 7 lacks DX12, with only some exceptions like
World of Warcraft. The game could default to using DX11 or lower, which could
yield improved performance and fewer glitches, for example.

Wine in general offers better compatibility with older versions of Windows. It
makes sense to support them. In fact, this is one area in which Wine is
objectively superior to Windows. Compatibility with older applications is often
far better under Wine than in newer Windows versions.

> Testing on wine would be necessary to see if it's needed.

Well, I've provided more than enough evidence to backup my reasoning, but I'm
open to testing the game.

Please send me a copy of the game. CodeWeavers is partnered with Valve so this
shouldn't be a problem. Also, I'll have to play the entire game to confirm for
sure.

This will take a significant amount of time to thoroughly test as it can
happen either in the main menu or way later in the game at a specific cutscene.
A job would be nice.

[1] https://steamcommunity.com/app/1113560/discussions/0/3153060451660242023/#c3153060475189575835

--
Kind regards,
Mohamad



More information about the wine-devel mailing list