Shenmue/2 Models

Post questions about game models here, or help out others!
Post Reply
jwrayth
ultra-n00b
Posts: 2
Joined: Wed Sep 12, 2007 6:15 pm

Shenmue/2 Models

Post by jwrayth » Thu Sep 13, 2007 10:22 am

Sorry, realised I posted this in the wrong forum >_<

Basically, I was wondering if anyone has any interest in ripping hte models from the game Shenmue, for the Sega Dreamcast.

I've done some examination of the format (MT5 for Shenmue 1, MT7 for Shenmue 2).

The Texture Data is stored at the end of the file, and is relativly easy to rip (as has been done before). Otherwise, I'm a bit lost as to analysing the files.

I've hosted two MT7 files on my website, for you guys to take a look :)

http://www.ninja-penguin.com/RYO_B.MT7
http://www.ninja-penguin.com/RYO_M.MT7

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Post by fatduck » Thu Sep 13, 2007 11:31 pm

I am always looking for someone interested in console game who would like to share, so let me start my findings first:

The format looks like a tag/section based. the first tag/section is:

Code: Select all

dword       MDC7	     //section header
dword       sizeMDC7       //size of this section
dword       ofs_1             //offset of ??
dword       nTex

struct TextureData {
 word        nTexW
 word        nTexH
 word        ??
 word        ?? 
 dword      ofsSize
 dword      nIdx
} TextureData[nTex]

struct UknTexData {
 dword      ??
 dword      ??
} UknTexData[nTex]

dword       nData
struct UknData {
 dword      ofsData          //No sure if they are offset
} UknData[nData]

* Now should be in the location where ofs_1 pointing at!
0x40 bytes unknown
Then inside the section, there are many "MDC7"(sub section?)
"WVTX" should be the vertices data
"WEVL" looks like skin weight

jwrayth
ultra-n00b
Posts: 2
Joined: Wed Sep 12, 2007 6:15 pm

Post by jwrayth » Fri Sep 14, 2007 9:35 am

Thats really nice work :) I wasn't expecting a response so fast! I'll have to get some time over the weekend to follow up with this some more.

fatduck
mega-veteran
mega-veteran
Posts: 315
Joined: Wed Aug 02, 2006 10:07 pm
Has thanked: 10 times
Been thanked: 93 times

Post by fatduck » Fri Sep 14, 2007 11:08 pm

Yet more findings for the following "MDC7" section:

Code: Select all

char[4]       subheader     // MDC7
float X16     matrix4X4     //typical transformation data

* dword      uknCount1      //if this one is zero, an extra 0x00000000 follow
struct uknData1 {
  dword      ??
  dword      ??
} uknData1[uknCount1]

* Sometime another sub-section start here, like WVTX etc
or:
dword        uknCount2
struct uknData2 {
  dword       ??
  float X 7   ??                 //This 7 float look like posXYZ and quatXYZW
} uknData2[uknCount2]

* Sometime another sub-section start here as well
or:
dword         ??

float X 3     ??                 // \ 
float X 3     ??                 //  This 3 sets of float look like colorRGB data? 
float X 3     ??                 // / 
dword X 6     ??
So I guess each MDC7 section is actually an object, maybe a dummy object for hit point, special effects etc

mariokart64n
ultra-veteran
ultra-veteran
Posts: 567
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 34 times
Been thanked: 200 times

Post by mariokart64n » Sat Sep 15, 2007 3:51 am

wow, fatduck, your really good at this stuff. :mrgreen: have you taken a look into any xbox360 model files, they primarily use triangle strips.

Post Reply