VOGONS

Common searches


First post, by c64z80

User metadata
Rank Newbie
Rank
Newbie

This one is just for curiosity, as I want to take a closer look about how this wonderful program works 😀

I've been trying to find out what the word "wrapper" means and I do not find anything more than vague answers. Even the FAQ that comes with the program does not have specifics. Either that, or the information is there and I will admit I am just too thick to understand it :p

Does it translate old Direct3d 5/6/7/8 calls to modern 10/11 ones, so the program runs as DirectX 11? Or does it just jump in and help where it sees your graphics card struggling with the old calls?

Or does it take the program, emulate the entirety of it and pass it along to your computer as a DirectX 10/11 program?

Reply 2 of 7, by Gamecollector

User metadata
Rank Oldbie
Rank
Oldbie

Well, not translates. Interpretates.

Asus P4P800 SE/Pentium4 3.2E/2 Gb DDR400B,
Radeon HD3850 Agp (Sapphire), Catalyst 14.4 (XpProSp3).
Voodoo2 12 MB SLI, Win2k drivers 1.02.00 (XpProSp3).

Reply 3 of 7, by Kisai

User metadata
Rank Member
Rank
Member
c64z80 wrote:
This one is just for curiosity, as I want to take a closer look about how this wonderful program works :) […]
Show full quote

This one is just for curiosity, as I want to take a closer look about how this wonderful program works 😀

I've been trying to find out what the word "wrapper" means and I do not find anything more than vague answers. Even the FAQ that comes with the program does not have specifics. Either that, or the information is there and I will admit I am just too thick to understand it :p

Does it translate old Direct3d 5/6/7/8 calls to modern 10/11 ones, so the program runs as DirectX 11? Or does it just jump in and help where it sees your graphics card struggling with the old calls?

Or does it take the program, emulate the entirety of it and pass it along to your computer as a DirectX 10/11 program?

The author of dgVoodoo2 explains how it works
http://dege.freeweb.hu/dgVoodoo2/Readme.html

The first popularly used graphics wrapper on Windows was for wrapping Glide (3DFX Voodoo API) to OpenGL or Direct3D, and was largely driven by the first N64 emulator (UltraHLE) which was written exclusively for the Glide API. Subsequent approaches are much the same idea, drop a DLL file into the Windows directory to intercept whatever API the system doesn't natively have, and translate it to one that does. The same 3DFX wrappers found new life in getting 3DFX Windows games to work (of which games like Ultima 9 and Kings Quest 8 were early Win9x games that have Glide API's.)

The API's it currently can wrap are: - Glide 2.11, Glide 2.45, Glide 3.1 and Glide 3.1 Napalm - DirectX 1-7 (all versions of Dir […]
Show full quote

The API's it currently can wrap are:
- Glide 2.11, Glide 2.45, Glide 3.1 and Glide 3.1 Napalm
- DirectX 1-7 (all versions of DirectDraw and Direct3D up to version 7)
- Direct3D 8.1

The Glide 2.x and 3.x API's are important because that hardware is extinct.

So you might wonder why would you need to emulate Directdraw/Direct3D 1-8.1 if Windows provides this backwards compatibility already? Well the answer to that is "because I want to run it in a window" or "I want to run it aspect-ratio correct on my wide screen" or a combination of the two. Unless the game has it's own 32-bit color windowed mode, getting anything else to work would require changing the screen resolution and the game having exclusive use of the video adapter. It should be readily apparent why that doesn't work correctly, or at all on Windows Vista and later.

When you try to play a game that uses 8-bit color on Windows Vista or later, it tries to change the desktop resolution and color depth, or sometimes won't even run if the desktop isn't already set to 640x480x256 colors. 800x600 is the smallest user-selectable resolution in Windows 7 and later. Color depth hasn't been selectable since Windows XP.

Try running the original Starcraft game on Windows versions greater than XP, it will be not be usable. Which leads me to the second point that can't be fixed by dgvoodoo2 alone. Since Windows Vista, the original Windows 3.0-style GUI (MFC) has been replaced. So if your game uses Windows GUI widgets (eg Outpost 2), they don't appear in the right place, or the wrong color (fortunately there aren't too many games that do this.) If a game uses MCI (eg redbook audio, midi playback pre-directmusic) or some video codec that was only supported by VFW (eg for FMV) then dgvoodoo2 doesn't fix this either.

There are multiple games that work on XP and later without any wrapper, but the experience is sub-optimal if they were designed for 640x480x256 colors, since if it can't change the desktop, the palette is screwed up.

Attachments

  • septerra-core1.png
    Filename
    septerra-core1.png
    File size
    73.04 KiB
    Views
    2316 views
    File license
    Fair use/fair dealing exception

Reply 4 of 7, by c64z80

User metadata
Rank Newbie
Rank
Newbie

Thank you for your replies everyone and for your detailed post as well Kisai 😀

It has helped me understand the wrapper much more and is lots of interesting points to take in and think about!

So does this also mean that 16 bit color modes and DirectDraw are emulated on Vista and later for those programs that do run, since it can only do 32 bit with direct access to video card?

Reply 5 of 7, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
Kisai wrote:

There are multiple games that work on XP and later without any wrapper, but the experience is sub-optimal if they were designed for 640x480x256 colors, since if it can't change the desktop, the palette is screwed up.

There are other ways to fix that problem other than using a wrapper, though – the most well-known (despite being rather inelegant) being to kill the Explorer process. Anyway, I hear it only affects Windows Vista and 7, and that it got fixed in Windows 8.

EDIT: Ah, I was thinking of mudlord's Windows 7 DDraw Compatability Fix (Fixes Garbled Colors) .

Reply 6 of 7, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
Kisai wrote:
c64z80 wrote:

The first popularly used graphics wrapper on Windows was for wrapping Glide (3DFX Voodoo API) to OpenGL

Actually is the opposite 😁

https://en.wikipedia.org/wiki/MiniGL

Reply 7 of 7, by ZellSF

User metadata
Rank l33t
Rank
l33t
Jorpho wrote:
Kisai wrote:

There are multiple games that work on XP and later without any wrapper, but the experience is sub-optimal if they were designed for 640x480x256 colors, since if it can't change the desktop, the palette is screwed up.

There are other ways to fix that problem other than using a wrapper, though – the most well-known (despite being rather inelegant) being to kill the Explorer process. Anyway, I hear it only affects Windows Vista and 7, and that it got fixed in Windows 8.

EDIT: Ah, I was thinking of mudlord's Windows 7 DDraw Compatability Fix (Fixes Garbled Colors) .

Fixed isn't the word I would use. More like replaced with a lot of other bugs.