VOGONS


First post, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

This only applies when DOSBox is patched with gulikoza's glide pass-through support, and output=openglnb or opengl. Host glide wrapper is OpenGlide CVS. Game tested is Tomb Raider 1 3Dfx. DOSBox crashes when the game enters and exit Glide mode. If output=ddraw, the error message from DOSBox "Failed to create ddraw surface, back to normal surface." is printed on DOSBox console, but DOSBox survives.

On Win98, if the devs don't mind, Quake2 and Half-life both crash on exit. It seems that the new code does not consider the case where DOSBox may be sharing its SDL surface with external renderer such as glide wrapper. I think the devs should disable it for further testing.

The Voodoo1 emulation is not affected, obviously as there is no external renderer.

Reply 1 of 4, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Thank you for the report.
The code can be improved to work better with external patches, but the existance of those patches is no reason to disable the code.

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 4, by gulikoza

User metadata
Rank Oldbie
Rank
Oldbie

I'll check with the patches, but VGA_SetOverride() has this:

			vga.draw.width=0; // change it so the output window gets updated
VGA_SetupDrawing(0);

Probably should force update in SDL_SetVideoMode_Wrap() as well? Or maybe GFX_ResetScreen() can force update?

http://www.si-gamer.net/gulikoza

Reply 3 of 4, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Both gulikoza's glide wrapper and kekko's voodoo1 emulation are so valuable to DOSBox. Both are cross platform compatible, at least I have tested Windows and Linux builds. In fact, both of them can exist at the same time and enabled at the same time in single build. For games that run significantly better with glide wrapper, all I do is to put the wrapper's version of guest GLIDE2X.DLL at the game folder. Oops, that's for Win9x 😊 . For DOS games, such as TR1, I just use the %PATH% env to force which copy of GLIDE2X.OVL I would like the game to see. For slow machines such as thin-and-light laptops (I have AMD C-60 and Celeron 847), glide wrapper really shines.

I am currently maintaining a 2-in-1 clean patch against latest DOSBox SVN. I am eagerly looking forward for these 2 significant enhancements to be accepted into DOSBox mainline. Until they are accepted in the DOSBox mainline, I think devs should seriously consider checking every changes in the mainline code against the two 3Dfx/Glide mechanism.

I don't mean to be pushy, but I really want to know what the devs are still waiting for before committing these 2 changes into mainline code. I can provide the 2-in-1 clean patch to facilitate testing for DOSBox mainline changes.

Reply 4 of 4, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

One more note, with dgVoodoo and DOSBox output=openglnb, TR1 crashed right away on 3Dfx activation on latest SVN with glide pass-through patch. I used to think that this may be incompatibility for Direct3D wrapper rendering into SDL OpenGL surface from DOSBox, but I was wrong. By disabling the SETMODE_SAVES, it works.

The fact that I was looking into this is because voodoo1 emulation requires output=opengl/openglnb to be accelerated. I thought I was only able to make both 3Dfx/Glide mechanism co-exist with OpenGlide. Now, it looks like it was mainly due to the faulty code.