VOGONS


Swat 3 and DgVoodoo2

Topic actions

First post, by Slippery Jim

User metadata
Rank Newbie
Rank
Newbie

DgVoodoo 2 has been incredible in terms of keeping Swat 3 running on modern versions of Windows so wanted to give a huge thanks for making it.

I am the maker of the Last Resort mod for Swat 3 and hoped to ask Dege a question. I am not sure if Dege owns, or is familiar with Swat 3, but I will be optimistic and ask anyways.

One of the biggest problems we have with the game is colour banding. Even when we replace textures with 24-bit versions and replace the movies with higher resolution versions there is always ugly colour banding as if the game is running in 256 colours. I know the game is supposed to be running in 16-bit colour mode but the colour banding is horrible on modern machines.

Currently I am working on upscaling the movies with AI software but when the movies are run from within the game the colour banding is much worse than when it is played outside the game.

Is there anything that can be done to fix this colour banding issue with dgVoodoo or is this something that can only fixed in the game itself?

Reply 1 of 2, by Dege

User metadata
Rank l33t
Rank
l33t

Hi! Thanks!

Yes, I have a copy of the game and also have the Last Resort mod installed, I'm not a Swat player though. 😀 I installed it when I got a report and fixed the mouse handling for the game.
The problem with color banding is because the game insists on 16 bit display mode and 16 bit surfaces / textures.
Even if you have 24 bit movies and textures, the movie player and the game code converts the bitmap data to 16 bit, so dgVoodoo doesn't have a chance to see 24/32 bit graphical data.
I experitmentally forced 32 bit display mode, and also skipped the error message thrown by the game because of that, and for the movies that seemed to solve the problem, the video decoder just converted the bitmap data to 24 bit instead of 16, as expected.
The game itself however, still converted all bitmaps to 16 bit, ending up in wrong appearance.

I think the only solution would be patching the executable to 32bit'ize it:
- Changing display mode and related format checkings from 16 to 32 bit
- Patching the game bitmap converter routines to handle 32 bit targets

I don't know how many places the latter occurs though, so I cannot estimate how much work that'd be.
Also, by a quick glance, I think this all involves that literally ALL bitmaps should be converted to 32 bit. Backround pictures, cursors, etc.

Reply 2 of 2, by Slippery Jim

User metadata
Rank Newbie
Rank
Newbie

I suspected as much but I thought I would take a swing at asking about it.

Thanks much for your time in replying!