Crusader Posted November 4, 2023 Share Posted November 4, 2023 (edited) Wanted to extract TSFP .pak files, so later can use Noesis to convert the 3D models. What I currently know so far: Header = P5CK Next 4bytes little endian = indexOffset(0x01eed800) Num of files = based of rows at indexOffset First file begins at 0x800 What I currently don't know: Where the filesize hexdata is located at indexOffset? What filetype(xbr xbt?)? Where do other file data begin and end? Here is sample: ... 0x01eed800 10bd b2b9 0008 0000 1c90 0000 0000 0000 0x01eed810 c022 3423 00a0 0000 8010 0000 0000 0000 0x01eed820 7d78 14a2 00b8 0000 c055 0500 0000 0000 0x01eed830 691e 27b9 0010 0600 d055 0100 0000 0000 0x01eed840 1374 861f 0068 0700 c055 0500 0000 0000 0x01eed850 c1e5 b3c6 00c0 0c00 c055 0000 0000 0000 0x01eed860 f14d 2de8 0018 0d00 d055 0100 0000 0000 0x01eed870 5b14 eba5 0070 0e00 9c15 0000 0000 0000 0x01eed880 2dbe d1d8 0088 0e00 28ab 0000 0000 0000 0x01eed890 6852 7249 0038 0f00 00ab 0000 0000 0000 ... Help would much be appreciate. Edited November 5, 2023 by Crusader removed tsfpGun.7zip Link to comment Share on other sites More sharing options...
DKDave Posted November 4, 2023 Share Posted November 4, 2023 27 minutes ago, Crusader said: Wanted to extract TSFP .pak files, so later can use Noesis to convert the 3D models. What I currently know so far: Header = P5CK Next 4bytes little endian = indexOffset(0x01eed800) Num of files = based of rows at indexOffset First file begins at 0x800 What I currently don't know: Where the filesize hexdata is located at indexOffset? What filetype(xbr xbt?)? Where do other file data begin and end? Here is sample: ... 0x01eed800 10bd b2b9 0008 0000 1c90 0000 0000 0000 0x01eed810 c022 3423 00a0 0000 8010 0000 0000 0000 0x01eed820 7d78 14a2 00b8 0000 c055 0500 0000 0000 0x01eed830 691e 27b9 0010 0600 d055 0100 0000 0000 0x01eed840 1374 861f 0068 0700 c055 0500 0000 0000 0x01eed850 c1e5 b3c6 00c0 0c00 c055 0000 0000 0000 0x01eed860 f14d 2de8 0018 0d00 d055 0100 0000 0000 0x01eed870 5b14 eba5 0070 0e00 9c15 0000 0000 0000 0x01eed880 2dbe d1d8 0088 0e00 28ab 0000 0000 0000 0x01eed890 6852 7249 0038 0f00 00ab 0000 0000 0000 ... Help would much be appreciate. tsfpGun.7zip 9.97 MB · 2 downloads Each index entry is 0x10 bytes, so basically you've got a value which could be a filename hash (0xb9b2bd10), then the file offset (0x800 for the first one), file size (0x901c), then a blank entry which may be uncompressed size which isn't used in this archive. 1 Link to comment Share on other sites More sharing options...
Crusader Posted November 5, 2023 Author Share Posted November 5, 2023 Thanks Dave Managed to extract the paks. When using Noesis, textures works but no luck with models. Assuming TSFP and TS2 xbox texture format is same but not the model format. Link to comment Share on other sites More sharing options...
DigDugDoug Posted April 7 Share Posted April 7 Hey Crusader, what program are using to extract the .pak files? Could you share the script you used? I've been trying to extract using quick BMS using a zenhax script but I'm getting a broken output - i think my offset or something is off This is the script I've been trying to use: <bms games="'Time Splitters Future Perfect'" platforms="'PC'" ext="PAK"> IDString 0 P5CK ; SavePos TailOffOff 0 ; Get TailOff Long 0 ; Get TailSize Long 0 ; Set J Long 2048 ; GoTo J 0 ; Get FileNum Int 0 ; SavePos D 0 ; Get B Byte 0 ; GoTo D 0 ; Set FNT String file ; Set TJ Long TailOff ; For T = 1 To FileNum ; If B > 0 ; GoTo D 0 ; Get FNS Byte 0 ; GetDString FN FNS 0 ; SavePos D 0 ; Else ; Set FN String FNT ; String FN += T ; EndIf ; GoTo TJ 0 ; Get DUM Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get DUM Long 0 ; SavePos TJ 0 ; Log FN FO FS #FOO FSO ; Next T ; </bms> Would really appreciate your help :) Link to comment Share on other sites More sharing options...
DKDave Posted April 7 Share Posted April 7 6 minutes ago, DigDugDoug said: Hey Crusader, what program are using to extract the .pak files? Could you share the script you used? I've been trying to extract using quick BMS using a zenhax script but I'm getting a broken output - i think my offset or something is off This is the script I've been trying to use: <bms games="'Time Splitters Future Perfect'" platforms="'PC'" ext="PAK"> IDString 0 P5CK ; SavePos TailOffOff 0 ; Get TailOff Long 0 ; Get TailSize Long 0 ; Set J Long 2048 ; GoTo J 0 ; Get FileNum Int 0 ; SavePos D 0 ; Get B Byte 0 ; GoTo D 0 ; Set FNT String file ; Set TJ Long TailOff ; For T = 1 To FileNum ; If B > 0 ; GoTo D 0 ; Get FNS Byte 0 ; GetDString FN FNS 0 ; SavePos D 0 ; Else ; Set FN String FNT ; String FN += T ; EndIf ; GoTo TJ 0 ; Get DUM Long 0 ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Get DUM Long 0 ; SavePos TJ 0 ; Log FN FO FS #FOO FSO ; Next T ; </bms> Would really appreciate your help 🙂 Yeah, that one you've been using doesn't seem to work. Try this one attached. ts_xbox.zip Link to comment Share on other sites More sharing options...
DigDugDoug Posted April 8 Share Posted April 8 (edited) Ah amazing, thanks Dave! That seems to run successfully and actually extracts files with names which is a big step 😄 Crusader mentioned that he could read texture files with Noesis, I wonder if he had anything additional to his script to open the unknown filetypes within the pak files.. Edited April 8 by DigDugDoug Link to comment Share on other sites More sharing options...
willshakeyspear Posted June 3 Share Posted June 3 (edited) Not sure if this helps anyone, but there is a .pak extraction tool someone made: GitHub - OpenRadical/tspak: A small utility for extracting TimeSplitters .pak files. From the README on that, the creator notes that for FP files you also need an accompanying .c2n checksum file in the same directory for it to work. I was unable to find any .c2n files in the xbox .iso file that I have, but I was able to get it from the Game Cube .iso file. Tried using tspak.exe on the xbox .pak file, with the gcn .c2n and (duh) it didn't work. but maybe it's possible to translate from one to the other, some how? EDIT: forgot to add that I was able to use tspak on the game cube version, and it creates a nice directory structure with assets and models and textures all organized and named, but the file format is .gcr and .gct which I have no idea how to work with. I presume these are lower quality than the xbox textures, but at least I can get to them! No idea what to do next unfortunately chr.zip Edited June 3 by willshakeyspear added gcn info Link to comment Share on other sites More sharing options...
coconut Posted June 7 Share Posted June 7 On 4/8/2024 at 1:40 PM, DigDugDoug said: Ah amazing, thanks Dave! That seems to run successfully and actually extracts files with names which is a big step 😄 Crusader mentioned that he could read texture files with Noesis, I wonder if he had anything additional to his script to open the unknown filetypes within the pak files.. https://github.com/OpenRadical/noesis/blob/main/plugins/python/fmt_xbox.py On 6/3/2024 at 9:33 PM, willshakeyspear said: Not sure if this helps anyone, but there is a .pak extraction tool someone made: GitHub - OpenRadical/tspak: A small utility for extracting TimeSplitters .pak files. From the README on that, the creator notes that for FP files you also need an accompanying .c2n checksum file in the same directory for it to work. I was unable to find any .c2n files in the xbox .iso file that I have, but I was able to get it from the Game Cube .iso file. Tried using tspak.exe on the xbox .pak file, with the gcn .c2n and (duh) it didn't work. but maybe it's possible to translate from one to the other, some how? EDIT: forgot to add that I was able to use tspak on the game cube version, and it creates a nice directory structure with assets and models and textures all organized and named, but the file format is .gcr and .gct which I have no idea how to work with. I presume these are lower quality than the xbox textures, but at least I can get to them! No idea what to do next unfortunately chr.zip 11.8 kB · 2 downloads Yes, tspak meant for GC version. Link to comment Share on other sites More sharing options...
1Nobutora1 Posted October 2 Share Posted October 2 On 4/8/2024 at 12:18 AM, DKDave said: Yeah, that one you've been using doesn't seem to work. Try this one attached. ts_xbox.zip 408 B · 8 downloads Hello everyone, pleased to meet you, i have managed to extract all characters from TS2 and now i am trying with TS:Future Perfect i have tried this script and its true that it unpacks the .pak file but it unpacks all the files inside without any type or extension, is this intended? Best regards! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now