Skip to content

hexjelly/rwad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rwad

A Rust library for parsing Doom WAD files, plus a GUI viewer binary built with Slint.

Overview

Crate component Description
rwad (library) Parse IWAD/PWAD files — lumps, maps, textures, palettes, and more
wadview (binary) GUI viewer for browsing WAD contents

What the library parses

  • WAD header and lump directory (IWAD/PWAD)
  • Map geometry: THINGS, LINEDEFS, SIDEDEFS, VERTEXES, SECTORS, SEGS, SSECTORS, NODES
  • Spatial structures: BLOCKMAP, REJECT
  • Graphics: PLAYPAL, COLORMAP, PNAMES, TEXTURE1/TEXTURE2, FLATs, DoomPicture (patches/sprites)
  • Texture composition via RenderedTexture

Prerequisites

  • Rust (edition 2024)
  • just (optional, for the task runner)

Building

# Build the library only
just build-lib

# Build wadview (debug)
just build

# Build wadview (release)
just build-release

Or with plain Cargo:

cargo build --lib
cargo build --bin wadview

Running wadview

# Launch with no file (open from the UI)
just run

# Launch with a specific WAD
just run-doom1
just run-doom2

# Override the default WAD path
just run-doom1 WAD=path/to/doom.wad

# Build release and run
just release-doom1

The default WAD paths used by the just recipes are:

tests/common/fixtures/freedoom1.wad
tests/common/fixtures/freedoom2.wad

You can place Freedoom WADs there or override the path on the command line as shown above.

Testing

# Run all tests
just test

# Run with output visible
just test-verbose

# Run only Doom 1 / Doom 2 integration tests
just test-doom1
just test-doom2

Code quality

# Lint with clippy (warnings as errors)
just lint

# Format code
just fmt

All available recipes

just          # lists all available recipes

Dependencies

Crate Purpose
binrw Declarative binary parsing
thiserror Ergonomic error types
clap CLI argument parsing for wadview
image PNG export
slint GUI framework for wadview

About

Doom WAD viewer, entirely vibe coded

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors