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.

Getting the voicelines files of Jedi Power Battles (PS1) game

Featured Replies

  • Author
  • Localization

amgb, posted Tue Nov 01, 2022 3:06 pm (74050)


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
  • Author
  • Localization

BloodRaynare, posted Wed Nov 02, 2022 4:37 am (74059)


First, extract the FILE.000 with this script:

Code:
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 "d/%s" DIRNUM FNAME
   log NAME OFFSET SIZE 1
next i


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:

Code:
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


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.
  • Author
  • Localization

amgb, posted Thu Nov 03, 2022 10:49 pm (74074)


Once again, thanks for the help and for the files.
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.