Skip to content

MichaelTen/Map2TXT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

map2txt — Ultima Online .mul Map Dumper

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.


Features

  1. Detects map dimensions automatically based on file size.
  2. Dumps blocks in a clear tile_id:altitude format.
  3. Supports full map dumps or single-block inspection.
  4. Outputs to a .txt file for easy examination and further processing.

Example Usage

# Dump only block (0,0)
python3 map2txt.py map0.mul

# Dump the entire map into text
python3 map2txt.py map0.mul --all-blocks

Example output snippet:

# Block (0,0) — 8x8 cells, format tile:alt
0001:+0 0002:+0 0003:+0 ...
0001:+0 0002:+0 0003:+0 ...
...

Arguments

  • input — the .mul file (e.g., map0.mul).
  • -o / --output — optional output filename (defaults to mapX_all_blocks.txt).
  • --all-blocks — dump every block in the file instead of just block (0,0).

Typical Sources for .mul Files

  • User-created maps from editors such as CentrED#.
  • Test maps for study and prototyping.

Applications

  • Understanding how .mul map 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).

Requirements

  • Python 3.7+

License

This project is released under the MIT License. You are free to use, modify, and share it for your own projects.

About

.mul to .txt for learning. binary output to (somewhat) human readable .txt

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages