• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

MDL0 file information needed for Converter

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
hello...

Kryal, Pharrox, Bero...
anyone :/

I kinda need some help...

I need to figure out the things I posted below so I can finish my template...
(or above for reversed sort) :p

anyone coming??

note:
after I build my template, I'll release that and build the converter...
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I would suggest PMing anyone and everyone you can think of who would have any info on this topic. Man, I REALLY hope someone responds...
heh... I guess I have to since no-one but you responded to this within a day :p
before I do though, I'd like to UD on what I need info on...

so all I need to know is:
Definitions:
type2: (known)
type3: (unknown)
type4: (known)
type5: (known)

Shaders (Mat1):
need to know everything except what info is displayed in BrBx
data offset == material (link)
P3 offset == textures
P4 offset == ?? (is there a document that is not 0)
P5 offset == ?? (some offset just under the textures)
unk6 (P6 offset) == (uncertain) same as P5 (looked at a pokepark mdl0 which may be reverse P5/P6)

Materials (Mat2):
(unknown)
0x00(4): block size
0x04(4): MDL0 offset
0x08(4): ID
0x0C(1): unk (I was thinking 'num users' but it don't match)

Polygons:
can't understand notes :p

Pallets (Tex2):
how do they work?? (they have an XY position) :/

EDIT:
Definitions (type3)
these have a sub type of (so far) 2 and 3
2: has a length of 12
3: has a length of 18
 

AMKalmar

Smash Ace
Joined
Mar 10, 2009
Messages
887
Location
Hamilton ON CA
Which polygon notes? These from the OP?
Code:
POLYGONS HEADER

0x00		Total Length
0x04		MDL0 Offset
0x08		Node ID
0x0C		Flags 1
0x10		Flags 2
0x14		Unknown 1
0x18		Def. Size
0x1C		Def. Flags
0x20		Def. Offset
0x24		Data Length
0x28		Data Length (Copy?)
0x2C		Data Offset
0x30		Unknown 2
0x34		Unknown 3
0x38		String Offset
0x40		(Undocumented for now)

POLYGON TYPES

0x20		Bone Def 1
0x28		Bone Def 2
0x30		Bone Def 3
0x80 		Quads
0x90		Triangles
0x98		Triangle Strip
0xA0		Triangle Fan
0xA8		Lines
0xB0 		Line Strip
0xB8		Points
If so, what don't you understand?

Judging from the pictures in the thread I thought you had polygons figured out.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
Which polygon notes? These from the OP?
If so, what don't you understand?

Judging from the pictures in the thread I thought you had polygons figured out.
wait...
there's multiple notes on them??
eh... whatever...
I just didn't understand the boxes in pharrox's notes is all

those notes you gave look alot simpler to understand

and the pics...
I used AIS mixed with Will's to get those
(editing the AIS triangles, and replacing them with Will's)

anyways thanx :)
I'll UD my template right now...
(trying to get as much figured out as I can before releasing)

also...
is there any notes for the materials??
note:

mat1 = shaders
__data offset = material link (to material in mat2)
__P3 = textures offset (data displayed in brawlbox (sub info))
__P4 = ?? (not used in most mdl0's I've seen (it may be the particle system))
__P5 = ?? (offsets to the data below the textures)

mat2 = materials
__header(block_length, MDL0_offset, ID, unk, more)

I was thinking the unk may have been the number of users, but I was wrong... (they don't match)
the 'more' is the stuff that hasn't been figured yet
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
KK
this data looks like it really is face-point attributes...
basically the key to defining the lengths of the facepoints

now I need some good notes on how it works, and how to convert it...

these notes suck:
Code:
vertex position data block {
 0x40 byte header {
  uint32_t length of this block
  int32_t offset to beginning of file (always negative)
  ...
  uint32_t at 0x10:
   index # of block (starts at 0, should be no gaps)
  uint32_t at 0x14: {
   0x01 = positions, has bounding box + zero pad
   0x00 = normals, no bounding box data + zero pad
  }
  ...
  uint16_t at 0x1c: bytes per vertex (0x04 * #components) {
   0x08 = UVs
   0x0c = vertex and normal data
  }
  uint16_t at 0x1e = number of vertices to follow
  0x20 {
  float[6] (bounding box?)
  uint32_t[2] zero
  } (not present for normals)
 } 
 component data follows: #vertices * #components float32
}
 
vertex array header: {
 0x140 bytes long, almost completely unknown
 u8 @ 0x0e {
  0x14 or 0x54 for u8 datas
  0x5e for u16 datas
 }
 u16 @ 0x1e (vertex count for a position data block) is:
  0x80 for a 4 or 7 byte vertex struct layout
  0xc0 for an 8 byte vertex struct layout
 u16 @ 0x94 = byte length of 3rd component in the struct
  only if @0x1e != 0xc0 and @0x0e != 0x14
}
vertex array data: {
 u8 list type to follow {
  0x00 == stop processing
  0xB8 == points
  0xA8 == lines
  0xB0 == line strip
  0x90 == triangles
  0x98 == triangle strip
  0xA0 == triangle fan
  0x80 == quads
 }
 u16 = #verts to follow
 if (@0x1e in header == 0xc0) {
  u8 position idx
  u8 unknown1
  u16 unknown2
  u8[4] more unknowns
 } else {
  component lengths defined in header (@0x0e, @0x94):
  position idx
  (uv or normal idx)
  (uv or normal idx)
 }
}
and Pharrox's notes arn't really much help in that area :/

here's that hex as it would be viewed in a hex editor: (padding included)
00 00 00 00 00 00 00 00 00 00 08 50 00 00 5E 05
08 60 00 00 00 03 10 00 00 10 08 00 00 00 15 00
08 70 41 37 70 09 08 80 C8 24 12 09 08 90 04 82
41 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00

^(just in case some people find viewing it this way better) ;P
original post in the community MDL0 thread
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
well, here's some progress:


bad codes and no instruction from experts is to blame for this :/

I had to use will's code to at least get it that far...
but I have no idea how it works...
I'd know how to fix the prob if I did :/

EDIT:
heh...
got it this far after adding 1 to each index:

I figured it out since there were faces at 0|0|0 in my global format...
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
well...
I've went back and redone my object code...

I seem to have gotten everything else figured out except for the attributes:

00 00 00 00 00 00 00 00 00 00 08 50 00 00 5E 05
08 60 00 00 00 03
10 00 00 10 08 00 00 00 15 00
08 70 41 37 70 09 08 80 C8 24 12 09 08 90 04 82
41 20
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


the values of the 08 50 and 08 60 commands can be taken care of by the first 2 functions here:
http://www.pasteit4me.com/2279002
(they're the same values every time in the object header)

I'm so close to having these things figured out *egarface*

EDIT:
I remember seeing something in will's code about the 08 00 command...
I think I'll look into that >_>
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
hey Pharrox...
I found the prob with your converter...
check out the trifans and tristrips in 'mdl0In.cpp'

I don't think you have them reading properly...

also...
I have some great news :D
I'm currently on the faces right now, but up next is the weights

but umm...
I have a few Q's that need answering before I get there...


1: what do these do exactly:
Code:
[/COLOR]
[COLOR=lime]                     #Tex0 format                    (0)[/COLOR]
[COLOR=lime]                     #Tex1 format                    (1)[/COLOR]
[COLOR=lime]                     #Tex2 format                    (2)[/COLOR]
[COLOR=lime]                     #Tex3 format                    (3)[/COLOR]
[COLOR=lime]                     #Tex4 format                    (4)[/COLOR]
[COLOR=lime]                     #Tex5 format                    (5)[/COLOR]
[COLOR=lime]                     #Tex6 format                    (6)[/COLOR]
[COLOR=lime]                     #Tex7 format                    (7)
^the numbers to the right are just list indexes (not important)

2: what is the purpose of these:
Code:
[/COLOR]
[COLOR=lime]                     #Vertex/Normal matrix index     (0)[/COLOR]
[COLOR=lime]                     #Texture Matrix 0               (1)[/COLOR]
[COLOR=lime]                     #Texture Matrix 1               (2)[/COLOR]
[COLOR=lime]                     #Texture Matrix 2               (3)[/COLOR]
[COLOR=lime]                     #Texture Matrix 3               (4)[/COLOR]
[COLOR=lime]                     #Texture Matrix 4               (5)[/COLOR]
[COLOR=lime]                     #Texture Matrix 5               (6)[/COLOR]
[COLOR=lime]                     #Texture Matrix 6               (7)[/COLOR]
[COLOR=lime]                     #Texture Matrix 7               (8)
^apperently they play a part because they make the face-point length == 9 instead of 7 (for Pika's first object)

and last is, how do I go about figuring out the attribute block below??
I need to figure out those last 4 commands in red :/
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
sigh...

I guess no-one really wants to see a perfectly working converter any time soon...
otherwize I'd be recieving some help...

I have like 7 threads out and I'm not recieving help on one of them.
apparently no-one with knowledge wants to aid me in my research when they have time

yes, I could be alot farther on this if someone would just speak up
I can't gain info from poorly written documents alone :/

Kryal and Pharrox are ignoring me for some reason...
after sending them a few PM's

BJ96 is the only one who's actually been helping me...
but of course, he's a minor like me who know's little of the MDL0 file
(well, we know alot, but still not enough to actually DO something)

I've been asking countless times about objects and faces
and constantly getting no responce...

if people want to be selfish and not share their findings then fine...
you're not my example :glare:

I'm tired of dealing with people who think they're "all that",
but they turn out to be a selfish b57d

people need to straiten up and learn to he-
you know what...
I'm ending my rant here...
it's not worth it if it's just going to be ignored like anything else here -_-
or anywhere else I post.

I'm doing this just for myself now
unlike the others, I won't fail >:|
 

Kiriel

Smash Rookie
Joined
Jul 28, 2009
Messages
2
Hey man, just wanted to lend some encouragement. It sucks that nobody's responding to you. I've been following your work a little via this thread and I'm really excited for what you're working on.
Although I have no actual help to speak of, I just wanted to let you know you're doing a good job and I look forward to what you come out with! Great work man! Keep it up!
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
Hey man, just wanted to lend some encouragement. It sucks that nobody's responding to you. I've been following your work a little via this thread and I'm really excited for what you're working on.
Although I have no actual help to speak of, I just wanted to let you know you're doing a good job and I look forward to what you come out with! Great work man! Keep it up!
thanx
I really needed that

I'm taking this project on full now
granted it'll take alot longer for me to figure out everything...
but hey...

I need this for a vid I'm doing...
not to mention I've been inspired to create a few hacks using my own chars...

so yea...
you can expect a 100% perfect conversion after maybe 1 beta :)

there will be some settings, but I'll try to keep them optimized ;)
you can set the mdl0 for better performance as well
(positions won't be 100% exact, but they'll be close enough (optimized level)) :)

you can also set it for HQ wich yes will create more data,
but it'll make the model and what-not look better :p

I'll try to add a 'Moderate' level to keep it in-between
(Default will be HQ)


so yea...
a converter with advanced functions
how's that sound :D
 

Kiriel

Smash Rookie
Joined
Jul 28, 2009
Messages
2
Sounds friggin' great! It's definitely been a long time coming!
Where do you plan to release it? Will you be posting a link on this thread?
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
Sounds friggin' great! It's definitely been a long time coming!
Where do you plan to release it? Will you be posting a link on this thread?
where to release >_>

you know, I've never really thought about that,
but perhapse I'll release it on my new website :) (when I finish it)

I should be finished with my site before the first release >_>

umm...
you can keep watch for updates here:
http://tcll5850.proboards.com/index.cgi?board=umcrel

you may even contribute to the project by adding any ideas you may have ;)

and don't worry...
I don't intend to give up on it :)

as of right now, I'm just on a hump with the facepoint indexes
(they're still not linking properly)

I've got 4 sources to look at to try and figure the prob out...
the prob is in my MDL0 conversion code...

apperently there seems to be a value that's transforming the indexes...
I'm not exactly sure as to what that is just yet :/
but I'm looking into it :)
 

Eternal Yoshi

I've covered ban wars, you know
Joined
Mar 3, 2007
Messages
5,450
Location
Playing different games
NNID
EternalYoshi
3DS FC
3394-4459-7089
We still all support you though we may not be able to add much.
I gave up trying to hex the model after failures and instead will wait for a better bone adder.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
We still all support you though we may not be able to add much.
yea...
I know you guys really only know how to hack :)
ain't really much you guys can do to help >_>

thanx for the support though :cool:

I gave up trying to hex the model after failures and instead will wait for a better bone adder.
umm...
that's something a little different from what I'm doing...

no worries though :)
(someone else is working on that)
 

red skull fire

Smash Cadet
Joined
Sep 30, 2014
Messages
69
ok i dont know how you are doing it but i do have some info that might help.......try das donkey team.....some how get ahold of them on thier website and they should be able to help you.....they made a converter but not for blender so they should be able to help you :)
 
Last edited:

Blueblue105

Smash Rookie
Joined
Feb 6, 2015
Messages
10
Since you guys are talking about models, I'm hoping you can answer this question. I've been trying to make a modification to a Roy model in Project M where he's armored up. I wanted to use objects from other models like Ike's Hector armor he has as an alternate costume in PM. But when ever I right click the roy model and try importing the hector armor from Ike, Brawlbox crashes, rendering my modification useless, yet I've been able to do this with other models before when it comes to combining models. What can I do to fix this? It's become very frustrating and I simply want to make this work.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
that sounds like an issue with BrawlBox, some people recommend this type of editing with 3DS Max.

hopefully I can get my issues sorted out with UMC soon and we can use any model editing program instead of crummy 3DS ;)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
export the MDL0 as a DAE, then import into 3DS...
I don't know much beyond that as I don't use 3DS :p

I'm only trying to make it possible to edit in other (more usable) programs... heh

I personally LOVE Blender, though it's interface could still use a bit of work, and it definitely could use more tools (I'm not even gonna bother with blender scripting (other than game scripts))

Blender26 has a much nicer UI though, but the whole thing is pretty much a rebuild since Blender24, which has a much nicer scripting interface mind you...
due to that fact though, it's alot more error prone... heh


with UMC, I'm trying to consider everyone, the UI will be straight-forward and easy to follow, and by UGE (the final project), should be able to more-easily edit models with :)

but as for now, UMC is still a WIP, I'm still having major issues with model conversion, or this thing would be closer to a release.
 

Blueblue105

Smash Rookie
Joined
Feb 6, 2015
Messages
10
When trying to place objects and polygons from one character to another (Mario's hat onto Sonic) do i import those new objects into the file in brawlbox first and then iport into 3ds max or do i bring the model into 3ds max first and then import the new objects?
 

Blueblue105

Smash Rookie
Joined
Feb 6, 2015
Messages
10
I understand its just that what i did was that I imported an ike model into 3ds and i wanted to build upon it. I then imported armor parts from a custom link costume with magic armor and placed over Ike's feet as well as the helmet part for a mewtwo costume with him in his armor. I then exported the newly edited Ike model as a DAE and tried reimporting it into Brawlbox but it said it couldn't. Is there something I'm missing?
 
Top Bottom