A VS Code extension for viewing and editing Doom-format LMP images with a SLADE-inspired interface.
- View and edit .lmp files directly in VS Code
- Flip Horizontal - Mirror the image horizontally
- Flip Vertical - Mirror the image vertically
- Rotate Left/Right - Rotate image 90° in either direction
- Undo/Redo - Full history support (50 levels) with Ctrl+Z / Ctrl+Y
- View and edit image offsets
- Drag to adjust offset (click and drag inside image bounds)
- Offset presets:
- Monster:
offsetX = width/2,offsetY = height - 4 - Monster GL:
offsetX = width/2,offsetY = height - Projectile:
offsetX = width/2,offsetY = height/2(centered) - Custom presets: Save your own presets (stored in settings)
- Monster:
- 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
- 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
- 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
- Click the flip/rotate buttons in the toolbar
- Changes are applied immediately
- Use Ctrl+Z to undo, Ctrl+Y to redo
- 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 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
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.palettePathto your palette file path - Set
doomgfxTools.paletteIndexto select which palette page to use
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
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:
{
"lmpreader.customPresets": [
{
"name": "My Custom Preset",
"offsetX": 32,
"offsetY": 64
}
]
}