STEAM GROUP
Payday 2 Mechanics PD2mech
STEAM GROUP
Payday 2 Mechanics PD2mech
12
IN-GAME
81
ONLINE
Founded
27 September, 2015
Showing 51-60 of 105 entries
69
Strings
Use this hashlist: https://bitbucket.org/Frankelstner/pd2-hashlist/overview

Thanks to Zdann for resolving many tough material_configs.

Background:

As you may not realize, Overkill has removed the file with strings (filenames among them) with U100. The actual archives only specify a hash, and the hashing function is known.

To extract files, take all strings/filenames and calculate their hashes, then make a table out of this info. When the archives then mention a hash, we look it up in the table and get the actual filename. Obviously, this only works when we have the filename in the first place.

The removal of the strings file makes no sense whatsoever given the mod_overrides folder: http://gtm.steamproxy.vip/app/218620/discussions/15/619569341120461778 I believe you need to know the filename to override. In any event, filenames make navigation a bit easier.

Only few people noticed, but in my opinion the removal of the strings is even worse than the initial micro transactions.

Anyway, I have determined most strings.


Methods:

The basic idea is to get a list of all hashes that cannot be resolved. Then find a suitable pool of strings (about 10^8) and calculate their hashes. If a calculated hash is found in the unresolved list, success; we add the corresponding string to our hashlist. If a hash is not found in that list, just ignore it and try the next. So the goal is to find a good pool of strings.

1. I grabbed all strings from all bundles and decrypted Lua files with regex. This lowered the unresolved files from 11000 to 6000.

2. I took the existing_banks.banksinfo file and read the two string sections. I don't understand the exact format, so I just took one string from each section and combined them in all possible ways. I also went through the individual bnk files and grabbed whatever looked like an integer (which becomes part of the filename); this alone resolved only about 50% of the stream files. I'm not sure if that second approach was necessary at all. Anyway, all streams resolved.

3. The Lua concatenates strings for various icons. So I just go through the corresponding tweakdatas and combine DLC + object name to get a string.

4. The Lua gives the path to each mission folder. I try the common filenames like "world", "continents", ... and then run my parser on these files, which gives me some data structures to traverse. From those I determine the subfolder names. Then I parse the continent files in the subfolders to get all statics that have light (which corresponds to the cube_lights subfolder), as well as all instance names. For each instance I then do step 4 again (except for the first sentence).

I also tried adding _cc, _thq and _thq_cc at the end of each file because those material configs are really hard to come by.


If you have any info about the remaining files, let me know. The exact filename or even the calculation in the Lua would be great.
7
Drill restarter chance
Showing 51-60 of 105 entries