Russian-Doom / russian-doom

A limit-removing source port of Doom, Heretic and Hexen. It has numerous vanilla bug fixes, enhanced 640x400 and 1280x800 rendering resolutions, improved game palettes and offers many optional aesthetic game enhancements along with the maximum possible translation to the Russian language.
GNU General Public License v2.0
81 stars 13 forks source link

Doom: colorize blood via HSV if custom PLAYPAL is loaded #408

Closed JNechaevsky closed 2 years ago

JNechaevsky commented 2 years ago

This should provide better compatibility with custom PLAYPALs...

JNechaevsky commented 2 years ago

@fabiangreffrath, @rfomin, @mikeday0,

Colleagues, this must be useful for Crispy. Here's how colored blood is looking on KDiKDiZD: green and blue. That's because of CR_RED2X is using color indexes from original PLAYPAL, while in KDiKDiZD palette colors are on different placements.

Easiest way was using just HSV's CR_BLUE2 and CR_GREEN in R_ProjectSprite, but this way cool looking effect of two-colored curshed corpse will be lost on original palette, and I really want to keep it. The real problem is - we never know is modified palette is just using slightly or heavily different colors, so such strict check should provide reasonable farther compatibility with heavily modified palettes.

In Woof, however, blood looks almost okay except few incorrect pixels: green and blue.

Any thoughts? :thinking:

rfomin commented 2 years ago

In Woof, however, blood looks almost okay except few incorrect pixels: green and blue.

I think that the situation with Woof is alright 😉 Why it's different from Crispy? I thought the implementation of colored blood feature is the same.

fabiangreffrath commented 2 years ago

The color translation tables in Crispy have been "optimized" back then.

mikeday0 commented 2 years ago

I sadly lack a good understanding of the colored blood and color translation so I have no technical comment on this. However I will say maybe it would be nice to improve the messaging around this feature to indicate that a custom PLAYPAL will affect it.

fabiangreffrath commented 2 years ago

We could already mitigate the issue by simply returning back to the original Boom color translation tables (for red2green and red2blue only, that is) that everyone uses to check if color translations actually work as intended.