𩸠tinywad
A library to manage WAD for DOOM based game. It has been tested with the following IWAD:
- DOOM.WAD
- DOOM2.WAD
- HEXEN.WAD
- CHEX.WAD
- TNT.WAD
- PLUTONIA.WAD
- STRIFE0.WAD
- STRIFE1.WAD
- DOOMU.WAD
- DOOM2F.WAD
- HEXDD.WAD
It supports the following features:
- Load WAD buffer/file
- Extract lump raw content
- Extract lump as original files (PNGs)
- Extract the image lumps with a custom color palette
- Update lump raw content
- Build a IWAD/PWAD
- Add/insert lumps then save the WAD file
đ How to build and run ?
- Install the dependencies
cargo
â Use cases
Patching directly the IWAD
use WadError;
use WadOp;
use Wad;
Screenshot(s)
Extracting lumps with custom palettes
use fs;
use MAX_PAL;
use WadError;
use WadOp;
use Wad;
Extracted lumps (as PNGs)
Building a PWAD from scratch
use WadError;
use ;
use WadOp;
use ;
Dumping metadata
use WadError;
use WadOp;
use Wad;
Output
Name: XXTIC, Size: 8, Offset: 12
Name: STARTUP, Size: 153648, Offset: 20
Name: PLAYPAL, Size: 21504, Offset: 153668, Palettes amount: 28
Name: COLORMAP, Size: 8704, Offset: 175172
Name: FOGMAP, Size: 8704, Offset: 183876
Name: TINTTAB, Size: 65536, Offset: 192580
Name: TRANTBL0, Size: 256, Offset: 258116
Name: TRANTBL1, Size: 256, Offset: 258372
Name: TRANTBL2, Size: 256, Offset: 258628
...
đǧ Supported lump types
- DOOM image(s)
- Flat
- Palette
- Markers
- Music
â Todo
| Name | State |
|---|---|
| Dump WAD header | â |
| Dump lumps metadata | â |
| Extract (save) lump | â |
| Update lump from raw buffer/file | â |
| Update lump from original buffer/files (PNG, MIDI, etc..) | â |
| Rebuild then save the WAD as a new file | â |
| Extract DOOM musics | â |
| Extract raw lump | â |
| Remove lumps | â |
| Add lump unique coherent IDs | â |
| Update lump size in the metadatas | â |
| Add lump with raw buffer | â |
âšī¸ Documentation
Run cargo doc --open to read the documentation in the browser.