VOGONS


First post, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

This game has issues with the mouse and asteroids. Basically the mouse has a black texture under it which doesn't seem to exist on Windows 98. The bigger problem, however, is the asteroids. Look at the image below:
file.php?mode=view&id=144594

When you look at the circled asteroid straight from a distance, it disappears. And it disappears if a magic black cloth is covering the asteroid. It happens with and without dgVoodoo2. Can you fix it?

Hints: Use X and Y keys to go ahead and back. The asteroids slowly fade when distance is 10000 units to 11000 units without dgVoodoo2.

Update: DirectDrawCompat also has disappearing asteroids but more properly, it slowly fades away to black at a distance.

Attachments

previously known as Discrete_BOB_058

Reply 2 of 5, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2022-09-03, 17:28:

I quickly fixed the cursor problem. The other seems to be a close-draw-distance problem, I don't know if it's by design on the game side.

With DDC and Win98, the object slowly fades. It slowly becomes dark and then invisible. Here it suddenly gets black color covering it.

What was the problem with the cursor though, many games have this black border around it...? I assume it's color keys again but I may be wrong.

previously known as Discrete_BOB_058

Reply 3 of 5, by Dege

User metadata
Rank l33t
Rank
l33t

Yes, the cursor is (was) a colorkeying problem, the texture has alpha channel.

The other problem, I didn't check it out, it seemed to me that "fading" was nothing more than gradually clipping the asteroid by a z-plane (or user plane?).

Reply 4 of 5, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2022-09-03, 22:44:

Yes, the cursor is (was) a colorkeying problem, the texture has alpha channel.

The other problem, I didn't check it out, it seemed to me that "fading" was nothing more than gradually clipping the asteroid by a z-plane (or user plane?).

The game creates a wgt95.log which has lines:

23:24:07 Device Caps:
23:24:07 FogTable: 1
23:24:07 FogVertex: 0

Assuming 1 means enabled and FogTable=Table Fog, dgVoodoo2 should do this fading (behind some apparent fog) correctly.

previously known as Discrete_BOB_058

Reply 5 of 5, by ghotik2002

User metadata
Rank Newbie
Rank
Newbie

Dege, you wrote:

> I quickly fixed the cursor problem.

I was interested to fix that as well within DxWnd. I already devised a fix by replacing the original texture with another one that uses the alpha channel to make all black pixels become transparent, this way bypassing the color key specification. But this solution is far from being "quick" and requires the injection of a custom-made cursor bitmap.
My assumption was that you fixed the problem quickly by making your dgVoodoo2 ddraw.dll able to process both the alpha channel and the color key specification at the same time, something that the native ddraw.dll seems unable to do. Is that so, or am I missing something? Is there a way to tell ddraw to ignore the alpha channel and consider the transparency color key?
Thank you for your help.

P.s. DxWnd now fixes the fading problem by cheating on the fog capabilities and setting D3DPRASTERCAPS_FOGVERTEX. It seems that D3D is not supporting vertex fog by hardware (so the flag is off) but always implements it by software, so the trick works.