Unsure whether this is a bug, oversight, or intentional, but I'll throw it out here anyways.
When setting a color of a railgun for A_RailAttack, the colors used appear to still be limited to Doom's palette despite GZDoom's true color rendering.
This is easiest to tell when attempting to use a cyan or turquoise color.
(r1016) A_RailAttack particles are not true color
Moderator: Graf Zahl
- Footman
- Posts: 14
- Joined: Wed Oct 21, 2009 15:45
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
Re: (r1016) A_RailAttack particles are not true color
That may be possible. Not all code that does color processing has been altered to work without the palette. Originally in ZDoom all such code was palette-locked and most has been changed by now. It was probably just overlooked.
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Re: (r1016) A_RailAttack particles are not true color
The problem comes from the use of ColorMatcher.Pick() in a lot of basic functions. Particle effects (including railgun but also blood for example), decals, GetBlendMap(), AActor::SetShade(), FTexture::InitGrayMap(), and more.
One thing I wonder about is constructions such as this:
Is this putting the closest match's palette index in what's normally the alpha part of a RGBA DWORD so that the same variable keeps both the real RGB triplet for the hardware renderer(s) and the software-compatible palette index?
One thing I wonder about is constructions such as this:
Code: Select all
DEFINE_PROPERTY(stencilcolor, C, Actor)
{
PROP_COLOR_PARM(color, 0);
defaults->fillcolor = color | (ColorMatcher.Pick (RPART(color), GPART(color), BPART(color)) << 24);
}
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
Re: (r1016) A_RailAttack particles are not true color
Fixed, with apparently no ill effects, even in software mode.