The Forum is up for sale: XeNTaX Forum looking for new owner

World of Tanks Map format.

Post questions about game models here, or help out others!
SkaceKachna
advanced
Posts: 66
Joined: Thu Jan 14, 2016 11:32 am
Has thanked: 9 times
Been thanked: 19 times

Re: World of Tanks Map format.

Post by SkaceKachna »

Regarding the dds files, they are probably inside the BIN file, but I wasn't able to match any part of any existing dds file inside. I'm guessing they're probably compressed or in different format.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

SkaceKachna wrote:Regarding the dds files, they are probably inside the BIN file, but I wasn't able to match any part of any existing dds file inside. I'm guessing they're probably compressed or in different format.
Yes.. I just looked to and there is nothing under misc/maps/spots/ but one folder "tankOcclusion"

So.. they have packed the DDS files in to this bin as well some how.
I'll search the file for DDS headers and see if I can find some.
Well.. DDS(space) is the header and I cant find it so Im assuming its stripped or the files are scrambled.

This is a nightmare.
I'd love to change the world but I can't get my hands on the code.
SkaceKachna
advanced
Posts: 66
Joined: Thu Jan 14, 2016 11:32 am
Has thanked: 9 times
Been thanked: 19 times

Re: World of Tanks Map format.

Post by SkaceKachna »

You can still find them (the textures) in shared_content_sandbox.pkg if you want to do some tests
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

so maybe the textures are not stored in the space.bin

I can't figure this out.
There is one huge chunk called BWSG and it has table after table after table in it.
I'd love to change the world but I can't get my hands on the code.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

I have been working with Ensk because its small in size
This data is from the start of BWSG ..
It has the same general format at the start of all tables in the data.

OK.. this works for "BWST"
You do not have the required permissions to view the files attached to this post.
Last edited by Coffee on Wed Jan 20, 2016 4:56 pm, edited 7 times in total.
I'd love to change the world but I can't get my hands on the code.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

The first entry in the above hex is the length of each entry in THIS table.
The 2nd is the number of entries in the THIS table and the 3rd is the total length of the table.

The first actual entry in the table is the offset from the start of the string table.
The 2nd int32 is the length of the string. (all strings are terminated with 0 but are not included in the length of the string)
The 3rd number is the one that I am confused about.
It can not be a pointer in to the data. Its to large.

Here is an image of the string section.. the Highlighted section is 52 hex in length. You can see the 0 terminator at the end of the string.
You do not have the required permissions to view the files attached to this post.
I'd love to change the world but I can't get my hands on the code.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

The table below is the table right after the string table.
I deleted the first 2 int32s to align the data for viewing.
Whats it all mean???
You do not have the required permissions to view the files attached to this post.
Last edited by Coffee on Mon Jan 18, 2016 10:32 pm, edited 2 times in total.
I'd love to change the world but I can't get my hands on the code.
User avatar
ShadowHunterRUS
n00b
Posts: 17
Joined: Wed Jan 13, 2016 11:04 am
Location: Russia
Has thanked: 9 times
Been thanked: 5 times

Re: World of Tanks Map format.

Post by ShadowHunterRUS »

What it is?
Снимок экрана (172).png
0xffffffff is not float-like bytes...
You do not have the required permissions to view the files attached to this post.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

You are probably outside that data chunk..
Let me look at its length.
If you do the math...
There are 4584 entries in the 1st table. Each is 64 bytes long. (16 floats)
Add 8 to this for the data length and the count at the very beginning we get 0x74A08
This is the start of the 2nd table in the data.
At the start of this table is the length of the data type.. It this case its 8. next is the number of entries.
0x11e8 = 4584... the same count as there are matrices.
So 4584 * 8 + 8 = 36680 = 0x8f48.
0x8f48 + 0x74a08 = 0x50950 (the start of the 3rd table)
The 3rd table starts with 0x04 (4 bytes per data item).. the 2nd int32 = 0x11e8 = 4584 (same as the other tables)
(4584 *4) + 8 = 0x47a8 = 18344
0x50950 + 0x47a8 = 0x550f8 (start of 4th table) This is the start of the data you posted a image of.
The 1st table are matrices.
The 2nd table I have no idea what its data means.
The 3rd table I also have no idea but looks like index numbers. The highest number I can find is 1cd or 461.
the 4th and last table also makes no sense.. All 0xffffffff
Last edited by Coffee on Mon Jan 18, 2016 10:06 pm, edited 4 times in total.
I'd love to change the world but I can't get my hands on the code.
User avatar
ShadowHunterRUS
n00b
Posts: 17
Joined: Wed Jan 13, 2016 11:04 am
Location: Russia
Has thanked: 9 times
Been thanked: 5 times

Re: World of Tanks Map format.

Post by ShadowHunterRUS »

Снимок экрана (176).png
You do not have the required permissions to view the files attached to this post.
User avatar
ShadowHunterRUS
n00b
Posts: 17
Joined: Wed Jan 13, 2016 11:04 am
Location: Russia
Has thanked: 9 times
Been thanked: 5 times

Re: World of Tanks Map format.

Post by ShadowHunterRUS »

End of BSMI block:
Снимок экрана (177).png
You do not have the required permissions to view the files attached to this post.
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

Each table in the main header table list seem to be made of smaller tables.
I am not sure ALL tables are like this.
Also.. Some tables do not list the total size of the data.

There has to be a way to re-assemble these tables in to meaningful data.

Ensk is a small map. It is made of 8 x 8 chunks if I remember right. 600m x 600m is the map playable area. Each grid on the minimap is 60m.
This data should contain what chunk each item belongs to. This is how it was done before and each chunks location had to be added to any items translation to position it correctly. I cant dint this information but...
Looking at the transform numbers, they may already be transformed by the chunks location.
I'd love to change the world but I can't get my hands on the code.
User avatar
ShadowHunterRUS
n00b
Posts: 17
Joined: Wed Jan 13, 2016 11:04 am
Location: Russia
Has thanked: 9 times
Been thanked: 5 times

Re: World of Tanks Map format.

Post by ShadowHunterRUS »

Coffee wrote:The 2nd table I have no idea what its data means.
The 3rd table I also have no idea but looks like index numbers. The highest number I can find is 1cd or 461.
the 4th and last table also makes no sense.. All 0xffffffff
Sadly...
User avatar
Coffee
ultra-veteran
ultra-veteran
Posts: 518
Joined: Thu Aug 06, 2015 5:57 pm
Has thanked: 74 times
Been thanked: 205 times

Re: World of Tanks Map format.

Post by Coffee »

I dumped the matrices for BSMI in to a text file.
http://209.159.152.184:8080/junk/BSMI.txt

Here is a section of it.
You can see that the transforms (last row) is clearly larger than 100. This means the transforms will work with out knowing what grid they are sitting on.

Code: Select all

index:0000
	000.83525700	000.00000000	000.00000000	000.00000000
	000.00000000	000.83525700	000.00000000	000.00000000
	000.00000000	000.00000000	000.83525700	000.00000000
	-316.57570000	007.11425700	-308.33920000	001.00000000
index:0001
	000.86728400	000.00000000	000.00000000	000.00000000
	000.00000000	000.86728400	000.00000000	000.00000000
	000.00000000	000.00000000	000.86728400	000.00000000
	-327.59740000	011.91113000	-325.82480000	001.00000000
index:0002
	-001.40854200	-000.02422100	000.20917900	000.00000000
	-000.01477700	001.13263000	000.03165200	000.00000000
	-000.20975400	000.03661500	-001.40818400	000.00000000
	-309.15170000	019.66447000	-375.09310000	001.00000000
index:0003
There are 4584 entries. (0 to 4583)
Some where there must be a way to bind each one of these matrices to an object.
If we can find a table that has an index that goes as high as 4583 it will help sort this out.
I'd love to change the world but I can't get my hands on the code.
User avatar
ShadowHunterRUS
n00b
Posts: 17
Joined: Wed Jan 13, 2016 11:04 am
Location: Russia
Has thanked: 9 times
Been thanked: 5 times

Re: World of Tanks Map format.

Post by ShadowHunterRUS »

Coffee wrote:If we can find a table that has an index that goes as high as 4583 it will help sort this out.
The index can be in a uint32 with bit shift...
Post Reply