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 AR Segs archive

Featured Replies

  • Author
  • Localization

Coolsonickirby, posted Wed Dec 27, 2017 9:46 pm (31068)


When I try to uncompress Sonic Unleashed PS3 files, it dosen't work.I would deeply appreciate any help. Thanks.

EDIT: Here's the error it gives me an a sample file.
"offset filesize filename
--------------------------------------
30000010 990969856 #ActD_Snow.ar/Stage.stg.xml

Error: [myfseek] the offset 0x30000010 in the file -1 can't be reached

Last script line before the error or that produced the error:
62 log FNAME OFFSET SIZE MEMORY_FILE"

The real filename is #ActD_Snow.ar.00 but for some reason it won't let me upload it with .ar.00
  • Author
  • Localization

Coolsonickirby, posted Thu Dec 28, 2017 2:03 pm (31082)


One more thing, here is the script I used.

Code:
# AR segs archives - Arc System Works (script 0.1.1)
#   Sonic Unleashed
#   Battle Fantasia
#   BlazBlue
#   Arcana Heart 3
#   Persona 4 Arena (Ultimax)
#   ...
# script for QuickBMS http://quickbms.aluigi.org

get BASE_NAME basename
string BASE_NAME = /
comtype deflate
endian big
getdstring SIGN 4
if SIGN == "segs"
    get DUMMY short
    get CHUNKS short
    get FULL_SIZE long
    get FULL_ZSIZE long
    putvarchr MEMORY_FILE 0 FULL_SIZE
    log MEMORY_FILE 0 0
    append
    for i = 0 < CHUNKS
        get ZSIZE short
        get SIZE short
        get OFFSET long
        math OFFSET -= 1
        if SIZE == 0
            math SIZE = 0x00010000
        endif
        clog MEMORY_FILE OFFSET ZSIZE SIZE
    next i
    append
else
    # pfd
    get SIZE asize
    log MEMORY_FILE 0 SIZE
endif

# the files are just compressed pfd files
# so we handle them here automatically (both!)

goto 0 MEMORY_FILE
get FULL_SIZE asize MEMORY_FILE
endian big
getdstring TYPE 4 MEMORY_FILE
if TYPE == ""   # pfd
    get DUMMY long MEMORY_FILE
    get DUMMY long MEMORY_FILE
    get FILES long MEMORY_FILE
    savepos BASE_OFF MEMORY_FILE
    for BASE_OFF = BASE_OFF < FULL_SIZE
        get HEADDATA_SIZE long MEMORY_FILE
        get SIZE long MEMORY_FILE
        get OFFSET long MEMORY_FILE
        get DUMMY long MEMORY_FILE
        get DUMMY long MEMORY_FILE
        get NAME string MEMORY_FILE
        math OFFSET = BASE_OFF
        set FNAME string BASE_NAME
        string FNAME = NAME
        log FNAME OFFSET SIZE MEMORY_FILE
        math BASE_OFF = HEADDATA_SIZE
        goto BASE_OFF MEMORY_FILE
    next
elif TYPE == "FPAC"
    endian little
    get BASE_OFF long MEMORY_FILE
    if BASE_OFF u>= FULL_SIZE
      endian big
      ReverseLong BASE_OFF
    endif
    get TOT_SIZE long MEMORY_FILE
    get FILES long MEMORY_FILE
    get DUMMY long MEMORY_FILE
    get NAMELEN long MEMORY_FILE
    get DUMMY long MEMORY_FILE
    get DUMMY long MEMORY_FILE
    for i = 0 < FILES
        getdstring NAME NAMELEN MEMORY_FILE
   get FILEID long MEMORY_FILE
        get OFFSET long MEMORY_FILE
        get SIZE long MEMORY_FILE
        Padding 16 MEMORY_FILE 0
        math OFFSET = BASE_OFF
        set FNAME string BASE_NAME
        string FNAME = NAME
        log FNAME OFFSET SIZE MEMORY_FILE
    next i
else
    get NAME basename
    get EXT extension
    string NAME = "_unpacked."
    string NAME = EXT
    set FNAME string BASE_NAME
    string FNAME = NAME
    log FNAME 0 FULL_SIZE MEMORY_FILE
endif

print "\nyou can try to reuse this script with the output files (pac, pfd and so on)\nfor extracting the other files contained in them"

arcsys111.bms

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.