First post, by Xenos999
Edit: scroll to the bottom, problem solved in latest release of dgVoodoo2.
The "game": Trixter X-Dream (mountain biking simulator)
This is proprietary software that used to be sold with a MTB-style exercise bike. Long before Zwift et al, you could get on a mountain bike, compete against other players, steering around a track with handlebars, changing gears to combat changing resistance on changing terrain. At circa £8k per unit back in the day, it was gym-only equipment.
Unfortunately I'm having some difficulty getting it all to work on a modern PC. The original, supplied with the bike, is a Dell Optiplex 780 with Windows 7 (pre SP1) and a Geforce 210 based video card.
The game is actually playable on a modern machine once you've got the bike set up with the right USB to Serial driver and COM port settings, but it has 1 problem I have not been able to solve yet: the application tries to play some .wmv files, but it plays the sound and shows a blank blue screen. Some of these are just advertising, but some of them are for "end of tier" award screens. The user needs to know to press the green button on the bike's control panel to "click" through them to get on with the simulation.
This all works fine on the original hardware.
On new hardware, the wmv files all play fine in any video player I try, e.g. Windows Media Player, VLC, graphstudionext, just not in the application itself.
When I open the wmv files in graphstudionext on the original machine, the renderer is receiving RGB32, on modern hardware NV12 by default. I did some fiddling with the K-Lite codec pack and ffdshow on a VM and now the renderer receives RGB32, but the application still shows the video as blue.
Enter dgVoodoo 2.75.1 and DxWnd.
If I configure DxWnd to use the dgVoodoo DLLs, the videos play fine in the simulation, but 3D rendering doesn't work (I've tried all the 3D card output options).
If I run grapheditnext with dgVoodoo, there's a colorspace converter in the graph that converts the NV12 to RGB32.
Any ideas?
e.g. Is there a way to get dgVoodoo to only do its thing for playing wmv files in DirectShow and pass-through in other situations?