Edit: the above package has been updated with a new utility called "w3unpack.exe", the download link is the same as before. This program can be used for the following:
- extract files from bundles (TW3) or DZIP files (TW2), using a name filter specified by the user
- convert .w2strings or .w3strings files to text (UTF-8 ) format, similarly to inspect_w3strings.lua
- the above can be done recursively on directory trees, all bundle or localization files are processed in alphabetical order
- dump dialogues from .w2scene files (TW2 or TW3) in any of the supported languages
- dump the contents of CR2W files in Lua format, similarly to the output of inspect_cr2w.lua (not all variables are supported, however, only these types: Bool, Int32, Uint/Uint32, Float, String, CName, LocalizedString, element pointer, array of element pointers). When used with the -l option, localized strings are also written as comments in that language
Examples:
w3unpack -d -l pl "F:\SteamLibrary\steamapps\common\The Witcher 3" all_dialogues_pl.txt
w3unpack -w -l en "F:\SteamLibrary\steamapps\common\The Witcher 3" all_strings_en.txt
w3unpack -u -i /q310_ -s .w2scene "F:\SteamLibrary\steamapps\common\The Witcher 3" final_preparations_scenes
Running the program without any arguments prints the usage. Note: this version may still be buggy, so use it at your own risk.
Edit for version 1.30: there have been some changes to the w3strings and CR2W formats in this patch, which break the tool, I will fix that soon.