Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Problem with witcher 3 bundle files

Featured Replies

  • Author
  • Localization

t_ice, posted Fri Oct 09, 2015 6:30 pm (8271)


Hey, good day to all people reading this. And also huge thanks to aluigi for making this program this useful.

Currently i'm working on a localisation project for witcher 3. Since there's a tool for "w3strings" file types, i managed to translate normal in-game subtitles.

but w3string files doesnt include in-game rendered video subtitles so i had to stop the project.

But i discovered QuickBMS and extracted the movies.bundle located in the witcher 3 files and i managed to to get some of subtitle files.

Problem is program extracts 99% of the files and i have the other %1.

So i want to ask aluigi or other well informated ppl, is there anyway to extract these subtitles also? because they are there along with other subtitle files but they didnt extracted because of %1

My english writing could be bad but i'll try to explain it via pictures also,

Here i'm extracting the movies bundle and program is wonderfully extracting 99% of it.

Image

here is some of the extracted files,

Image

As you can see st6, 7, 8,9 and some other subtitle files are missing and these files are probably in the missing %1 which quickbsm tells.

So i really need these files, somebody could help me maybe? i would really appreciate
  • Author
  • Localization

aluigi, posted Fri Oct 09, 2015 8:19 pm (8276)


From an "extraction" point of view, it seems all ok because that 99% is correct.
Hope other users can help you with the subtitles.
  • Author
  • Localization

t_ice, posted Fri Oct 09, 2015 8:33 pm (8280)


I hope man, i hope. I would really like to translate these subtitles to but i cannot find them anywhere.

i tried to decodec usm video file to m2v and watch the video and it wasn't subtitled so subtitles are not embeded with video , but still they are nowhere to be found

do you have any idea where these other subtitle files could be? can you give me some leads to find them or where to search them?
  • Author
  • Localization

aluigi, posted Fri Oct 09, 2015 8:34 pm (8281)


I don't even have the game :D
As far as I know there is a HUGE modding community behind this game, are you really sure nobody else is working on the same thing?
  • Author
  • Localization

t_ice, posted Fri Oct 09, 2015 8:38 pm (8282)


no sadly. im in turkey and im the first one to start a localisation project.

other modder groups and people are afread to start this project because of lack of modding tools. i only have w3string editor which allows me to edit normal subtitle files in the game (about 99%) But it is still an uncomplete tool and hasn't got a proper dialouge order.

and on the other half, this is my problem too as you can see. cutscene subtitles are not translateable right now.
  • Author
  • Localization

theendoffear, posted Tue Oct 27, 2015 7:01 am (8975)


Hello t_ice, sorry for a bit late, but I think I've answer for your question if you didn't figure it out already. Those subtitles you extracted are "alternative" subtitles for the game progess, the main subtitles were "muxed" inside the .usm files (like .mkv). So I think you might need to learn how to make .usm file from scratch for your translation.

P/s: Thank you so much, aluigi, for making this game and many other games mod-able :)
  • Author
  • Localization

t_ice, posted Wed Nov 25, 2015 5:29 pm (10112)


Yeah bro... they were alternative really. just sample like subtitles.

thankfully i just opened these USM files via cheat engine, and subtitles were directly READ-ABLE and change-able. of course i cannot type more than the original line. but still editable.

again thx to you, aluigi and other people contribute and share experience thorughout forums
  • Author
  • Localization

gbaoye, posted Mon Jun 06, 2016 6:43 am (14092)


t_ice wrote:
Yeah bro... they were alternative really. just sample like subtitles.

thankfully i just opened these USM files via cheat engine, and subtitles were directly READ-ABLE and change-able. of course i cannot type more than the original line. but still editable.

again thx to you, aluigi and other people contribute and share experience thorughout forums


First, my English is very bad
You and I encountered the same problem
If you solve
I want you to tell me the method
thank you very much
  • Author
  • Localization

Savage, posted Thu Jun 09, 2016 2:16 pm (14216)


Hi! i don't know if it's a problem, actually i made some tests.

I cleared some files and reimported to a big bundle, then i reimported againg the original files, i checked the MD5 and i had an error, looks the reimporter changes the compression of the zlib files, then we have a different CRC, i don't know if the game will work if the crc is not the same

Example of the original file
Quote:
x?i]|SO??e???WU{)Y?-6m?I


Example of the same file reimported using the script http://aluigi.altervista.org/bms/witcher3.bms
Quote:
xUi]\GUY;S??XPQP `1"Y(VT


As you can see the header of the zlib is not the same,that means the compression of the reimportation is not the same too, this is why i had a different CRC.

Maybe is nothing and the game works, any idea? suggestions?

Now extracted the data from the "injected" bundle with the same bms, compared the MD5 of very file and i had
Quote:
Errors: 43


43 files (of 13561) unpacked have an error checking the MD5 of all of them, looks the reimportation is not working well?
  • Author
  • Localization

aluigi, posted Sat Jun 11, 2016 9:13 am (14262)


It's not a problem. Different deflate libraries with different settings give different compressed data.
The reimporting feature simply replaces the original data, doesn't change the crc or hash fields.
  • Author
  • Localization

Savage, posted Wed Jun 22, 2016 3:05 pm (14679)


Hi, how i can extract the data (from the .bundle files) without decompression? i just want to check the size of the compressed files
Thanks!
  • Author
  • Localization

Savage, posted Thu Jun 23, 2016 4:37 pm (14699)


Never mind, i already solved :D, works great
  • Author
  • Localization

Savage, posted Sat Jun 25, 2016 1:42 pm (14744)


aluigi wrote:
It's not a problem. Different deflate libraries with different settings give different compressed data.
The reimporting feature simply replaces the original data, doesn't change the crc or hash fields.


I changed some non-zlib files using Zopfli, the importation worked, but if i try to extract with bms script i get error, looks is searching for the original compression.

Question:
If we change the non-zlib files compressed to Zopfli the game will work?
  • Author
  • Localization

aluigi, posted Sat Jun 25, 2016 4:42 pm (14746)


If you change also the ZIP field in the file to 1, probably yes.
It's the last 32bit field at the end of each file entry, use quickbms -V to see the offset and make the test.

You can even change it on the original archive and then use quickbms in reimport mode which will do automatically all the job since quickbms uses zopfli or kzip
  • Author
  • Localization

Savage, posted Sat Jun 25, 2016 6:50 pm (14750)


You means change ?

Quote:
if ZIP == 0
log NAME OFFSET SIZE
elif ZIP == 1
comtype zlib
clog NAME OFFSET ZSIZE SIZE
elif ZIP == 2
comtype snappy
clog NAME OFFSET ZSIZE SIZE
elif ZIP == 2
comtype doboz
clog NAME OFFSET ZSIZE SIZE
else # 4 and 5
comtype lz4
clog NAME OFFSET ZSIZE SIZE
endif


for

Quote:
if ZIP == 1
log NAME OFFSET SIZE
elif ZIP == 1
comtype zlib
clog NAME OFFSET ZSIZE SIZE
elif ZIP == 2
comtype snappy
clog NAME OFFSET ZSIZE SIZE
elif ZIP == 2
comtype doboz
clog NAME OFFSET ZSIZE SIZE
else # 4 and 5
comtype lz4
clog NAME OFFSET ZSIZE SIZE
endif


I tried and i get this error

Quote:
0000000000424000 1382 characters\models\common\woman_average\body\model\
woman_old__body_a01.xbm
Info: algorithm 249
offset 0000000000424000
input size 0x0000000000000566 1382
output size 0x0000000000000566 1382
result 0xffffffffffffffe9 -23

Error: the uncompressed data (-23) is bigger than the allocated buffer (1382)

Last script line before the error or that produced the error:
40 clog NAME OFFSET ZSIZE SIZE


If i make this change
Quote:

if ZIP == 0
log NAME OFFSET SIZE
elif ZIP == 1
comtype zlib
clog NAME OFFSET ZSIZE SIZE
elif ZIP == 2
comtype snappy
clog NAME OFFSET ZSIZE SIZE
elif ZIP == 1
comtype doboz
clog NAME OFFSET ZSIZE SIZE
else # 4 and 5
comtype lz4
clog NAME OFFSET ZSIZE SIZE
endif

elif ZIP == 1
comtype doboz

It crashes too but some data is extracted
Quote:
000000000090e000 2310164 animations\animals\wolf\wolf_animation.w2anims
Info: algorithm 249
offset 000000000090e000
input size 0x00000000000b646f 746607
output size 0x0000000000234014 2310164
result 0xfffffffffffffff5 -11

Error: the uncompressed data (-11) is bigger than the allocated buffer (2310164)


Last script line before the error or that produced the error:
40 clog NAME OFFSET ZSIZE SIZE
  • Author
  • Localization

aluigi, posted Sat Jun 25, 2016 8:09 pm (14751)


Oh no no.
I mean hex editing the archive.
  • Author
  • Localization

Savage, posted Sun Jun 26, 2016 1:08 am (14763)


Sorry but i don't get it

Where i need to make the change?

I attach an small example compressed with zopfli
  • Author
  • Localization

aluigi, posted Sun Jun 26, 2016 2:04 am (14766)


How big is the archive?
If you can upload it, I will show you what I mean step-by-step.

If it's too big, the first 10mb should be enough.
  • Author
  • Localization

aluigi, posted Sun Jun 26, 2016 11:31 am (14785)


Ok.
First you extract all the files from the original archive (in case you have not done yet, obviously).

Then you run quickbms from command-line with the -V option and the redirect to an output text file:
Code:
quickbms.exe -l -V witcher3.bms blob.bundle > info.txt

Open info.txt and search the name of the file you want to import using zlib, for example animations\animals\wolf\wolf_animation.w2anims
Code:
. 00061320 getdstr NAME       "animations\animals\wolf\wolf_animation.w2anims" 256
    61 6e 69 6d 61 74 69 6f 6e 73 5c 61 6e 69 6d 61   animations\anima
    6c 73 5c 77 6f 6c 66 5c 77 6f 6c 66 5f 61 6e 69   ls\wolf\wolf_ani
    6d 61 74 69 6f 6e 2e 77 32 61 6e 69 6d 73 00 00   mation.w2anims..
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
. 00061420 getdstr HASH       "" 16
    6d 82 34 0d 40 c7 39 c4 6a af 5e bf 05 84 a0 37   [email protected].^....7
. 00061430 get     ZERO       0x00000000 4
. 00061434 get     SIZE       0x00234014 4
. 00061438 get     ZSIZE      0x000b646f 4
. 0006143c get     OFFSET     0x0090e000 4
. 00061440 get     TSTAMP     0x7df46c00 8
. 00061448 getdstr ZERO       "" 16
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
. 00061458 get     DUMMY      0x5d02e792 4
. 0006145c get     ZIP        0x00000003 4
  0090e000 2310164    animations\animals\wolf\wolf_animation.w2anims
Do you see the ZIP field?
The hexadecimal number on its left (0006145c) is the offset of the field in the archive.

Open the archive with a hex editor and go at offset 0x0006145c.

Replace the byte 03 with 01 and save it.

Now delete all the extracted files except animations\animals\wolf\wolf_animation.w2anims for testing the reimporting.

Run reimport.bat

That's all
  • Author
  • Localization

Savage, posted Sun Jun 26, 2016 12:14 pm (14787)


Great ! it worked

Original:
13561 files found in 43 seconds
coverage file 0 91% 285810403 312074704

Modified:
13561 files found in 58 seconds
coverage file 0 91% 285810403 312074704

Offset 61450
Original
00 00 00 00 00 00 00 00 92 E7 02 5D 03 00 00 00

Now
00 00 00 00 00 00 00 00 92 E7 02 5D 01 00 00 00

Thanks! :D
  • Author
  • Localization

shadow_lonely, posted Fri Jul 21, 2017 2:31 am (24879)


Savage wrote:
Great ! it worked

Original:
13561 files found in 43 seconds
coverage file 0 91% 285810403 312074704

Modified:
13561 files found in 58 seconds
coverage file 0 91% 285810403 312074704

Offset 61450
Original
00 00 00 00 00 00 00 00 92 E7 02 5D 03 00 00 00

Now
00 00 00 00 00 00 00 00 92 E7 02 5D 01 00 00 00

Thanks! :D


Hi, you can reimport text.csv Lego Avenger? Thanks!
  • Author
  • Localization

drogoth2000, posted Fri Apr 17, 2020 9:22 pm (56042)


hi i am translating the game to greek , I have translated everything but one thing, the day of a saved game in the save and load menu...plz help the only thing i need to change...i need to find the text files of those lines.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.