VOGONS


First post, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

As the title said, here's the sample. Other glide wrappers are fine, tested OpenGlide, psVoodoo and nGlide.
The dgVoodoo2 version is 2.72.

The demo does not have the issue.

Attachments

  • urp150.png
    Filename
    urp150.png
    File size
    875.59 KiB
    Views
    751 views
    File comment
    UR150
    File license
    Fair use/fair dealing exception

Reply 1 of 7, by Dege

User metadata
Rank l33t
Rank
l33t

Running through QEmu?
Running it natively I don't get those glitches, but I must admit:
- I cannot play this game. 😀 Switching gears by Q/W works but accelerating is not. My car is rolling so slow that I get a race timeout after the first 10m. Maybe the glitches is tied to a later point of the level.
- I encountered some bugs with Glide D3D12, which I fixed.

Reply 2 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Yes, I was running the game through QEMU.
How did you get it run natively? Was it on Windows 10? It didn't work for me at all on Windows 10.
The rendering corruption (blueish tint) happened right at the start even during count down. It then slowly faded for close-up scenes but remained at distant. Seemed like fogging discoloration or mip-mapping issues.

Other glide wrappers are fine, so I didn't expect this is QEMU issue. Did you actually patch it to 1.50? You could tell that if you get the option to go 800x600. Otherwise, the game played perfectly on QEMU, a little too fast without v-sync (over 120 FPS, all details max'ed, full shadows) and almost constant 60 FPS with v-sync.

Reply 3 of 7, by Dege

User metadata
Rank l33t
Rank
l33t

Yes, I'm on Win10. You need ddraw.dll I guess (maybe d3dimm.dll too) for the main menu or it won't start.
I checked it out: the executable is of version 1.50.0.0, and no matter what resolution (640x480 or 800x600) I choose for Glide, it works as expected (only D3D11 with dgv 2.72).

Btw, it seems to be a mipmapping issue definitely.

Update: maybe a difference between 32 bit vs 64 bit builds of the glide dlls.

Reply 4 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

The game still won't start on my Win10 no matter what, and I did have dgVoodoo2's ddraw.dll and d3dimm.dll in the game folder. Win10 legacy DPLAY component was installed. Many legacy DirectX games won't start or just crashed on my Win10. That's probably why I was fed up with running the games natively.

Anyway, here's the Glide functions trace that the game called if you can scrutinize any differences in 32-bit vs 64-bit DLLs.

wr2x_trace: _grSstSelect@4
glidept: grSstWinOpen called, fmt 0 org 0 buf 2 aux 1 gLfb 0xdad1e000
wr2x_trace: _grSstWinOpen@28
glidept: LFB mode is Shared Memory (fast), One-copy
window 800x600
wr2x_trace: _grTexMaxAddress@4
wr2x_trace: _grTexMinAddress@4
wr2x_trace: _grDepthBufferMode@4
wr2x_trace: _grDepthBufferFunction@4
wr2x_trace: _grDepthMask@4
wr2x_trace: _guColorCombineFunction@4
wr2x_trace: _guAlphaSource@4
wr2x_trace: _guTexCombineFunction@8
wr2x_trace: _grTexClampMode@12
wr2x_trace: _grTexFilterMode@12
wr2x_trace: _grTexMipMapMode@12
wr2x_trace: _grFogMode@4
wr2x_trace: _guFogGenerateExp@8
wr2x_trace: _grFogTable@4
wr2x_trace: _grHints@8
wr2x_trace: _grLfbLock@24
wr2x_trace: _grLfbUnlock@8
wr2x_trace: _grBufferSwap@4
wr2x_trace: _grBufferClear@12
wr2x_trace: _grFogColorValue@4
wr2x_trace: _grTexCalcMemRequired@16
wr2x_trace: _grAlphaBlendFunction@16
wr2x_trace: _grAlphaTestFunction@4
wr2x_trace: _grTexTextureMemRequired@8
wr2x_trace: _grTexDownloadMipMap@16
wr2x_trace: _grTexSource@16
wr2x_trace: _grTexCombine@28
wr2x_trace: _grDrawPolygon@12
wr2x_trace: _grTexDetailControl@16
wr2x_trace: _grAlphaTestReferenceValue@4
wr2x_trace: _grSstWinClose@0

Same issue with DOSBox SVN 4393 64-bit compile.

Urp150-dosbox.png
Filename
Urp150-dosbox.png
File size
426.98 KiB
Views
635 views
File comment
URP150-disbox
File license
Fair use/fair dealing exception

Reply 6 of 7, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Use the attached wined3d-ddraw.zip. Put ddraw.dll and wined3d.dll in the game folder.
MESAGL pass-through is required for QEMU and the GL guest wrapper should be in the game folder.

Last edited by kjliew on 2021-03-17, 06:34. Edited 1 time in total.