Palette mover utility

Any utility that assists in the creation of mods, assets, etc, go here. For example: Ultimate Doom Builder, Slade, WadSmoosh, Oblige, etc.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
Posts: 555
Joined: Thu Aug 06, 2009 4:00 am
Location: Finland

Palette mover utility

Post by Nightfall »

OK I'm not sure if this is the right place to put this but I've been doing a bunch of palette work recently and ended up needing to move palette ranges here and there so I made a little utility to help with that.

So what this thing does is that it operates on Doom playpal lumps and moves color ranges. Palettes in the same format from other games should also work, e.g. Heretic, Hexen, Strife, Duke, etc...

Usage guide
It's a command line tool that takes a plethora of arguments:

Code: Select all

usage: palmove <mode> <input> <output> <transplant> <start> <end> <destination>
The palette is read from <input> and written to <output>. <mode> is a bunch of letters that determine what this tool actually does.
  • m: move, moves the palette range <start>:<end> to <destination> and writes resulting palette to <output>.
  • s: swap, use with move (<mode> being 'ms' for instance). The range being overwritten by the move is moved back to the starting range. This creates a two-way move.
  • t: transplant. The palette is handled in <input> and written to <output> but the color data is actually read from <transplant>. For instance, if <input> points to Doom PLAYPAL, and <transplant> for instance to Demon Eclipse's, you can transplant the green range from Demon Eclipse to the Doom one with: t doom.pal output.pal demoneclipse.pal 112 127 112. This is the only mode which uses <transplant>, it is ignored otherwise. 'm' and 's' have no effect with this.
  • r: reverse. If used on its own, the range <start>:<end> is reversed to <end>:<start>. If used in conjuction with 'm' or 't', the palette ranges being moved are reversed in the process. If used with 's', both affected ranges get reversed.
It does work with palette files with multiple palettes (e.g. Doom IWAD uses 14), but if transplanting is done, both input files must have an equal amount of palettes.

Downloads here
Includes win32 and win64 binaries and source code.

Return to “Creation, Conversion, and Editing”