Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
phlum

Recolouring sprites?

Recommended Posts

Hi,

I've seen many WADs with different coloured monsters - and that's it, just different colours. A good example of this are Skulltag's custom actors - start a random game and spawn a Blood Demon or a Cacolantern, and you'll see.

But, how is this done?

Surely there's an easier way to recolour a bunch of sprites than going through them separately? And I doubt many mapmakers have the willpower to do that. Hell, even colourising in the Gimp changes some stuff you don't want changing.

Share this post


Link to post

ZDoom and derived source ports (such as Skulltag, as you mentioned) support color translation tables in DECORATE lumps, which can be used to quickly shift the colors of certain ranges of an actor's palette, or even specific RGB values.

The other option is, as you stated, manually doing it through Gimp, Photoshop, and the like. Not sure about Gimp, but Photoshop can record and utilize macros which would make procedural recoloring much less painful.

Share this post


Link to post
phlum said:

Huh. Well, as good as that is, I can't make heads or tails of it... O_o

With 8-bit graphics like in Doom, each pixel in a graphic has an index that tells which color from the palette it is. The the computer looks up that palette, and says "okay, pixel X is index Y, that corresponds to color Z, so pixel X is color Z".

The palettes are usually organized so that similar colors are together. This forms a color range. You can look at the various games' palettes here, it'll probably make more sense then.

So, a translation says that index Y, in fact, must be replaced by index V, which corresponds to color W. So pixel X ends up not being color Z, but color W. that's the translation.

For example:


You can see that the greens of Doomguy's suit are in the 112-to-127 range. Then a translation like 112:127=96:111 will replace each color from the 112-127 range to a color in the 96-111 range, resulting in a marine that wears a grey suit instead of a green one. It is translated to a different color range.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×