Hi, someone can check this models game format please? I've found a tool to extract all
Is "msh", any chance to have an importer? thank you in advance
https://www.mediafire.com/file/u8zjia0e ... 8.msh/file
The Forum is up for sale: XeNTaX Forum looking for new owner
AO Tennis
- shakotay2
- MEGAVETERAN

- Posts: 4231
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1139 times
- Been thanked: 2222 times
Re: AO Tennis
using hex2obj (view link in my sig) for creating a point cloud:
. Looks promising but that's all. Using more points (31442) doesn't give better results. Face indices (01000000 skipped) don't fit, too.
Maybe another vertex start address to be used?
0x0 500
Vb1
48 99
0xA4 31442
020000
0x0 255
. Looks promising but that's all. Using more points (31442) doesn't give better results. Face indices (01000000 skipped) don't fit, too.
Maybe another vertex start address to be used?
0x0 500
Vb1
48 99
0xA4 31442
020000
0x0 255
You do not have the required permissions to view the files attached to this post.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
- Bigchillghost
- double-veteran

- Posts: 1002
- Joined: Tue Jul 05, 2016 9:37 am
- Has thanked: 31 times
- Been thanked: 1171 times
Re: AO Tennis
The structure seems simple:
But I doubt there're any explicit face indices. Probably a different kind of implicit storage.
Code: Select all
long Signature
long Cnt1
long EntryOffset // relative to the offset of this field
long EntryCnt
long VertDataOffset // relative to the offset of this field
long VertDataSize
long StringEntryOffset // relative to the offset of this field
long stringNum
long subMeshEntryOffset // relative to the offset of this field
long subMeshCnt
long unknownCnt //
for i = 0 < EntryCnt // sizeof = 16
char AttrName[12]
word DataBlockID?
word VecSize?
for i = 0 < Vcount // sizeof = 48
float Position[3]
word unknown[2]
float Normal[3]
long NULL
float Tangent[3]
word unknown[2]
for i = 0 < stringNum // sizeof = 24
long stringOffset // relative to the offset of this field
long unknown[5]
for i = 0 < subMeshCnt // sizeof = 12
long stride
long subMeshVcount
long unknownOffset
for i = 0 < unknownCnt // sizeof = 8
long vertIdx
long x1
for i = 0 < unknownCnt // sizeof = 16
byte unknown[16]
for i = 0 < stringNum
string aString
You do not have the required permissions to view the files attached to this post.
May you find peace in this puzzle-solving game.
when you get helped.
- An Imitable Workflow for Reverse Engineering a Game Model
- Advanced Mesh Reaper
- Reverse Model Wireframe
when you get helped.