02-09-2019, 06:19 AM
02-09-2019, 10:52 AM
It's a disguised .zip file. Rename to *.zip and it will extract itself.
02-09-2019, 12:16 PM
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?
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?
02-09-2019, 01:01 PM
Upload the other ones
02-10-2019, 04:25 AM
02-10-2019, 12:23 PM
It was just concatenated headerless wav files. This BMS will extract them, and add proper headers (TOWAV function taken from aluigi ) 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
02-10-2019, 01:26 PM
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?
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?
02-10-2019, 02:49 PM
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
02-10-2019, 02:57 PM
02-10-2019, 05:44 PM
Updated version of the script, since I'm a noob. I parsed it wrong, but all the sound effects play properly now:
Copy and paste into txt for QuickBMS. I'd recommend reconverting voices just in case anything went wrong with those ones as well.
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.
02-10-2019, 10:32 PM
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
https://gamebanana.com/tools/6227