What's new

Universal Model Converter Development (Melee models) progress and discussion


Complexity == Fun >:3
I'm posting a new thread here because this is a completely different converter from my last melee converter which barely worked.
(it worked well on what it did convert, but as for range, it didn't convert much)

here's a few trophies I've converted:


^this one gave me sooo many problems on my old converter (first attempt on this converter)



yes Objects work too:

did alot of testing reguarding those...

and now for a few players:
note: Transforms are not applied yet

^normals were regenerated




UV's even work:

so yeh...
only problem I'm having (as you can see) are the normals

lemme tell ya this format is a PAIN in the *insert word here* to crack
it's simpler than MDL0 yes,
but there's no strings and everything runs along a large heirarchy of data

I had to name everything based on it's offset

I've still got a few more things to implament though before I even get the OBJ plugin finished...
my TMP format doesn't support global vectors which is required for this conversion... yet
(I had to convert it manually, but am adding the settings for it)


New member

Sorry to bother but do you know where the offsets of the "face" segment on peach normal are ?

I'm working with Milun sofware right now. I just didn't find a way to use yours.


PS: Sry my english sucks.


Complexity == Fun >:3

Sorry to bother but do you know where the offsets of the "face" segment on peach normal are ?

I'm working with Milun sofware right now. I just didn't find a way to use yours.


PS: Sry my english sucks.

bothering me... plz XDD

faid I don't...
I've only been working with Pikachu/Pichu, and I've still got alot to figure out about them :/

tbh I kinda don't know what you mean exactly :/
do you mean the normal indecies, or the normals themselves??

as for bad english, I think yours is actually pretty good :)
but srs, almost everyone on here says they have bad english XDD


New member
Haha, I'm never clear when I explain something I don't master.
And I said my english sucked because I'm french.

Guess I better tell you what I want to do.

Basically, I just want to modify something in a character. I took Peach like that for the example, but I could have took Pikachu as well.
Maybe you can help with it too.

What I'm trying to do now is to edit Peach's strands of hair. On the PlPeNr.dat

But I have no idea what I must do and pretty much no freaking idea of what I'm already doing XD.

I don't even understand the structure for DAT files. And I'm a programmmer -__-.

PS : An anecdote for the Lulz. My girlfriend said if I can transform Pikachu into something close to Stich, she'd play Melee xD. So Pikachu will be edited. Even in three years.
Last edited:


Complexity == Fun >:3

I would say to hold off on the player models for a bit...
the vert cloud you get is untransformed and a pain to edit...

here's a pic of the raw verts:
(it's brawl Pika, but melee Pika is the exact same)

I have done a vert edit on Pika before, but it ain't nothin fantastic...

so your a programmer too :D
believe me...
I didn't even understand the DAT structure...
revel8n was my big help there ^_^

atm, the relocation table near the end is useless...
I'm looking at it and trying to compair offsets in it, but figuring it out is a pain DX

anyways, the model starts at a base node with (node_string.split('_')[2] == 'joint') as the start
example: 'PlyPikachu5K_Share_joint'

now that we have the start of the data, we can follow the tree and get a model

the tree looks something like this:

-joint (bone)
----?? (yet to look at)
---polygon (object)
-----vectors (verts, normals, and uv's)
----display list (face data)

so there's the basic low-down on the structure :)

for more info (you will need it) you can go here:

revel8n has pretty much covered almost everything needed ;)

here's a quick example of just how big the tree can get:
Last edited:


New member
Lol thanks for your quick reply.
I saw your pikachu already, it's what made me want to do this. =D

Time to learn some data it seems lol.

I'll be back for some questions I think.


Complexity == Fun >:3
if you want faster, I'm on my chat :)


I'll answer any q's you may have :D

take note though, we usually talk about brawl stuff and brbx...
the data is similar to melee's, so try not to get confused ;)


New member
Well I will be kinda busy this week, essentially due to work.
I'll try to make an apperance though.

Thanks again for your help =D

(And since I will play project M, I'm also interested in Brawl data, but I'll stick to melee now and go to brawl later)


Complexity == Fun >:3

you're the dude who joined my forum a while back...

AAAAUGH *facedesk*
I just now noticed your name
*sights in failure*

lol at least I got to chat with ya herre XDD


New member
Well it was really a while back LOL I didn't do much more than lurking back then. I'll try to be more active from now on.

Anyway, a great job has been done in a short time. 1 year ago it was still hypothetical and now it can be done.

Hype in here lul.


Complexity == Fun >:3
heh... indeed :)
I've even got hype :D

and yea...
not much was known about melee's format...
but the way to figure it out isn't so obvious as brawl's MDL0 format >_>

I'm glad I put a hold on this to learn about brawl's format, or I prbly wouldn't even be this far...


Complexity == Fun >:3
good news guys :)
I may soon have another alpha release for my converter :D

meaning you should simply be able to convert to what the images in the OP showd ;)

although when I made those images,
they were done with manual conversion after getting an error with my obj plugin...

now the obj plugin actually works as it should, but I don't have the GUI implemented yet... heh
and it's only known for global vector conversion... havn't tested the local vector conversion yet...
but that'll happen when I get the mdl0 plugin working with the new TMP format


New member
That's soooo rape.

Back to work on learning into this tonight. =D


So far what I have.
It that sufficient for doing what you did to your pikachu ? (just for the exemple lol)

And sooooo now. I have to know what to do in blender. I don't know it at all.

So noob in this domain, sry XD.
Last edited:


Complexity == Fun >:3
well first off, I'd reccomend getting blender 2.58
(all they're doing is cleaning up the code)
the GUI is alot better for one
and there's just so many things that've been UD'd on it that you may as well throw 2.49 away

still anyways...

if you're a good 3DS user, why not edit the verts in 3DS and use blender as a tool for conversion...

although my script for exporting the vert data isn't exactly accurate as I don't have the right multiplier set...
meaning some models may not work...

and yea, that's legit for a noobish attempt at the format :)
are you actually going through the file to the verts?? (not in a hex editor)

I see you have 010 editor
the program that only worked 30 days no matter what I did to it >:O

that's why I got HexEdit...
btw, Andrew's new HexEdit version will support hex highlighting in multiple colors,
and will also highlight based on the template


New member
Hum, well yeah that was just a version someone had at work, so I'll go on and take the new blender.^^

Then, i just followed the tutorial Milun made, on his website, nothing great thought, I don't know where the second part (the face data, if I remember) ends. So his program do not work on this, because I don't give it the right data.

I work on PlPkNr ( player pikachu normal)

Then again xD, I didn't put to much time in it, I just found it and give it a try, nothing more.

For 010 editor, it was because it could execute the script I found on the other topic, DATTemplate, which I found useful, as I was able to found the vertice hex in the file.
I'll give the other a try thought.

And also, I'ms THE perfect noob huh, this is my first attempt in 3D modeling either.


Complexity == Fun >:3
meh... my converter overtops his old programs...

he has sadly seemed to leave the melee hacking team and go onto game development...

I actually came from game development to here to learn about more for game development...
and it sure has helped out :D


if you'll wait, I should have another alpha release of my converter before the week ends :D
you can take a look at how my scripts work and all, if you know Python...

and umm... also
don't forget, I have my own DAT template I made for HexEdit...

it'll show you more of the structure, where as 010 shows you more of the locations...

I'm on my wii atm, so just search for 'Tcll DAT template' on google, and look for my git
gist.git-hub.com or something like that


New member
ah ah KK, no offense xD, I just didn't know how to use it.

I'll wait 'til then and concentrate on understand the structure of the DAT file more.

I don't know Python, but I can profit of the occasion to have a look at it. =D
There's an expression in french which says "c'est l'occasion qui fait le larron", xD.

I'll also look into your template.

Anyway, thanks a lot for be batient with me and help with that.

PS : I have some experience in game development. For school, we have made a 2D engine for the XBOX360 using XNA with some friends.
Unfortunatly, I don't have the source, but if I can help you with something, just say it.^^


Complexity == Fun >:3
meh... I've just decided to delve right into 3D...
and blender was the best choice for that...

I've used at least 3 or 4 autodesk softwares, and hated the layout and behavior of everything...

I <3 blender because you barely ever use the GUI...
(except for setting small numbers and that (like weights))

all the modelling and stuff is done with the KBd...

the only thing that's a pain is memorizing the key commands...

but once you get past that, you can model faster than ever :D

and yeh...
Python is perhapse the most simplest programming language...

all the other languages are extremely hard to understand...
Python dumbs it down for you :)
ntm, it's conveinent ^_^
you don't have to compile to worry about errors before even seeing what your program can do...

if your program has an error, it simply ends at the error...
or sometimes goes into an infinite loop while reading file data... heh

and patients...
I have enough to go around :D

I get my fun by helping other people. ^_^*


New member
Speaking of simple languages, Java and C# are pretty dumb too lol.

Well for blender, I'ww just rely to you when I'll be stuck xDDD


Complexity == Fun >:3
Speaking of simple languages, Java and C# are pretty dumb too lol.

Well for blender, I'ww just rely to you when I'll be stuck xDDD
well, actually...
I've found C# to be a little more complicated that java,
which are still more complicated than C++

I'm able to read C++ alot better than C# or Java

and that's KK :)