Wolfenstein II The New Colossus (.resources .texdb)
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Regarding the compression, I have checked the provided sample.dat and the file that gave problems has just an useless header of 12 bytes to skip... it's very strange since there are no chunks or other reasons about this header
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Ok, in chunk_1, after reading the debug info, we're at the IDCL, in gameresources, we're 1 uint64_t away from it... strange...
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Ok the last count in the header, which in chunk_1 is files*2, is now files*2+1 which gives us the correct count of uint64_t's in the name array... Why would their only be one..
There must be a flag for no type or name, and in this case, there is one without it.
There must be a flag for no type or name, and in this case, there is one without it.
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Ok, the integers before are used to assign the debug information to the assets, max integer value is always within entry count.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Just to recap: the field that I called ID_2 must be converted in the offset "DUMMY7_OFF + (DUMMY2_NUM * 4) + ((ID_2 + 1) * 8)".
That seems to work
That seems to work
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
aluigi wrote:Just to recap: the field that I called ID_2 must be converted in the offset "DUMMY7_OFF + (DUMMY2_NUM * 4) + ((ID_2 + 1) * 8)".
That seems to work
Ahh, that's why it looked like ID*2
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Ok so we've got names working on my end as well, two integers per entry, texdb is still an issue, they are oodle as I said earlier, also, there is an unused table with entries 0x20 in size and it has a corresponding count in the header. (Two offsets point here)
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Why do you say that texdb contains oodle data?
There is no oodle there.
There is no oodle there.
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
aluigi wrote:Why do you say that texdb contains oodle data?
There is no oodle there.
A lot of the entries start with the oodle quantum header, 0x8c 0x6 (Quantum/Kraken) encoding...
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
The sample provided by the other user has just files starting with 0xcc and without any compression.
Offsets 2342c2, 234240, 233e34 and the others visible in the sample
Offsets 2342c2, 234240, 233e34 and the others visible in the sample
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Ahh, I'm looking at chunk_1's texdb...
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
I have uploaded the new script 0.3 that hopefully now works correctly with the resources/pack archives:
http://aluigi.org/bms/wolfenstein2.bms
http://aluigi.org/bms/wolfenstein2.bms
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
aluigi wrote:I have uploaded the new script 0.3 that hopefully now works correctly with the resources/pack archives:
http://aluigi.org/bms/wolfenstein2.bms
This is wrong, the types are looked up via the second index in the entry.
Type = index, Name = index+1 (All * 8)...
Verified this works with all resource files afaik
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Also back to texdb, here is an entry which clearly has an oodle header
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
This also leads me to believe that the 0xCC are also oodle, but with different variables, because the header passes the oodle verification check
-
- Posts: 26
- Joined: Sun Mar 20, 2016 10:25 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
Yes I was correct, and so were you, but it is a oodle block, oodle itself has an option to determine if the data is big enough for compression, 0xCC sets the block to uncompressed, but it has an oodle header
Here is my oodle verification block code:
Here is my oodle verification block code:
Code: Select all
int b = 0xcc;//magic
Console.WriteLine(((b & 0xF) != 0xC));// Should be false
Console.WriteLine(((b >> 4) & 3) != 0);// Should be false
Console.WriteLine((b >> 7) & 1);// Restart decoder
Console.WriteLine((b >> 6) & 1);// Uncompressed chunk
b = 0x6;// compression type
Console.WriteLine(b & 0x3F);// Compressor algo type (0x6 = kraken)
Console.WriteLine((b>>7));// Has checksums
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
I don't know why oodle doesn't do that job by itself, since it's its job
quickbms 0.8.1 has the -e option that allows to dump output buffer even if the compression algorithm returns an error and it's just full of zeroes
Ah, feel free to link your github/code/tool for people interested in extracting texdb.
quickbms 0.8.1 has the -e option that allows to dump output buffer even if the compression algorithm returns an error and it's just full of zeroes
Ah, feel free to link your github/code/tool for people interested in extracting texdb.
-
- Posts: 4
- Joined: Mon Oct 30, 2017 10:54 am
Re: Wolfenstein II The New Colossus (.resources .texdb)
Hi friends,
please, can you help me with decrypting language strings from latest Wolfenstein?
I translated both New Order and Old Blood to the Czech language, but with this new format i'm at my wits' end.
Many thanks for your answer.
Kind regards
Link for download strings:
download/file.php?id=3465
please, can you help me with decrypting language strings from latest Wolfenstein?
I translated both New Order and Old Blood to the Czech language, but with this new format i'm at my wits' end.
Many thanks for your answer.
Kind regards
Link for download strings:
download/file.php?id=3465
-
- Posts: 20
- Joined: Fri Nov 03, 2017 8:31 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
folkemon1977 wrote:Hi friends,
please, can you help me with decrypting language strings from latest Wolfenstein?
I translated both New Order and Old Blood to the Czech language, but with this new format i'm at my wits' end.
Many thanks for your answer.
Kind regards
Link for download strings:
download/file.php?id=3465
Seems the encryption method is the same as DOOM 2016, except now they decompress with Oodle after decryption.
You can use my idCrypt tool (http://redd.it/6u744t, src included for anyone interested) to decrypt the file, but you need to delete the first 4 bytes first though (seems to be Oodle-related, maybe the uncompressed-size)
eg. delete first 4 bytes from english.lang, rename english.lang to english.bfile and run "idCrypt english.bfile strings/english.lang"
AFAIK it's decrypting fine since BCryptDecrypt isn't giving any error code, don't know anything about Oodle though so not sure where to go from there, for now I guess I'll see if I can maybe get idCrypt to work with the games oo2core_5_win64.dll
-
- Posts: 1
- Joined: Mon Nov 06, 2017 3:35 pm
Re: Wolfenstein II The New Colossus (.resources .texdb)
huh... this game structure is so difficult... terrible