Important information: this site is currently scheduled to go offline indefinitely by end of the year.

MvC3 .DOM Model Format

Post questions about game models here, or help out others!
VILE
advanced
Posts: 46
Joined: Wed Mar 02, 2011 9:28 am
Been thanked: 1 time

MvC3 .DOM Model Format

Post by VILE »

http://www.mediafire.com/?m3vql7k7pf7nqvm

The linked file is Spiderman's .DOM 3d model file.

Any info or help would be appreciated.
VILE
advanced
Posts: 46
Joined: Wed Mar 02, 2011 9:28 am
Been thanked: 1 time

Re: MvC3 .DOM Model Format

Post by VILE »

Out of curiosity, has anyone actually had a look at this file yet?
chrrox
Moderator
Posts: 2602
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1422 times

Re: MvC3 .DOM Model Format

Post by chrrox »

I already pm'd you about this file type. All the main contibuters have looked at this and are stuck as i am. The format for the vertex points is simple the faces are not. If you can not read this simple model structure there is no way you could decode the faces.
Ninja
veteran
Posts: 84
Joined: Sat Feb 26, 2011 3:44 am
Has thanked: 1 time
Been thanked: 20 times

Re: MvC3 .DOM Model Format

Post by Ninja »

So what is the approx 3.5k triangle list at the end of the file?
The values (big endian) suggest 4.8k vertices, which seem about right, it's what i'd look for in a simple format.
The 03 at the beginning of the list throws the list off by one so you might be loking at something other than pure triangles, triangle strips maybe.
chrrox
Moderator
Posts: 2602
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1422 times

Re: MvC3 .DOM Model Format

Post by chrrox »

that is the problem the faces do not work and it is tri strip.
youll notice the stride in some models works fine mainly the helpers but the stride is off on all main characters and the faces do not work at all.
Ninja
veteran
Posts: 84
Joined: Sat Feb 26, 2011 3:44 am
Has thanked: 1 time
Been thanked: 20 times

Re: MvC3 .DOM Model Format

Post by Ninja »

closer inspection shows if you start at the 03 (offset 609212 <- decimal) you run into triangles with repeated vertices,, same if you start with the 02 next to it.

Offsets for each 'triangle strip'?
That would account for the extra 2 bytes (1/3 of a triangle) if you jumped into the middle of the triangle data. And I know it sounds stupid, but maybe they needed to preserve some order to the triangles and not to the vertex data, for whatever daft reason.
Either that or they intentionally placed extra bytes in there to screw the order up.
Weirdness.!!!
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: MvC3 .DOM Model Format

Post by MrAdults »

There is associated data nearer the beginning of the file that matches the "index" data, it seems likely that it's used to decode and/or define run offsets and run lengths for the provided indices. However, I haven't been able to make any sense of it, without being able to debug the game. You can tell right off the bat that the raw indices do not cover the necessary range of vertices, though, regardless of how you treat them.
Ninja
veteran
Posts: 84
Joined: Sat Feb 26, 2011 3:44 am
Has thanked: 1 time
Been thanked: 20 times

Re: MvC3 .DOM Model Format

Post by Ninja »

Looked at that data near the beginning, see what you mean.
Obviously not triangles then, can't see any 3D compression to them either.

Code: Select all

202 - ??
102 - ??
34  - number of objects/bones??
12  there are 12 obvious names at offset 16080
12237  ???
10360   10360 vertex numbers for triangle data at end.
17762  ???
285392 - number of bytes in this data (no fixed length - ie NOT 20 bytes per field)
0
0
0
6
0
128     chunk? must be....
15888   nuffer chunk
16080   names? materials? 12 of these
17616   nuffer chunk
323820  chunk - 285392 bytes long (equal to last number in above data)                               
609212 triangle list thing = 20720 bytes or 10360 vertex numbers
shadowmoy
veteran
Posts: 153
Joined: Sat Feb 21, 2009 2:29 pm
Has thanked: 19 times
Been thanked: 43 times

Re: MvC3 .DOM Model Format

Post by shadowmoy »

ninja> i don't think mradult speak of thoses values , you are just giving the header values here ^^

also from my latest look on the mesh format it appears that it use morph targets on the charcter face, maybe also on some other parts so this may be a why we can't actually get the vertexcount to match the index count as a morph target use the same indices all the time ....

hope it can help :D
_-=<(¯`·._.·[ CodeMan ]·._.·´¯)>=-_
VILE
advanced
Posts: 46
Joined: Wed Mar 02, 2011 9:28 am
Been thanked: 1 time

Re: MvC3 .DOM Model Format

Post by VILE »

http://www.mediafire.com/?c52lb7jkp4bgzsj

Well here is a dump of what I believe to be Spiderman's raw vertex and face data. How exactly do I read the vertices?
chrrox
Moderator
Posts: 2602
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1422 times

Re: MvC3 .DOM Model Format

Post by chrrox »

the verts are just signed short values
VILE
advanced
Posts: 46
Joined: Wed Mar 02, 2011 9:28 am
Been thanked: 1 time

Re: MvC3 .DOM Model Format

Post by VILE »

http://www.mediafire.com/?lsx0me2msso13r3

That is the new dump (including the vertex conversions). I'm not sure if I have the right data, the vert positions are so big :S
VILE
advanced
Posts: 46
Joined: Wed Mar 02, 2011 9:28 am
Been thanked: 1 time

Re: MvC3 .DOM Model Format

Post by VILE »

Image

Getting somewhere now. Why aren't all the vertices in there though?
logansan25
veteran
Posts: 138
Joined: Mon Oct 04, 2010 1:15 am
Has thanked: 5 times
Been thanked: 3 times

Re: MvC3 .DOM Model Format

Post by logansan25 »

whoaaaaaaaaaa!!!!!! Very nice Vile!!!!!!!!!!!!
Ninja
veteran
Posts: 84
Joined: Sat Feb 26, 2011 3:44 am
Has thanked: 1 time
Been thanked: 20 times

Re: MvC3 .DOM Model Format

Post by Ninja »

VILE wrote: Getting somewhere now. Why aren't all the vertices in there though?
More than 34 objects?
or there are 34 objects and you haven't used the correct number of vertices?
(Your ankles end abruptly)

Also that 'face' data is unsigned shorts not bytes.
Post Reply