vn-tools / arc_unpacker

CLI tool for extracting images and sounds from visual novels.
GNU General Public License v3.0
562 stars 83 forks source link

Dies Irae std::bad_alloc error #34

Closed NhKPaNdA closed 8 years ago

NhKPaNdA commented 8 years ago

There is an error when decoding the picture.lib file. For Dies Irae ~Amantes amentes~: error decoding "bg" std::bad_alloc error decoding "chara" std::bad_alloc error decoding "event" std::bad_alloc "mask" decodes correctly

For Dies irae ~Acta est Fabula~ error decoding "bg" std::bad_alloc "chara" decodes correctly error decoding "bg" std::bad_alloc "mask" decodes correctly

Vndb: https://vndb.org/v548 Both are Regular Editions with Install versions. (No patches applied) Both were tested on Windows 8.1 Pro 64bit

rr- commented 8 years ago

Ok... generally these archives contain nested archives that are very big (some have 1.5GB). I have 8GB RAM, so this is not an issue for me.

To work around this issue, please:

Please let me know if this works.

NhKPaNdA commented 8 years ago

Using -t=1 and -t=1 --no-recurse is able to decode "mask" "chara" "bg" But still gives the same error for "event" for both Amantes amentes and Acta est Fabula.

I have 4gbs of ram, is that really not enough to decode the event cg ?

rr- commented 8 years ago

I tried to change the algorithm to reduce memory footprint. Please let me know if it helps (nightly build should run in about 4 hours).

NhKPaNdA commented 8 years ago

Tried it out with the new build. Decoding normally, with -t=1 or with -t=1 --no-recurse still gives that error for "event"

rr- commented 8 years ago

Things should improve with the recent update, and it probably doesn't even need -t=1 --no-recurse.

NhKPaNdA commented 8 years ago

Tested it with last nights build. Works perfectly without -t=1 or -t=1 --no-recurse. Great job.

Just wish they didn't make some of the cgs like a piece the puzzle game

rr- commented 8 years ago

:tada:

Unfortunately the gfx files do not contain info about cross references so it's not quite possible to merge the graphics (short of making some fragile guesswork based on file names, or parsing the scripts).