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.

gjol (.zpkg,zpkg.index)

Featured Replies

  • Author
  • Localization

giles_tesla, posted Tue Oct 25, 2016 5:30 pm (18356)


aluigi wrote:
Ah ok, I thought there were some files like data.zpkg.index because that was written in the title of the topic.
Anyway I have something working:
http://aluigi.org/bms/gjol.bms

Cool! 2.5 GB file work perfect, 100% decompression, but not the correct file name
Unpack the 16 gb file only a little part of the error is encountered.
  • Author
  • Localization

aluigi, posted Tue Oct 25, 2016 5:36 pm (18357)


Do you have the same error if you replace:
Code:
get SIZE longlong
with
Code:
get SIZE long
get DUMMY long
?
  • Author
  • Localization

giles_tesla, posted Tue Oct 25, 2016 6:21 pm (18360)


aluigi wrote:
Do you have the same error if you replace:
Code:
get SIZE longlong
with
Code:
get SIZE long
get DUMMY long
?

Like this?
Code:
# gjol / Gu Jianqi Tan online / ?????????
# script for QuickBMS http://quickbms.aluigi.org

idstring "ZPKG"
getdstring DUMMY 12
get DUMMY longlong
get DUMMY longlong
get DUMMY longlong
get DUMMY longlong
get DUMMY longlong
get DUMMY longlong
get ARCHIVE_SIZE asize
savepos OFFSET
for OFFSET = OFFSET != ARCHIVE_SIZE
    getdstring DUMMY 16
    get SIZE longlong
    get DUMMY long
    get CHUNK_SIZE long

    math CHUNKS = SIZE
    math CHUNKS / CHUNK_SIZE
    if SIZE % CHUNK_SIZE
        math CHUNKS 1
    endif
    for x = 0 < CHUNKS
        get CHUNK_ZSIZE long
        putarray 0 x CHUNK_ZSIZE
    next x
    savepos OFFSET

    comtype blosc   # lzf and fastlzah fail on some files

    # some files use blosc, others use lzma
    get TEST short
    if TEST == 0x005d
        comtype lzma_dynamic    # the others don't work...
    endif

    putvarchr MEMORY_FILE SIZE 0
    log MEMORY_FILE 0 0
    append
    for x = 0 < CHUNKS
        getarray CHUNK_ZSIZE 0 x
        if CHUNK_ZSIZE == CHUNK_SIZE
            log MEMORY_FILE OFFSET CHUNK_SIZE
        else
            clog MEMORY_FILE OFFSET CHUNK_ZSIZE CHUNK_SIZE
        endif
        math OFFSET CHUNK_ZSIZE
    next x
    append
    log "" 0 SIZE MEMORY_FILE

    goto OFFSET
next

  • Author
  • Localization

aluigi, posted Tue Oct 25, 2016 9:04 pm (18365)


Recheck my patch and spot your mistake :)
  • Author
  • Localization

kanakanaka, posted Sun Jun 25, 2017 3:05 am (24286)


it seems that the game files of new version has changed, the script does not work correctly, only several files can be decompressed. is there someone can update the script?
  • Author
  • Localization

aluigi, posted Thu Jul 20, 2017 9:22 am (24832)


Please provide a sample.
  • Author
  • Localization

aluigi, posted Wed Jul 11, 2018 8:02 am (36681)


This script is compatible with the data* archive that now use the "ZFS" format:
http://aluigi.org/bms/new_sword_legends.bms

I have updated the script to version 0.2.1 for automatically handling the idx file but consider that it will be slow (searching the name from the hash is slow), it's enough to open 604.idx with the script and it will automatically extract all the archives.

I don't know how many archives exist for this game so the script will try them sequentially like data000 data001 and so on till there are none.
If you have a list of these data*, it would be useful.
  • Author
  • Localization

happyend, posted Wed Jul 11, 2018 9:13 am (36683)


Thanks!!! aluigi ^^
  • Author
  • Localization

dotharli, posted Sun May 05, 2019 10:25 pm (47621)


Hello!

Asking here may or may not work since this thread has been pretty dead for a while, but I was curious to know if anyone has a method to open the files the script pulls? There are many .dat files and .model files, but unlike Justice Online and Moonlight Blade, there doesn't seem to be a 3DS Max script that can open these .dat files or anything that I am able to find that can open the .model files.

^^ If anyone has any suggestions about this, I'd love to hear them! Am willing to provide samples as well if necessary.
  • Author
  • Localization

dotharli, posted Sun May 05, 2019 10:27 pm (47622)


aluigi wrote:
This script is compatible with the data* archive that now use the "ZFS" format:
http://aluigi.org/bms/new_sword_legends.bms

I have updated the script to version 0.2.1 for automatically handling the idx file but consider that it will be slow (searching the name from the hash is slow), it's enough to open 604.idx with the script and it will automatically extract all the archives.

I don't know how many archives exist for this game so the script will try them sequentially like data000 data001 and so on till there are none.
If you have a list of these data*, it would be useful.


It has been YEARS so I am unsure if you are still interested in this information, but there are a total of 35 data files for the game.
  • Author
  • Localization

aluigi, posted Sat Jun 01, 2019 8:36 pm (48250)


I can help only with the extraction of the files from the ZFS format.
  • Author
  • Localization

kotaxzz2, posted Wed Mar 10, 2021 9:40 am (62771)


aluigi wrote:
This script is compatible with the data* archive that now use the "ZFS" format:
http://aluigi.org/bms/new_sword_legends.bms

I have updated the script to version 0.2.1 for automatically handling the idx file but consider that it will be slow (searching the name from the hash is slow), it's enough to open 604.idx with the script and it will automatically extract all the archives.

I don't know how many archives exist for this game so the script will try them sequentially like data000 data001 and so on till there are none.
If you have a list of these data*, it would be useful.


it means the output filelist from this console ?
Image
  • Author
  • Localization

Icos, posted Mon Apr 12, 2021 12:31 pm (63339)


Hey, aluigi!

I've tried to use your script on the recent version of the game, and it looks like the script deadlocks at some code or at least slows down immensely. At some point it stops to extract the data and just doing something for hours without any real output.

I've attached the screenshots of the script's output with debug on at the moment of the deadlock. I've also included a zipped .torrent for the client, for your reference.

Please take a look at it!
  • Author
  • Localization

aluigi, posted Wed May 12, 2021 12:29 pm (63943)


I guess the problem is just related to the 294460 names that are painful to be handled by quickbms.

What happens if you remove the following instructions from the script:
Code:
        if NAMES != 0
            string HASH 0b HASH # fix for quickbms 0.11
            putvarchr HASH 40 0
            for x = 0 < NAMES
                getarray TMP 10 x
                if HASH == TMP
                    getarray NAME 11 x
                    break
                endif
            next x
        endif
  • Author
  • Localization

Icos, posted Wed May 12, 2021 1:56 pm (63944)


I've tried to unpack the game with that change.
It unpacked successfully, however, only 238180 files were extracted. Plus the directory structure was not preserved and all files have numbers instead of their real names.
Is there any way to fix that?
  • Author
  • Localization

aluigi, posted Wed May 12, 2021 3:29 pm (63948)


Ok that's a good news.
I have just updated the script with a different way for finding the names from the database, hopefully it's much faster:
http://aluigi.org/bms/new_sword_legends.bms

Please let me know if it's better.
  • Author
  • Localization

Icos, posted Thu May 13, 2021 4:31 pm (64017)


Thanks for updating the script! Looks like it works, but pretty slow.
The names of the files and the directory structure is there, but the script makes pauses to "think" about something for 10-15 minutes (no output during these pauses in the console). It runs for 3 hours on my PC already and I'm not sure how long it'll take for it to finish.
Since the size of the extracted files is only 9GB and the whole client packed is 80GB, I think, it could take almost whole day to extract all of them.

I'll post an update here later.
  • Author
  • Localization

aluigi, posted Thu May 13, 2021 4:47 pm (64020)


That slowness is really strange because this method is very simple and should be a bit faster.
But yeah, these hash->filename matches are a nightmare to handle with quickbms.
  • Author
  • Localization

Icos, posted Thu May 13, 2021 8:05 pm (64026)


Well, I've gave up and closed it. Almost 4 hours later it unpacked only 10 more gigs of data. This will take forever to finish at this rate and a I can't keep my PC running for days to complete the test.
Basically, if there was any improvement over the 1st version, it's not significant. Still extremely slow.
I can put my torrent back online if you want to run some tests on your machine.
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.