I've succesfully extracted the S7 models (lol)
but i'm lost on importing 'em
they seems more like an xml file than a real meshes file so i'm here asking for help
help
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Settlers 7 Models help
-
- n00b
- Posts: 16
- Joined: Mon Aug 29, 2011 8:01 pm
- Has thanked: 8 times
Settlers 7 Models help
You do not have the required permissions to view the files attached to this post.
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Settlers 7 Models help
Yes, the xml file is indeed extensible markup language. It is just defining materials; not too special.
Format doesn't look too bad. Only took a quick glance though. Although I say it doesn't look too bad, chances of figuring it out 100% and re-importing, can't say.
There seems to be some chunk tags, but didn't verify. Probably not a chunk-based format; they just decided to throw in random tags and random stuff after it.
The outline looks like this:
Some of them have the tag, some of them don't. The tag appears after an integer, and I see VST0, VST1, and VST2. Maybe it just indicates what type of vertex information you're looking at.
Might code something up later to see if my guesses are accurate.
Or maybe someone that's looking for practice can get around to it.
Now, what did you use to extract them?
Format doesn't look too bad. Only took a quick glance though. Although I say it doesn't look too bad, chances of figuring it out 100% and re-importing, can't say.
There seems to be some chunk tags, but didn't verify. Probably not a chunk-based format; they just decided to throw in random tags and random stuff after it.
The outline looks like this:
Code: Select all
header
textures
vertices section
another vertices section
more vertex related
faces (bunch of indices)
Bones
Might code something up later to see if my guesses are accurate.
Or maybe someone that's looking for practice can get around to it.
Now, what did you use to extract them?
-
- n00b
- Posts: 16
- Joined: Mon Aug 29, 2011 8:01 pm
- Has thanked: 8 times
Re: Settlers 7 Models help
s7bbaex which coming from here (should be 1.1 but i'm not sure)
written by TheMachine
I've been at your conclusion too, maybe it's just so easy, and it's a 3D ascii file (maybe a directX file), but i'm not so good hex file reading/converting, that's why i'm looking for some ninja which are good to extract the correct vertex/face index.. after that, i think someone can made an importer shouldn't be a problem... maybe with 3dsmax script
written by TheMachine
I've been at your conclusion too, maybe it's just so easy, and it's a 3D ascii file (maybe a directX file), but i'm not so good hex file reading/converting, that's why i'm looking for some ninja which are good to extract the correct vertex/face index.. after that, i think someone can made an importer shouldn't be a problem... maybe with 3dsmax script
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Settlers 7 Models help
No lol it's not ascii nor is it directx.
It's just less confusing than the more complicated formats.
Post more samples of varying sizes, from small ones to slightly larger ones.
I can't tell much from the same file (although there are 4, it's basically the same thing)
It's just less confusing than the more complicated formats.
Post more samples of varying sizes, from small ones to slightly larger ones.
I can't tell much from the same file (although there are 4, it's basically the same thing)
-
- n00b
- Posts: 16
- Joined: Mon Aug 29, 2011 8:01 pm
- Has thanked: 8 times
Re: Settlers 7 Models help
The contents of this post was deleted because of possible forum rules violation.
-
- ultra-n00b
- Posts: 1
- Joined: Sun Nov 14, 2010 11:28 am
Re: Settlers 7 Models help
so any news on it , is there anyway to modify them , or use custom made models
- TaylorMouse
- ultra-veteran
- Posts: 348
- Joined: Mon Sep 26, 2011 12:51 pm
- Has thanked: 11 times
- Been thanked: 89 times
Re: Settlers 7 Models help
Can't seem to download s7bbaex.
Can anyone help.
I dl the file, checking it right now
T.
Can anyone help.
I dl the file, checking it right now
T.
Re: Settlers 7 Models help
Settler 7 uses the Vision Engine (http://en.wikipedia.org/wiki/Vision_%28game_engine%29) as you can se there, "Orc Must Die!" uses this engine too.
so perhapse the model import script for noesis works also with the settler 7 models?
so perhapse the model import script for noesis works also with the settler 7 models?
- TaylorMouse
- ultra-veteran
- Posts: 348
- Joined: Mon Sep 26, 2011 12:51 pm
- Has thanked: 11 times
- Been thanked: 89 times
Re: Settlers 7 Models help
delium wrote:Settler 7 uses the Vision Engine (http://en.wikipedia.org/wiki/Vision_%28game_engine%29) as you can se there, "Orc Must Die!" uses this engine too.
so perhapse the model import script for noesis works also with the settler 7 models?
Naa, already tried that :/
T.
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Settlers 7 Models help
I couldn't figure it out with just one model sample. Three were included in the folder but they're just LOD's and basically the same thing.
-
- veteran
- Posts: 106
- Joined: Wed Apr 25, 2012 12:27 pm
- Has thanked: 9 times
- Been thanked: 34 times
Re: Settlers 7 Models help
I'm interested in a .s7m to obj/3ds-Converter. I've upload 4 more models for you.finale00 wrote:I couldn't figure it out with just one model sample. Three were included in the folder but they're just LOD's and basically the same thing.
1 Unit, 1 Animal, 2 Buildings- if you need more models, let me know.
models.rar (Download-Button is the small one in the center of the page)
Last edited by Sammie on Tue Aug 14, 2012 11:04 pm, edited 2 times in total.
- TaylorMouse
- ultra-veteran
- Posts: 348
- Joined: Mon Sep 26, 2011 12:51 pm
- Has thanked: 11 times
- Been thanked: 89 times
Re: Settlers 7 Models help
I have the settlers 7, so could you upload the s7bbaex extracter so i can do the extraction of the bba file myself. Thnx
T.
T.
- TaylorMouse
- ultra-veteran
- Posts: 348
- Joined: Mon Sep 26, 2011 12:51 pm
- Has thanked: 11 times
- Been thanked: 89 times
Re: Settlers 7 Models help
Char[4] -> S7MF
UInt32 -> Version Minor
UInt32 -> Major Version
Pos 52 -> Length of the names -2
Pos 65 -> start of the names of the maps, textures and the name of the object devided by \0
Don't seem to find the offset of VST0, VST1 and VST2
The UInt32 just in front of VST is always 24
and the number befor that is (I think) a UInt32 that contains the number of vertices..
Weird... could it be compressed ???
in the list there are a lot of NaN ( Not A Number) ???
T.
UInt32 -> Version Minor
UInt32 -> Major Version
Pos 52 -> Length of the names -2
Pos 65 -> start of the names of the maps, textures and the name of the object devided by \0
Don't seem to find the offset of VST0, VST1 and VST2
The UInt32 just in front of VST is always 24
and the number befor that is (I think) a UInt32 that contains the number of vertices..
Weird... could it be compressed ???
in the list there are a lot of NaN ( Not A Number) ???
T.
Last edited by TaylorMouse on Sun Aug 12, 2012 10:19 pm, edited 1 time in total.
-
- veteran
- Posts: 106
- Joined: Wed Apr 25, 2012 12:27 pm
- Has thanked: 9 times
- Been thanked: 34 times
Re: Settlers 7 Models help
Download: s7bbaex.rarTaylorMouse wrote:I have the settlers 7, so could you upload the s7bbaex extracter so i can do the extraction of the bba file myself. Thnx
T.
-
- M-M-M-Monster veteran
- Posts: 2382
- Joined: Sat Apr 09, 2011 1:22 am
- Has thanked: 170 times
- Been thanked: 307 times
Re: Settlers 7 Models help
I think it is a chunk-based format, where each chunk is 16-byte aligned.TaylorMouse wrote:Char[4] -> S7MF
UInt32 -> Version Minor
UInt32 -> Major Version
Pos 52 -> Length of the names -2
Pos 65 -> start of the names of the maps, textures and the name of the object devided by \0
Don't seem to find the offset of VST0, VST1 and VST2
The UInt32 just in front of VST is always 24
and the number befor that is (I think) a UInt32 that contains the number of vertices..
Weird... could it be compressed ???
in the list there are a lot of NaN ( Not A Number) ???
T.
I think it should be parsed sequentially, remembering to pad the end of each chunk appropriately.
First you start by reading in the texture names, then you read the VST0, then VST1, maybe VST2, followed by a bunch of indices.
Code: Select all
short[2] chunkID, ?
int chunksize
int structsize
char[4] chunktag
Then you read 26808 bytes, followed by some padding. Note that in the header at offset 12 you get the vert count 1117, and that * 24 = 26808.
Then you read another two shorts, followed by 4468 chunk size, a 4 for struct size, then VST1.
Read in 4468 bytes, then you see more 0 padding to the next 16 bytes. Again, vert count of 1117 * 4 = 4468.
Repeat for VST2. 8936 / 8 = 1117.
Afterwards, there's a chunk with no ID (1st short is a 1), but if we follow the pattern and pad the chunk, we'll come to the next chunk (1st short is a 4), which doesn't have a chunk ID either but you can see that it follows the same chunk struct and this one holds a bunch of indices.
7206 chunk size for faces, short per index, and 7206 / 2 = 3603, which is the integer right after the vert count, so there's your index count.
It might be using half-floats to store a lot of data, I don't know.
The fact that a couple structs aren't following the chunk struct might mean they just hardcode it as TexNames, VST0, VST1, VST2, unk, faces
EDIT:
Ok ya it's a chunk-based format.
The 4-char tag is not really important.
The first short is the chunk type:
1 - VST0
2 - VST1
3 - VST2
4 - faces
5 - that VBIN chunk, skeleton or whatever "Shadow" could refer to
6 - textures
7 - small chunk, not sure
16-byte aligned
Code: Select all
def seek_padding(self, size):
''' 16-byte chunk alignment'''
pad = (16 - (size % 16)) % 16
self.inFile.seek(pad, 1)
def parse_file(self):
'''Main parser method'''
idstring = self.inFile.readBytes(4)
unk, unk, numVerts, numIdx = self.inFile.read('4L')
self.inFile.read('2H')
self.inFile.read('6f')
# chunk based parsing
while not self.inFile.checkEOF():
chunkType, unk = self.inFile.read('2H')
chunkSize = self.inFile.readUInt()
structSize = self.inFile.readUInt()
chunkID = noeStrFromBytes(self.inFile.readBytes(4))
if chunkID == 1:
self.parse_VST0(structSize)
elif chunkID == 2:
self.parse_VST1(structSize)
elif chunkID == 3:
self.parse_VST2(structSize)
elif chunkID == 4:
self.parse_faces(numIdx)
else:
self.inFile.seek(chunkSize, 1)
self.seek_padding(chunkSize)
print(chunkType, chunkSize, chunkID)