Friday, January 16, 2009

converting zmud maps to tintin++, and tintin++ with 100k rooms

The past few days I've been examining the telnet clients available for linux. There isn't too much to speak of, unfortunately. Many of them aren't under active development. However, I found a new MUD client being developed called mudlet that has the potential to be pretty cool.

I ended up using tintin++, since it had a rudimentary auto-mapper which looked interesting. After playing around with it for a while, I wondered if there was a way I could use my zmud maps with tintin++. I couldn't find my wotmud maps from a long time ago, so I grabbed the ones available from What follows is the rough steps it took to get them into a format tintin++ understood.
  1. export zmud MDB data
  2. regex it into something sqlite likes
  3. throw it at sqlite
  4. tweak some data so tintin++ can do more things (like colors) faster/easier
  5. grab what we need from sqlite and output tintin++'s format
What you need:
And of course a zmud mdb file. And now...

$ perl ./ zmud.mdb
$ perl ./ zmud.mdb.sqlite > throws some errors on MetaTbl and another at the end, but they seem to be harmless. If you have a suggestion for a fix, I happily accept patches (or just guru-like advice too, I suppose).

Also, a few more things. My wotmud map had too many rooms for tintin++, so I wrote a little patch that increases the maximum (to 100k) to fix that. It seems to work for me, but YMMV.

Finally, for those of you using a distro without tintin++, but with RPM, here's a specfile for you (that uses the above patch, too). Just pull the patch into SOURCES/ first.

$ rpmbuild --sign -ba SPECS/tintin.spec

* Without the --sign if you don't have rpm set up to use gpg.

Anyway, happy MUDding!


  1. Thanks for this! It worked perfectly once I realised that I needed to add some header information to the file. I just pasted the following text into the top of the file:

    C 15000

    F 8

    I 0

    L * # # + # | + + # + - + + + + + x

  2. Would be great if you offered input here:


  3. Hi there!

    This is exactly what I am looking for but unfortunately
    I am not experienced in using command line tools at all.
    Do you think it would be possible for you to do the conversion
    for me if I send you the files?
    I would be really grateful!!



  4. Would it work on also, or just TinTin++?