/public/Tools/Python Scripts/conform2palette/


Name Type Size Date
../ Directory — —
--== READ ME ==-- readme 3kb 16-October-2026
conform2palette.bat bat 754b 11-October-2026
conform2palette_script.py py 36kb 11-October-2026

--== READ ME ==--.txt

This tool is designed for use with DOOMTools.

When you use a WAD as a texture resource in DOOMTools, the `/src/wads/textures`
process reads the texture definitions and associated graphics directly from the
WAD files. This includes the texture data, the patches used to build those
textures, and definitions such as switches and animations.

However, DOOMTools does not automatically convert those graphics to match a
custom palette when processing the texture resource. If the resource WAD was
created for a different palette to that of the DOOMtools project, the resulting
textures and patches will use incorrect index colour values.

This tool converts the graphics in your resource WAD to your project's custom
palette and creates a new, palettised version of the resource WAD. This converted
WAD can then be used normally with DOOMTools through the `/src/wads/textures`
resource system.

DOOMTools can now handle the texture definitions, patches, switches, and
animations directly from the converted WAD, while all relevant graphics are
already converted to the correct project palette.

This also removes the need to manually extract the texture resources and maintain
a separate set of loose PNG files.

==============================================================================
  CONFORM2PALETTE  -  repalette every graphic in a WAD
==============================================================================

  Converts every graphic in a WAD to a new palette and writes a classic-
  format copy. Doom pictures, flats, palettised PNGs and truecolour PNGs
  all come out as standard Doom pictures (or raw flats in a flat
  namespace). PLAYPAL is replaced with the target's 14 palettes. Every
  other lump (colormaps, TEXTUREx, ENDOOM, sounds, maps...) is copied
  byte-for-byte. Names, order, markers and namespaces never change.

USAGE
  conform2palette input.wad [output.wad] [-iwad name] [-pal source] [-replace]

OPTIONS
  -i, -iwad name IWAD palette used as the target if no -pal (default: doom2)
                 Options: doom, doom2, tnt, plutonia, heretic, hexen, free1, free2, doom94, doom294
  -pal source    Target palette. Accepts: WAD with PLAYPAL, raw PLAYPAL lump,
                 DoomTools palette PNG (256 wide, one palette per row),
                 SLADE pal0.png (16x16 grid), colourmap PNG (row 0),
                 .pal (raw, JASC or RIFF; one or many palettes), GIMP .gpl
  -input / -output Explicit alternatives to the positional names
  -replace       Overwrite the input instead of writing <name>-palettised.wad

NOTES
  - The input WAD must have its own PLAYPAL (that is the source palette).
  - A single-palette source gets the standard 13 tint palettes generated.
  - Nearest colour by weighted RGB; ties go to the lowest index.
  - PNG grAb offsets carry over; partial alpha is ordered-dithered.
  - Overwrites go via a temp file, so a failure never damages the input.
  - WAD files only (no PK3). IWAD paths are set at the top of
    conform2palette_script.py.

EXAMPLES
  conform2palette res.wad -pal mypal.png      - -> res-palettised.wad
  conform2palette res.wad new.wad -iwad tnt   - TNT palette, -> new.wad
  conform2palette res.wad -pal p.pal -replace - overwrite res.wad