Recently I became a little bit more interested in Blizzards custom formats MDL, MDX and BLP.
Since they aren’t documentated by Blizzard some people started studying them and wrote format specifications.

MDL is the easiest format since it is not binary. It describes like MDX model files of Warcraft 3.
MDX is the binary version of MDL. BLP is Blizzards texture format and is also binary.
First I’ve looked for an existing format specification on the Internet. What I’ve found was Magos War3ModelEditor, a tool which helps you to modify and view MDL and MDX files and which also can load BLP textures.
It’s written in C++ and I’ve already used it to view many models before I added them to my MPQ archives.
Unfortunately it’s not cross platform.
Later Magos developed the MdxLib which can be used by applications to convert into and from MDX and MDL format.
Unfortunately it’s not cross platform, too and written in C#.
After I asked for Magos released the source code and I could have a look into all files which helped me to get a better understanding of those formats.
Pitzermike released a BLP converting tool which also is open source, written in C++ and not cross platform.
All in all these three tools will help me to fix my own code. Yes, I decided writing cross platform code for using those three formats for people (like me) who’re using other operation systems than Windows.
Maybe this is just the beginning of a new tool which supports several Warcraft data types. This document describes some other formats used by Warcraft 3 and its map editor.
At the moment I’m using the C++ standard library (file streams, lists, exceptions etc.) to read and write format files.
Additionally I’m using the boost library’s tokenizer classes to parse MDL files.
If my code will become much more stable I will propaply add it to the vjasssdk svn repository, so people will be able to test it on their own.
Wouldn’t it be great to have a library which allows you to handle all those Warcraft 3 formats. People could write their own map editors with much more features.
I know this would be a huge amount of work and most people are very happy about Blizzards map editor and do not really need anything else.
For sure I’m not going to start writing some kind of new map editor. I just like to have the possibility since people like me can’t really use the map editor on Linux and wish much more features and control when creating maps.
Oh and if you want to read and write MPQ files just use the StormLib which is cross platform.


One Response to “MDL, MDX and BLP”

  1. who edit character naruto and inuyasha

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: