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.

Quake 3 Revolution (PS2) LINKFILE.LNK

Featured Replies

  • Author
  • Localization

Alex_Abdulov, posted Fri Dec 30, 2016 8:38 pm (19852)


Quake 3 Revolution (PS2) LINKFILE.LNK

Hi everyone.

Please help.

There is the resource file the game: LINKFILE.LNK

Help identify which method compression here uses.

If it is will a BMS script for unpacking and packing, it will be just super.


File: https://mega.nz/#!KxoDXDIC!zbyAO7MYx41r ... cnsEkbJvCw

Or the first 15 mb of this file: https://mega.nz/#!fsZDyDaQ!ASmNVOb1IyBh ... N_Op842f0A
  • Author
  • Localization

Alex_Abdulov, posted Sat Dec 31, 2016 8:41 pm (19869)


aluigi wrote:
Code:
# Quake 3 Revolution
# script for QuickBMS http://quickbms.aluigi.org

comtype dk2
idstring "FKNL"
get ZERO long
get DATA_OFF long
get DUMMY_OFF long
set PATH string ""

        callfunction GET_NAME 1
        get OFFSET long
        callfunction EXTRACT

startfunction EXTRACT
    savepos BCK_OFF
    goto OFFSET

    get FILES_OFF long
    get FOLDERS_OFF long
    get FILES long
    get FOLDERS long

    string PATH NAME
    string PATH /

    goto FILES_OFF
    for i = 0 < FILES
        callfunction GET_NAME 1
        get OFFSET long
        get ZSIZE long
        get SIZE long
        string NAME p "%s%s" PATH NAME

        if SIZE == ZSIZE
            log NAME OFFSET SIZE
        else
            clog NAME OFFSET ZSIZE SIZE
        endif
    next i

    goto FOLDERS_OFF
    for i = 0 < FOLDERS
        callfunction GET_NAME 1
        get OFFSET long
        callfunction EXTRACT
    next i

    goto BCK_OFF
endfunction

startfunction GET_NAME
    get NAME_OFF long
    savepos TMP
    goto NAME_OFF
    get NAME string
    goto TMP
endfunction


Thanks Luigi, the script unpacks good, but unfortunately the "reverse pack" does not work, I'm using Quick BMS Editor GUI 2.0b

Prompt how to be ?
  • Author
  • Localization

aluigi, posted Mon Jan 02, 2017 2:15 pm (19895)


Use quickbms 0.7.7 and NOT these third parties old gui!
That algorithm is supported in reimporting, probably the edited archive will not work in the game, but the reimport mode should work.
  • Author
  • Localization

Alex_Abdulov, posted Tue Jan 03, 2017 12:24 am (19906)


aluigi wrote:
Use quickbms 0.7.7 and NOT these third parties old gui!
That algorithm is supported in reimporting, probably the edited archive will not work in the game, but the reimport mode should work.


ok.

I used the command: quickbms.exe -w -r script.bms archive.dat folder

"C:\Program Files\Quick BMS 0.7.7\quickbms.exe" -w -r C:\Quake3Rev\QuakeEX.bms C:\Quake3Rev\LINKFILE.LNK C:\Quake3Rev\LINKFILE\

But there is a "small" problem:

the reimport option acts as a reimporter and so you cannot reinsert a
file if it's bigger than the original otherwise it will overwrite the
rest of the archive or cannot be loaded correctly:

new size: 3214 (4816 uncompressed)
old size: 3148 (4816 uncompressed)

--------------

And so with all the files.
*The unpacked files without changes, all files original.


Similar topic with the same problem: viewtopic.php?t=990

-----
viewtopic.php?t=990#p5473
You can as well as and there, choose the best degree compression ?
---------


What algorithm compression used for LINKFILE.LNK ?
  • Author
  • Localization

aluigi, posted Tue Jan 03, 2017 7:54 am (19911)


Quote:
What algorithm compression used for LINKFILE.LNK ?

It's the Electronic Arts most used compression algorithm.
  • Author
  • Localization

Alex_Abdulov, posted Tue Jan 03, 2017 1:53 pm (19922)


new size: 3214 (4816 uncompressed)
old size: 3148 (4816 uncompressed)


You can somehow this fix ?
The degree of compression can be even better ?
-----------

I checked.
If delete the free space at the end of the original file (for example: Arial10.sfn), the file may be imported, but the problem is that not in all files have free space at the end.
  • Author
  • Localization

aluigi, posted Tue Jan 03, 2017 3:43 pm (19928)


The qfs_compress_data function in qfs.c contains a QFS_MAXITER value that "may" provide better rates but honestly I have never tested.
I will check it when I will work on the next version of quickbms.
  • Author
  • Localization

Alex_Abdulov, posted Tue Jan 03, 2017 11:19 pm (19936)


aluigi wrote:
The qfs_compress_data function in qfs.c contains a QFS_MAXITER value that "may" provide better rates but honestly I have never tested.
I will check it when I will work on the next version of quickbms.


ok.
i will wait the next version of quickbms.
Anyway thanks !
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.