Need Help with a certian .msh type file
Need Help with a certian .msh type file
Ok it is not just your avarage .msh(mesh) its somehow in coded, a friend of mine built a proggie that can see this type of mesh file. But i can't get it in an editable format.
I am hoping someone here might be able to help.
I added one of the files.
Thanks.
Attachment:
http://www.speedyshare.com/797886501.html
I am hoping someone here might be able to help.
I added one of the files.
Thanks.
Attachment:
http://www.speedyshare.com/797886501.html
Last edited by jocsive on Sat Aug 04, 2007 10:35 pm, edited 1 time in total.
-
fatduck
- mega-veteran

- Posts: 315
- Joined: Wed Aug 02, 2006 10:07 pm
- Has thanked: 10 times
- Been thanked: 93 times
the format should be quite easy, OGRE variation. I have a quick look (less than 10 min) and get this:
Hope this help!
Hope this help!
Code: Select all
char[3] header //MSH
dword nFaces //Face count
word nmtl //Material count
struct face {
byte X 3 uknByte //should be 1 byte for each vert
dword X 3 uknLong //should be 1 value for each vert
float X 3 vert1 //position x, y, z
float X 3 vert2 //position x, y, z
float X 3 vert3 //position x, y, z
float X 2 uv1 //texture coordinate u, v
float X 2 uv2 //texture coordinate u, v
float X 2 uv3 //texture coordinate u, v
float X 3 norl1 //normal x, y, z ?
float X 3 norl2 //normal x, y, z ?
float X 3 norl3 //normal x, y, z ?
float X 3 ??
float X 3 ??
float X 3 ??
} face[nFaces]
struct Material {
float X 3 colAmbient //color r g b
float X 3 colDiffuse //color r g b
float X 3 colSpecular //color r g b
char[] textureName
dword ukn
byte X 8 ukn2
}
-
fatduck
- mega-veteran

- Posts: 315
- Joined: Wed Aug 02, 2006 10:07 pm
- Has thanked: 10 times
- Been thanked: 93 times
jocsive, It is better to upload the files here so more people can take a look at those! I do it for you this time!
And here are the format. Same that I didn't spent too much time on them so I'm not sure how far I have got!
And here are the format. Same that I didn't spent too much time on them so I'm not sure how far I have got!
Code: Select all
.ani should be animation file
char[3] header //ANI
dword nFrames //Frames count / ?? not sure maybe Bones
dword nBones //Bones count \ ?? not sure maybe Frames
struct translation {
float X 3 PosXYZ
float X 4 QuatXYZW
} // total nBones * nFrames
Code: Select all
.abx is mesh file use vertices deform for animation
char[3] header //AX2
dword nFrames //Framescount
dword nVerts //Verts count
struct Vertpool {
float X 7 ??
} Vertpool[nVerts]
dword ukn //0xFFFFFFFF ?? terminator
struct faceIndex {
dword //maybe tri-strip ?? don't know the face count
}
Code: Select all
I don't know what mbx is?
char[3] header //MX2
dword ??
dword nukn //unknown count
byte ??
struct Section1 {
dword ??
dword ??
float ??
} Section1[nukn]
struct Section2 {
float X 3 ??
} Section2[nukn]
dword nukn2 //unknown count 2
struct Section3 {
float X 3 ??
} Section3[nukn2]
dword nukn3 //unknown count 3
struct Section4 {
float X 2 ??
} Section4[nukn3]
dword nukn4 //unknown count 4
struct Section4 {
dword ntxt //length of texture's name
char[ntxt] stex //texture's name
byte X 72 ??
} Section4[nukn3]
You do not have the required permissions to view the files attached to this post.
Its .mbx, i attached that model.
I need help with why the man is not displaying, he had animation on him in the game and the cart does'nt so it appers. What we are trying to do is get the man to apper.
The game is called thang online, http://www.thang.ongameport.com
I need help with why the man is not displaying, he had animation on him in the game and the cart does'nt so it appers. What we are trying to do is get the man to apper.
The game is called thang online, http://www.thang.ongameport.com
You do not have the required permissions to view the files attached to this post.
Ok my friend made up this info about the file. This is the file you see in the image, which is .mbx.
even though he can read the "faces" the bits that have some animation points or animation come out like a meatball.
Here is some info about the file
I attached the info about the file and the file in a rar.
I greatly appreciated your help.
here are some download links for the file
http://sharebee.com/b5d6b31d
mirror - http://www.speedyshare.com/654768453.html[/code]
even though he can read the "faces" the bits that have some animation points or animation come out like a meatball.
Here is some info about the file
Code: Select all
MBX version 1 INFO
char[3] header //MX1
dword X 6 ??
byte X 1 ??
dword nFaces //Face count
struct face {
dword ntxt //length of texture's name
char[ntxt] stex //texture's name
dword X 3 ??
float X 2 uv1 //texture coordinate u, v
float X 2 uv2 //texture coordinate u, v
float X 2 uv3 //texture coordinate u, v
float X 3 ??
float X 3 ??
float X 3 ??
float X 3 norl1 //normal x, y, z
float X 3 norl2 //normal x, y, z
float X 3 norl3 //normal x, y, z
float X 3 vert1 //position x, y, z
float X 3 vert2 //position x, y, z
float X 3 vert3 //position x, y, z
} face[nFaces]
------------------------------------------------------------------
MBX version 2 INFO
char[3] header //MX2
other than that... format unknown... :-\I greatly appreciated your help.
here are some download links for the file
http://sharebee.com/b5d6b31d
mirror - http://www.speedyshare.com/654768453.html[/code]
You do not have the required permissions to view the files attached to this post.
-
fatduck
- mega-veteran

- Posts: 315
- Joined: Wed Aug 02, 2006 10:07 pm
- Has thanked: 10 times
- Been thanked: 93 times
I did a quick test on that cart.mbx. And I'm sure that there are no animation or the man inside! They must be in separate files!
and the whole MX1 format should be like this!
and the whole MX1 format should be like this!
Code: Select all
char[3] header //MX1
float X 6 bbox //bounding box [x,y,z] [x,y,z]
byte X 1 padbyte //no use??
dword nFaces //Face count
struct face {
dword nshd //length of shader name
char[nshd] sshd //shader name
dword X 3 boneidx //Bone index(should have external bones file as well)
float X 2 uv1 //texture coordinate u, v
float X 2 uv2 //texture coordinate u, v
float X 2 uv3 //texture coordinate u, v
float X 3 vc1 //Vert color r g b
float X 3 vc2 //Vert color r g b
float X 3 vc3 //Vert color r g b
float X 3 norl1 //normal x, y, z
float X 3 norl2 //normal x, y, z
float X 3 norl3 //normal x, y, z
float X 3 vert1 //position x, y, z
float X 3 vert2 //position x, y, z
float X 3 vert3 //position x, y, z
} face[nFaces]
Hello fatduck,
I made the neat little app the above screenshot made of
and trying to solve the mysteries of these files aswell. My progress is greatly slowed that i'm a novice at 3D coding (trying in Delphi+GLScene)
The MX1 format description you made is great, i would never guessed the bounding box and vert colors but i was about to post about the skeletal info - just solved that mystery over the weekend. Atm i'm into reading how to handle that in GLScene
About the skeleton info i think its in the ABX files - which has 2 versions aswell. I had not much time to look into it but at first sight the AX1 file looks pretty similar to AX2, except i think the "faceIndex" can be the "skeletal structure" parent-child relation... thats only a guess though. I added the animation file of the cart.mbx to this post for viewing.
I think there was a developer change at some point and the new developer added these new formats. I kinda can tell which update introduced the version 2 files
Thanks for all the help you gave it really helped a LOT
I made the neat little app the above screenshot made of
The MX1 format description you made is great, i would never guessed the bounding box and vert colors but i was about to post about the skeletal info - just solved that mystery over the weekend. Atm i'm into reading how to handle that in GLScene
About the skeleton info i think its in the ABX files - which has 2 versions aswell. I had not much time to look into it but at first sight the AX1 file looks pretty similar to AX2, except i think the "faceIndex" can be the "skeletal structure" parent-child relation... thats only a guess though. I added the animation file of the cart.mbx to this post for viewing.
I think there was a developer change at some point and the new developer added these new formats. I kinda can tell which update introduced the version 2 files
Thanks for all the help you gave it really helped a LOT
You do not have the required permissions to view the files attached to this post.
-
fatduck
- mega-veteran

- Posts: 315
- Joined: Wed Aug 02, 2006 10:07 pm
- Has thanked: 10 times
- Been thanked: 93 times
This cart_stand001.abx is a mesh with vertices animation
The AX1 format is the same as AX2 except the faces are build with triangles (3 verts per face)
The AX1 format is the same as AX2 except the faces are build with triangles (3 verts per face)
Code: Select all
char[3] header //AX1
dword ukn //??
dword nFrames //Frames count
dword nVerts //Verts count
struct FrameMeshVerts {
struct Vertpool {
float X 3 //position xyz
dword ?? //not sure if it is dword
float ??
dword ?? //not sure if it is dword
float ??
} Vertpool[nVerts]
} FrameMeshVerts[nFrames]
dword ukn //0xFFFFFFFF ?? terminator
struct face {
dword idx1
dword idx2
dword idx3
}There are more than 3 dwords after the FFs... are you sure its not like the *.ani files?
My guess is something like this:
My guess is something like this:
Code: Select all
char[3] header // AX1
dword padding // always 0s?
dword nFrames // Frames count
dword nBones // Bones count
struct animation {
struct translation {
float X 3 PosXYZ
float X 4 QuatXYZW
} translation[nBones]
} animation[nFrames]
dword ?? // seems to be FFFFFFFF all the time...
struct boneidx {
dword pBone // my guess this is the bone structure
} boneidx[nBones]

