The Forum is up for sale: XeNTaX Forum looking for new owner

PS3 FPK file

The Original Forum. Game archives, full of resources. How to open them? Get help here.
Post Reply
alon
mega-veteran
mega-veteran
Posts: 163
Joined: Mon Nov 29, 2010 10:38 am
Has thanked: 32 times
Been thanked: 2 times

PS3 FPK file

Post by alon »

Hi all!
Please help extract FPK file.


Does anyone can help?
Last edited by alon on Fri Apr 13, 2012 7:15 pm, edited 1 time in total.
snakemeat
advanced
Posts: 45
Joined: Tue Jan 27, 2009 5:00 pm
Has thanked: 12 times
Been thanked: 24 times

Re: PS3 FPK file

Post by snakemeat »

Here's a QuickBMS script for the FPK archive, didn't look too hard at the TSB file.

Code: Select all

# FPK Extractor: Gundam Senki Record UC 0081 (PS3)
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
#
# Tested against "gaw_00.fpk" file 
#

idstring "FPK\x00"
endian big

get FILECOUNT long     # 0x04
get HEADERSIZE long    # 0x08
get DATASTART long     # 0x0C

for i = 0 < FILECOUNT

  # set record start
  set RECORDSTART long 0
  math RECORDSTART += i
  math RECORDSTART *= 0x50
  math RECORDSTART += HEADERSIZE
    
  # get info from current record
  goto RECORDSTART 
  get FILENAME string
  
  # set current offset and size  
  set OFFSETLOC long 0
  set SIZELOC long 0
  
  math OFFSETLOC += RECORDSTART
  math OFFSETLOC += 0x40

  math SIZELOC += RECORDSTART
  math SIZELOC += 0x48
  
  goto OFFSETLOC
  get OFFSETVAL long
  math OFFSETVAL += DATASTART
    
  goto SIZELOC
  get SIZEVAL long

  # extract the file
  log FILENAME OFFSETVAL SIZEVAL
  
next i
alon
mega-veteran
mega-veteran
Posts: 163
Joined: Mon Nov 29, 2010 10:38 am
Has thanked: 32 times
Been thanked: 2 times

Re: PS3 FPK file

Post by alon »

snakemeat wrote:Here's a QuickBMS script for the FPK archive, didn't look too hard at the TSB file.

Code: Select all

# FPK Extractor: Gundam Senki Record UC 0081 (PS3)
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
#
# Tested against "gaw_00.fpk" file 
#

idstring "FPK\x00"
endian big

get FILECOUNT long     # 0x04
get HEADERSIZE long    # 0x08
get DATASTART long     # 0x0C

for i = 0 < FILECOUNT

  # set record start
  set RECORDSTART long 0
  math RECORDSTART += i
  math RECORDSTART *= 0x50
  math RECORDSTART += HEADERSIZE
    
  # get info from current record
  goto RECORDSTART 
  get FILENAME string
  
  # set current offset and size  
  set OFFSETLOC long 0
  set SIZELOC long 0
  
  math OFFSETLOC += RECORDSTART
  math OFFSETLOC += 0x40

  math SIZELOC += RECORDSTART
  math SIZELOC += 0x48
  
  goto OFFSETLOC
  get OFFSETVAL long
  math OFFSETVAL += DATASTART
    
  goto SIZELOC
  get SIZEVAL long

  # extract the file
  log FILENAME OFFSETVAL SIZEVAL
  
next i

I apologize for the late greetings.

I'm enormously grateful for your help.
Post Reply