Home Gallery Resources The Team Rules chat Login Register
Pages: [1]
Author Topic: QuickBMS extract error (Xenoblade Cronicles)  (Read 12375 times)
0 Members and 1 Guest are viewing this topic.
Forte
Mega Kitten
*****
Offline Offline

Posts: 113


Artistic Overture...


View Profile Awards
« on: July 14, 2012, 07:05:41 PM »


The title pretty much says it all. With the use of QuickBMS I'm trying to extract .pkb files, which in turn contain several .brres files, from Xenoblade Cronicles Wii and it always results in an error like this (click the text for a better look):

- error in src\file.h line 178: myfopen()
Error: no such file or directory


I have the latest version of QuickBMS (0.5.13), proper script, and I'm certain that I'm following the correct steps, so I'm not sure what the problem could be. I'd really appreciate if someone could test it out themselves just to make sure I'm not the only one having this problem.

Link to the .pkb file - http://www.mediafire.com/download.php?0644xeqdg4h219i
QuickBMS - http://aluigi.altervista.org/papers/quickbms.zip
Here's the script I'm using (save as .txt file):
Code:
# Game: Xenoblade (Wii)
# by Falo - 2010
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
#
# usage :
#
# use WiiScrubber to extract all *.pkb files
# use any u8 tool (arc extractor) to extract static.arc
# you should then have *.pkb and *.pkh files
# use this script on *.pkb

endian big

Open FDDE PKH 1

get Temp long 1 # always 0x00FE1200
get Temp long 1
get ofsHashTable long 1  # not sure, HashTable or FileIDTable
get FileSize long 1
get numFiles long 1

set ofsSizeTable numFiles
set ofsOffsetTable numFiles

math ofsSizeTable *= 8
math ofsOffsetTable *= 2

math ofsSizeTable += ofsHashTable
math ofsOffsetTable += ofsSizeTable

for i = 0 < numFiles
   goto ofsHashTable 1
   get Hash long 1 # not sure, Hash or FileID
   get Temp long 1 # always 0x0
   goto ofsSizeTable 1
   get Size short 1
   goto ofsOffsetTable 1
   get Offset long 1

   math Size *= 2048
   math Offset *= 2048

   # use hash/fileid as filename
   set Name Hash
   set FileExt ".dat"

   # get FileExt
   goto Offset
   get FileID long

   if FileID = 1437218861 # Nintendo ARC (U8)
      set FileExt ".arc"
   endif
   if FileID = 1651664243 # Nintendo BRRES
      set FileExt ".brres"
   endif
   if FileID = 2142000 # Nintendo TPL
      set FileExt ".tpl"
   endif
   if FileID = 1264144384 # Xenoblade KYP -> BRRES Archive
      set FileExt ".kyp"
   endif
   if FileID = 1835229440 # Xenoblade MCA
      set FileExt ".mca"
   endif
   if FileID = 1145131057 # Xenoblade DAP1
      set FileExt ".dap"
   endif
   if FileID = 1280263241 # Xenoblade LODI
      set FileExt ".lod"
   endif

   string Name += FileExt

   log Name Offset Size

   # next file, increase all offsets
   math ofsHashTable += 8
   math ofsSizeTable += 2
   math ofsOffsetTable += 4
next i

CleanExit

Thanks ahead of time.
- Forte
« Last Edit: July 18, 2012, 01:27:32 AM by Forté » Logged

Forte
Mega Kitten
*****
Offline Offline

Posts: 113


Artistic Overture...


View Profile Awards
« Reply #1 on: July 18, 2012, 12:54:51 AM »


Bump. Anyone...?
Logged

pmpiano
Newbie Kitten
*
Offline Offline

Posts: 1


View Profile Awards
« Reply #2 on: July 21, 2012, 03:50:29 AM »


I had exactly the same problem, and I managed to make it work by running QuickBMS after dumping the entire contents of the Xenoblade .iso into its own folder. Apparently, you can't just extract a solitary .pkb file and run QuickBMS on it; the .pkb file needs to be located in the correct directory within the contents of the .iso.

You can also try running "quickbms_4gb_files.exe," which comes with QuickBMS. That's the one I was running when it finally worked.

What are you planning to do with the models anyway? If you figure out how to vertex edit them, please let me know.
Logged

Pages: [1]
Print
Jump to: