Hello, I come back to this topic because I have another PS1 game to extract (Star Wars, Jedi Power Battles).
There are the same kinds of files but this time the SLES is 026.08. Would it be possible to have an updated script that works for this game ?
Here are all the files inside the bin file :
FILE.000
FILE.001
FILE.002
SLES_026.08
SYSTEM.CNF
Z.000
Here are the link of the files : https://we.tl/t-zPMBnvH0yC
Getting the voicelines files of Jedi Power Battles (PS1) game
-
- Posts: 44
- Joined: Tue Jun 22, 2021 8:38 pm
-
- Posts: 367
- Joined: Fri Mar 10, 2017 7:23 am
Re: Getting the voicelines files of Jedi Power Battles (PS1) game
First, extract the FILE.000 with this script:
There are some grunt and few voicelines inside the VGC files which you can find inside the "01" directory, use this script to extract them:
The cutscenes voices are inside the FILE.002, which is just a collection of XA ADPCM audio that you can extract by using jPSXdec (BTW, you've extracted it incorrectly, there's no frame header that's why jPSXdec cannot detect anything). However, the cutscene voices has background music pre-baked into them.
Code: Select all
open FDSE SLES_026.08
open FDSE FILE.000 1
math TOC = 0x907D0
goto TOC
for i = 0
get MM byte
get SS byte
get FF byte
get DIRNUM byte
get SIZE long
getdstring FNAME 16
if MM == 00 && SS == 00 && FF == 00
break
endif
string TMP1 p "%2x" MM
string TMP2 p "%2x" SS
string TMP3 p "%2x" FF
math TMP1 * 60
math TMP2 + TMP1
math TMP2 * 75
xmath OFFSET "TMP2 + TMP3"
xmath OFF_SUB "2 * 75 * 2048"
math OFFSET * 2048
math OFFSET - OFF_SUB
string NAME p "%02d/%s" DIRNUM FNAME
log NAME OFFSET SIZE 1
next i
Code: Select all
get VGC_SZ long
get SOUND_NUM long
for i = 0 < SOUND_NUM
get SND_DATA_SZ short
get IS_HALF_SAMPLE_RATE short
get UNK short
get UNK short
putarray 0 i SND_DATA_SZ
putarray 1 i IS_HALF_SAMPLE_RATE
next i
for i = 0 < SOUND_NUM
get SND_NAME string
putarray 2 i SND_NAME
next i
padding 4
savepos OFFSET
for i = 0 < SOUND_NUM
getarray SND_DATA_SZ 0 i
getarray IS_HALF_SAMPLE_RATE 1 i
getarray SND_NAME 2 i
log MEMORY_FILE 0 0
log MEMORY_FILE OFFSET SND_DATA_SZ
callfunction AddVAGHeader 1
get VAG_SZ asize MEMORY_FILE2
string NAME p "%s.vag" SND_NAME
log NAME 0 VAG_SZ MEMORY_FILE2
math OFFSET + SND_DATA_SZ
next i
startfunction AddVAGHeader
math VER = 0x02
math SAMPLE_RATE = 11025
log MEMORY_FILE2 0 0
endian big
append
putDstring "VAGp" 4 MEMORY_FILE2
put 2 long MEMORY_FILE2
put 0 long MEMORY_FILE2
xmath SND_DATA_SZ_TMP "SND_DATA_SZ + 0x10"
put SND_DATA_SZ_TMP long MEMORY_FILE2
if IS_HALF_SAMPLE_RATE == 0x8000
math SAMPLE_RATE * 2
endif
put SAMPLE_RATE long MEMORY_FILE2
put 0 long MEMORY_FILE2
put 0 long MEMORY_FILE2
put 0 long MEMORY_FILE2
putDString SND_NAME 0x10 MEMORY_FILE2
putDString "" 0x10 MEMORY_FILE2
log MEMORY_FILE2 0 SND_DATA_SZ MEMORY_FILE
append
endian little
endfunction
-
- Posts: 44
- Joined: Tue Jun 22, 2021 8:38 pm
Re: Getting the voicelines files of Jedi Power Battles (PS1) game
Once again, thanks for the help and for the files.