(really old problem) Metal Gear Solid : DDV cutscenes not displayed

General information and assistance with dgVoodoo.

(really old problem) Metal Gear Solid : DDV cutscenes not displayed

Postby xcomcmdr » 2017-10-28 @ 17:57

Hello,

I wonder if Dege can look into this ?

Here is the gist of it :
- It's a problem that happens since the days of Windows XP. It's a very old problem, and the only solution so far is "use old hardware and old OSes"
- No compatibility options or wrapper fixes it. I tried. I tried a lot.
- It seems to be driver-dependant (Windows XP + GeForce 4 : No problem. Windows XP + ATI hardware : problem)
- Also, it seems to not work at all if you use anything modern (be it post-2002 hardware, or Vista-era Windows).
- Here is the config of the only configuration on which it works : Windows XP SP3 + GeForce 4 Ti4800
- The game uses DirectDraw 7, and a 16 bpp hardware-accelerated display mode.
- Those cutscenes are rendered by the game's engine on top of a DirectDraw surface. No use of VfW or DirectShow here.
- Software mode exhibits the exact same problem

Some more pointers :
https://sourceforge.net/p/dxwnd/discuss ... edomCookie
A lot of info about the internals of the game :
https://news.ycombinator.com/item?id=9739731

FInally, this concerns only some cutscenes of the game. Most of them are in-game, not video. Here are the filenames :
Code: Select all
ALASKA.DDV  GENBAKU.DDV  INUZORI.DDV  KASOU.DDV   WANGAN.DDV
E399.DDV    IDENSHI.DDV  KAITAI.DDV   POLICE.DDV


And some descriptions of them :
Code: Select all
Alaska = endgame cutscene / credits
E399 = VR Missions trailer, used at the start of MGSVR.EXE
others = mostly cutscenes about nuclear weapons and such when talking to some characters.


To see this problem in action :
- You need a cracked executable, as the game uses SecuROM, which makes it unusable on modern Windows. I don't know if I can share such executables on this forum ? Anyway, the crack is easily found, at least for the US version.
- Some special note : the existing crack I use not only removes the DRM, but fixes the game's hardware acceleration detection logic, so one is not stuck with software mode (and that way the game actually uses dgVoodoo2)
- As only some cutscenes are concerned, the quickest way to test it is to start MGSVR.EXE and let it start the VR Missions "trailer".

Here is an example with the MGSVR "trailer" (E399.ddv) :
Image

(the image starts that way and stays that way, until the end of the DDV cutscene. Only the sound part of the cutscene plays fine.)

Here is what it should look like (it starts after the two Konami logos) :
https://www.youtube.com/watch?v=LmzUgBZZAe4

Finally, here is a capture by API Monitor (only the "Graphics and gaming" cateogry was enabled. API Monitor was attached with the "remote thread (extended)" method).
It is attached to this post. Sadly, there's not much.

What (warning : stupid solution) I tried :
Since I managed to capture each ddv cutscene with Fraps and encode them in WMV files, I tried to hook when the game tries to open it, and render it with DirectShow/MediaFoundation in the game's window.
The best result so far is a black screen wth sound, as the game does not let me display my direct3D surface on top of its' ddraw surface, it seems.

Alternate solution : pause the game, use my own window, and return to the game. It kinda works, but the part where the windows are swapped is very slow. Returning to the game is very slow.

The code is here :
https://github.com/maximilien-noal/MGSLauncher

I might have a solution if I use a D3D overlay ? But I've not tried it, as I fear it won't work, as did 99% of whatever I tried.

Anyway, any help would be very appreciated. :)
Feel free to ask for more tests / info / and about the modiifed binaries !
Attachments
dgVoodoo.conf
dgVoodoo 2.54 config file for MGS PC (mainly "No mipmapping")
(138 Bytes) Downloaded 3 times
mgsvr-Ko.zip
mgsvr : borked cutscene API capture
(2.99 MiB) Downloaded 3 times
User avatar
xcomcmdr
Newbie
 
Posts: 72
Joined: 2009-9-19 @ 01:03

Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 2 guests