Custom presets: Save your own presets (stored in settings)
Navigation
Zoom controls: Mouse wheel
Zoom to fit: Automatically fit image to viewport
Pan: Middle mouse button to drag the view
Re-center: Reset view to center
Palette and convertion
Convert LMP to PNG and PNG to LMP
Support for custom game palettes (Doom, Heretic, Hexen, SRB2, etc.)
Support for the following color aproximation modes: nearest, bayer(2x2/4x4/8x8), floyd-steinberg and atkinson
Usage
View and Edit LMP Files
Open any .lmp file in VS Code
The custom editor opens automatically
Use the toolbar to transform, adjust offsets, or zoom
Click Save when done, or Revert to discard changes
Image Transformations
Click the flip/rotate buttons in the toolbar
Changes are applied immediately
Use Ctrl+Z to undo, Ctrl+Y to redo
Adjust Sprite Offsets
Check "View offset" to see crosshair guides
Edit offset values directly in the input fields, or
Click and drag the image to adjust offset visually
Use the preset dropdown to apply common offset patterns
Convert Between Formats
Convert LMP to PNG:
Right-click a .lmp file → "DoomGFX: Convert to PNG"
Or use Command Palette: DoomGFX: Convert to PNG
Convert PNG to LMP:
Right-click a .png file → "DoomGFX: Convert PNG to LMP"
Or use Command Palette: DoomGFX: Convert PNG to LMP
Custom Palettes
Load custom palette:
Press Ctrl+Shift+P (or Cmd+Shift+P on Mac)
Type "DoomGFX: Load Custom Palette"
Select your palette file (PLAYPAL or similar)
If the file has multiple palettes, pick which one to use
Close and reopen .lmp files to apply the new palette
Use Settings for persistent palette:
Open VS Code Settings
Search for "DoomGFX Tools"
Set doomgfxTools.palettePath to your palette file path
Set doomgfxTools.paletteIndex to select which palette page to use
Extracting Palette Files
To extract from WAD/PK3 using Slade:
Open the game file in Slade
Find the PLAYPAL lump
Right-click → Export
Save the file
Common palette sources:
Doom/Doom 2: PLAYPAL in DOOM.WAD or DOOM2.WAD
Heretic: PLAYPAL in HERETIC.WAD
Hexen: PLAYPAL in HEXEN.WAD
SRB2: PLAYPAL in SRB2.PK3 (contains 14 palettes)
Custom Presets
Custom offset presets are stored in VS Code settings (lmpreader.customPresets) and persist across sessions. You can manually edit them in your settings.json if needed: