I'm sure this issue is commonly known by now. If you run Quake with a software renderer, most engines will have the problem. Even in previous versions of windows, surface palettes were not exclusive like they were supposed to be. Even if you're in fullscreen and set the palette, another program running in the background can attempt to change the palette and succeed, making the palette for the program intended to be viewed become garbled.
The big problem is that Windows 7 tries to do that palette change and corrupts it all by itself. Killing explorer and restarting it after exiting Quake works, but is a messy workaround/solution that is not cohesive to a user friendly client.
I've implemented an extremely ugly hack into my private build of the Quake engine, which works by forcing a palette update every frame instead of whenever it changes. This works well except for an occasional short, half second palette distortion when the game starts.
I've tried the same hack with Hexen 2, but it doesn't seem to work at all like it did for Quake.
Does anybody know of a real (not hacky) fix for this? I think all the software Quake-based engines out there would benefit from a fix.
DosBox had this problem up until recently. If they didn't just draw to a buffer, convert to a higher depth, then blit to the screen (a workaround, rather than a fix), the same solution would probably work for Quake and the like.
EDIT: On a side note to Baker, I noticed that Hexen 2 has nice looking software rendered transparent water. How hard would this be to backport over to ProQuake?
The big problem is that Windows 7 tries to do that palette change and corrupts it all by itself. Killing explorer and restarting it after exiting Quake works, but is a messy workaround/solution that is not cohesive to a user friendly client.
I've implemented an extremely ugly hack into my private build of the Quake engine, which works by forcing a palette update every frame instead of whenever it changes. This works well except for an occasional short, half second palette distortion when the game starts.
I've tried the same hack with Hexen 2, but it doesn't seem to work at all like it did for Quake.
Does anybody know of a real (not hacky) fix for this? I think all the software Quake-based engines out there would benefit from a fix.
DosBox had this problem up until recently. If they didn't just draw to a buffer, convert to a higher depth, then blit to the screen (a workaround, rather than a fix), the same solution would probably work for Quake and the like.
EDIT: On a side note to Baker, I noticed that Hexen 2 has nice looking software rendered transparent water. How hard would this be to backport over to ProQuake?
Comment