map2txt is a simple Python utility that reads Ultima Online-style map#.mul files and converts their block and cell data into a human-readable text format.
This tool was designed for exploration, learning, and for use in alternative project development — for example, prototyping terrain data in engines such as Godot.
- Detects map dimensions automatically based on file size.
- Dumps blocks in a clear
tile_id:altitudeformat. - Supports full map dumps or single-block inspection.
- Outputs to a
.txtfile for easy examination and further processing.
# Dump only block (0,0)
python3 map2txt.py map0.mul
# Dump the entire map into text
python3 map2txt.py map0.mul --all-blocksExample output snippet:
# Block (0,0) — 8x8 cells, format tile:alt
0001:+0 0002:+0 0003:+0 ...
0001:+0 0002:+0 0003:+0 ...
...
input— the.mulfile (e.g.,map0.mul).-o / --output— optional output filename (defaults tomapX_all_blocks.txt).--all-blocks— dump every block in the file instead of just block(0,0).
- User-created maps from editors such as CentrED#.
- Test maps for study and prototyping.
- Understanding how
.mulmap files are structured. - Exporting terrain data into a format that can be repurposed.
- Feeding block and altitude data into custom engines or projects (e.g., Godot).
- Python 3.7+
This project is released under the MIT License. You are free to use, modify, and share it for your own projects.