Wizardry 6 and 7 automapper utility #
A Wizardry 6 and 7 (DOS) standalone automapper utility built with Rust and SDL.
Does not require modifying game files or using a custom Dosbox build, it scans current game memory via Dosbox-Staging's HTTP REST API for accessing live in-game memory. You can use this utility with any Dosbox-Staging build for any platform, as long as that Dosbox build supports this REST API and has it turned on in dosbox.conf.
Building #
- Install Rust
- Install the SDL3 headers for your platform (e.g. on Fedora,
sudo dnf install SDL3-devel) - Clone the repo and
cdto the root. cargo build --release- Any build failures are likely because the Rust bindings cannot find your SDL3 C headers, so make sure you have installed all the
-dev/develSDL3 packages your platform ships.
Configuring DosBox #
See Enabling the API in the Dosbox-Staging manual.
Note that this automapper utility currently assumes you are running the API on localhost port 8086, so make sure your dosbox config reflects that, or supply the --port and --host argumetns to the automapper binary, if your local dosbox port/IP differ
Running #
- Start Dosbox-Staging and Wiz 6/7.
cargo runin the repo root, or copytarget/release/wiz-automapbinary to your location of choice.- The automapper should, after a bit, detect Wiz6/7 running and render the map.
Usage #
The map will update dynamically as you play.
Controls #
- Left-click a map cell to add/edit a persistent note. While the note dialog is open, press Tab to cycle the note colour (8 colours), Enter to confirm, Esc to cancel. Delete the text and hit Enter to delete the node.
- Right-click the map to clear all notes (with confirmation).
- Middle-mouse drag pans the map; press C (or Home) to recenter on the party. The pan also resets on level changes. (Wiz7)
- M toggles the mapping-skill view: when on, the map is gated by the party's Cartography skill — poorly-mapped cells hide their walls or collapse passages/doors to solid, like the in-game auto-map. When off (default), all traversed squares render at full detail.
- H toggles a help overlay listing all controls (Esc closes it).
For Wizardry 7 #
For Wizardry 7, notes and map data are saved when the in-game save dialoge is triggered, and are keyed by the in-game savefile name.
Loading an old save will restore the map state and notes associated with that save, and saving a save file will snapshot the notes and map state associated with that save.
For Wizardry 6 #
Largely untested, and there is a single map state that is persistent across all save/loads.
CLI flags #
Usage: wiz-automap [--host <H>] [--port <N>]
--host <H> DOSBox API host (default 127.0.0.1)
--port <N> DOSBox API port (default 8086)
DONE #
- Complete Wiz7 playthrough with this mapper (finished)
TODOs #
- Complete Wiz6 playthrough with this mapper (TBD)
- Smarter Wiz7 save/load logic (works, but sometimes does an extra mapdata save on non-save dialogues)
Credits #
This was based entirely on https://github.com/DungeonCrawl-Classics/Wizardry67_AutomapMod,
but instead of requiring you to patch Dosbox-Staging source and build a custom Dosbox-Staging binary, this version simply reads game memory via Dosbox-Staging's HTTP REST API for accessing live game memory.
You can use this with any Dosbox-Staging build on any platform that supports this REST API, including Linux, or Flatpak versions, or macOS.