Palette translation
From DoomWiki.org
Palette translation was a promised feature of the Doom engine. While it is not entirely missing, what is implemented falls far short of what was announced.
In the final game, the palette translation is limited to translating a specific color range from the palette to one of three others. Specifically, the range 112-127 (green) can be changed to 96-111 (dark gray referred to as "indigo"), 64-79 (brown), or 32-47 (red). This is only used with the player sprites, in multiplayer, to distinguish between player 1 (green), 2 (indigo), 3 (brown) and 4 (red). While it is possible with DEHACKED to have other mobjs use one of these translations, none of them do so in the base game.
All graphics in Doom use the game palette; sprites and textures do not have their own palette. This approach however would end up being used for Doom 64 where some monsters (notably the fake players, zombieman and shotgun guy, imp and nightmare imp, demon and spectre, and Hell knight and baron of Hell) share the same graphics with their counterparts but interpreted with different palettes, allowing to reduce the memory footprint of this monster variety.
The Doom engine does not use its translation capabilities to represent which weapon a player is carrying, to animate lights or any other thing, to reveal monsters, secret passages, or damage inflicted to enemies. Some of these things existed in other games; Ultima Underworld, for example, uses cycling through specific color ranges to animate fire and water textures; and Shadowcaster features in its first level a puzzle where a special sight power must be used to show landmines that are not visible in normal sight. This later effect could conceivably be implemented in Doom through the use of a specially-tweaked COLORMAP and custom textures, allowing to turn for example the invulnerability sphere into a special sight powerup. (The light amplification goggles could also be used but only if the maximum light level is not normally possible in the puzzle area.)
