The VG Resource
100% Orange Juice .pak file - Printable Version

+- The VG Resource (https://www.vg-resource.com)
+-- Forum: The Resources (https://www.vg-resource.com/forum-109.html)
+--- Forum: General Ripping (https://www.vg-resource.com/forum-145.html)
+--- Thread: 100% Orange Juice .pak file (/thread-35078.html)



100% Orange Juice .pak file - Mysticus - 02-09-2019

Is there a program to extract .pak files?


RE: 100% Orange Juice .pak file - Pingus! - 02-09-2019

It's a disguised .zip file. Rename to *.zip and it will extract itself.


RE: 100% Orange Juice .pak file - Mysticus - 02-09-2019

I renamed them to .zip files as you said.
Some it worked and contains .dat file. How to extract them? But unfortunately the others fails to work as renamed .zip files to extract.
Any other method?


RE: 100% Orange Juice .pak file - Pingus! - 02-09-2019

Upload the other ones


RE: 100% Orange Juice .pak file - Mysticus - 02-10-2019

https://drive.google.com/open?id=1kOb4Kpnb1nO_7HuIF3PEZMJwLNicLUYK


RE: 100% Orange Juice .pak file - Pingus! - 02-10-2019

It was just concatenated headerless wav files. This BMS will extract them, and add proper headers (TOWAV function taken from aluigi Tongue) Copy and paste into txt file and run it on QuickBMS:
Code:
get ARKSIZE asize
get BASENAME basename

do
    get SIZE long
    get RIFNAME string
    set NAME string ""
    string NAME p "%s_%s" BASENAME RIFNAME
    get TWELVE long
    get CHANNELS short
    get CODEC short
    get FREQUENCY long
    get NULL long
    get NULL short
    get BITS long
    savepos OFFSET
    callfunction TOWAV
    goto SIZE 0 SEEK_CUR
    savepos CUR_OFF
while CUR_OFF != ARKSIZE


# Requirements: CODEC, BITS, FREQUENCY, CHANNELS, OFFSET, SIZE and NAME
startfunction TOWAV
    set MEMORY_FILE binary "\x52\x49\x46\x46\x00\x00\x00\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x61\x74\x61\x00\x00\x00\x00"

    set RIFFSIZE long SIZE
    math RIFFSIZE += 36
    set BLOCKALIGN long BITS
    set AVGBYTES long FREQUENCY
    math BLOCKALIGN /= 8
    math BLOCKALIGN *= CHANNELS
    math AVGBYTES *= BLOCKALIGN

    putvarchr MEMORY_FILE 4 RIFFSIZE long
    putvarchr MEMORY_FILE 20 CODEC short      # wFormatTag: Microsoft PCM Format (0x0001)
    putvarchr MEMORY_FILE 22 CHANNELS short   # wChannels
    putvarchr MEMORY_FILE 24 FREQUENCY long   # dwSamplesPerSec
    putvarchr MEMORY_FILE 28 AVGBYTES long    # dwAvgBytesPerSec
    putvarchr MEMORY_FILE 32 BLOCKALIGN short # wBlockAlign
    putvarchr MEMORY_FILE 34 BITS short       # wBitsPerSample
    putvarchr MEMORY_FILE 40 SIZE long

    log MEMORY_FILE2 0 44 MEMORY_FILE
    append
    log MEMORY_FILE2 OFFSET SIZE
    append
    get RIFF_SIZE asize MEMORY_FILE2
    log NAME 0 RIFF_SIZE MEMORY_FILE2
endfunction



RE: 100% Orange Juice .pak file - Mysticus - 02-10-2019

Thank you, Pingu! It works to extract now!
But some wav files extract from "se.pak" doesn't play at all.
It says "Unable to open item for playback (Missing ACM codec)"
What should I do now?


RE: 100% Orange Juice .pak file - Pingus! - 02-10-2019

Upload the paks that wont work. Ill convert them for you (its a pain to get playing). Its most likely that those ones use ADPCM, try renaming them to *.lwav and if that doesn’t work send em my way


RE: 100% Orange Juice .pak file - Mysticus - 02-10-2019

https://drive.google.com/open?id=1LDKWY1FEvZ9Zyx-EgvB1Z3uYP9c2t5On


RE: 100% Orange Juice .pak file - Pingus! - 02-10-2019

Updated version of the script, since I'm a noob. I parsed it wrong, but all the sound effects play properly now:
Code:
get ARKSIZE asize
get BASENAME basename

do
    get SIZE long
    get RIFNAME string
    set NAME string ""
    string NAME p "%s_%s" BASENAME RIFNAME
    get TWELVE long
    get CODEC short
    get CHANNELS short
    get FREQUENCY long
    get NULL long
    get NULL short
    get BITS long
    savepos OFFSET
    callfunction TOWAV
    goto SIZE 0 SEEK_CUR
    savepos CUR_OFF
    
while CUR_OFF != ARKSIZE


# Requirements: CODEC, BITS, FREQUENCY, CHANNELS, OFFSET, SIZE and NAME
startfunction TOWAV
    set MEMORY_FILE binary "\x52\x49\x46\x46\x00\x00\x00\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x61\x74\x61\x00\x00\x00\x00"

    set RIFFSIZE long SIZE
    math RIFFSIZE += 36
    set BLOCKALIGN long BITS
    set AVGBYTES long FREQUENCY
    math BLOCKALIGN /= 8
    math BLOCKALIGN *= CHANNELS
    math AVGBYTES *= BLOCKALIGN

    putvarchr MEMORY_FILE 4 RIFFSIZE long
    putvarchr MEMORY_FILE 20 CODEC short      # wFormatTag: Microsoft PCM Format (0x0001)
    putvarchr MEMORY_FILE 22 CHANNELS short   # wChannels
    putvarchr MEMORY_FILE 24 FREQUENCY long   # dwSamplesPerSec
    putvarchr MEMORY_FILE 28 AVGBYTES long    # dwAvgBytesPerSec
    putvarchr MEMORY_FILE 32 BLOCKALIGN short # wBlockAlign
    putvarchr MEMORY_FILE 34 BITS short       # wBitsPerSample
    putvarchr MEMORY_FILE 40 SIZE long

    log MEMORY_FILE2 0 44 MEMORY_FILE
    append
    log MEMORY_FILE2 OFFSET SIZE
    append
    get RIFF_SIZE asize MEMORY_FILE2
    log NAME 0 RIFF_SIZE MEMORY_FILE2
endfunction

Copy and paste into txt for QuickBMS. I'd recommend reconverting voices just in case anything went wrong with those ones as well.


RE: 100% Orange Juice .pak file - Ziella - 02-10-2019

I know Pingu wrote a QuickBMS script already, but here's a tool that should also work. I remember it working when I tried to rip from them originally anyway.
https://gamebanana.com/tools/6227