Posted July 6, 2020 (edited) See next post for v 0.2.0 information Sabre unPacker is a program that will extract the contents from a s3dpak file (and with future updates hopefully other sabre files) Icon is still being developed. Currently it's in beta version. If there are any features you want to see added, just put them in the comments. To use the program simply open a *compressed* s3dpak file ceaflate will decompress the file and add it to the TMP directory. Select the files you wish to extract, and select a location for them to go. profit. I hope this is a good step towards helping research the engine a bit more. future plans are to repack, and add the ability to read ipak Big thanks to Kavawuvi for letting me use ceaflate. Source License: GNU GPL v3 SuP 0.2.0.rar Edited July 9, 2020 by Zatarita v 0.2.0 Ryx, ShikuTeshi, Kavawuvi and 3 others like this Specifications: S3dpak - format - Imeta/ipak - format - Fmeta - format Programs: H2a-inflate - SuP Share this post Link to post Share on other sites
Posted July 9, 2020 SuP v 0.2.0 prebuild v 2 is out! What's new? Added the ability to repack s3dpaks, as well as partial support for ipak. How does it work? Viewing, and exporting data is the same as before! just load up the s3dpak and click extract. Spoiler Importing data has been added. To use the feature use the select drop down, or right click and go to import. You'll see the new import window open. You can import as many files as you like, just make sure you match the file type to the correct format. You can see the format in the new "types" column in the main window. When importing SceneData you MUST have the file be labeled "SceneData" exactly as shown, caps and everything. After you import you'll see the main window update the new contents of the file, adjust the offsets, and overwrite existing data. If you've changed your mind on importing a file, you can delete it from the file. You can also create a new file from scratch by importing on an empty window (litterally JUST realized I don't have a new file option, will add in v 0.3.0 for now restart the program) Once done, you can save the file with file>Save as.. and it will automatically create the file, and compress if again for you. Spoiler Ipak Support This version also introduced limited Ipak support. It can read almost all of the data types (currently it just wont save it if it doesn't know how. I figured that was better than a popup every time you tried to extract in a batch) The header is added using Rawtex. (A program developed by Daemon1 and used with permission. Check the readme for details on the program.) To load a Ipak you need to change the open file type to Ipak. You need to make sure the Ipak is in the same location as the .csv file which contains all the texture information. Once ceaflate decompresses the file (Please be patient, the file is huge; it does take some time) It will populate in the main window, just like a s3dpak. From there you can extract one by one(if SuP knows how to handle the format) or you can extract all the files SuP knows how to. Do note you cannot save Ipaks currently, you cannot import into Ipaks, and there are no fail safes to prevent you from trying. the program will more than likely crash if you will. This is still beta release. Spoiler Big thanks to kavawuvi for CEAFlate, and Daemon1 for rawtex. Source license: GNU GPL v3 Download: Updated in original post Takka, Kavawuvi, ShikuTeshi and 1 other like this Specifications: S3dpak - format - Imeta/ipak - format - Fmeta - format Programs: H2a-inflate - SuP Share this post Link to post Share on other sites
Posted October 5, 2020 Tutorial on using SuP to edit s3dpaks and such ShikuTeshi, Zatarita and Takka like this Share this post Link to post Share on other sites
Posted January 12, 2021 (edited) Hi there, every TimeShift .s3dpak I'm throwing at Sabre UnPacker seems to be erroring out. (')> Decompressing 1425 chunks... terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. Edited January 12, 2021 by Demon27248 Share this post Link to post Share on other sites
Posted January 12, 2021 (edited) 3 hours ago, Demon27248 said: Hi there, every TimeShift .s3dpak I'm throwing at Sabre UnPacker seems to be erroring out. (')> Decompressing 1425 chunks... terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. Hmm this seems to be an issue with the compression. SuP requires the map be compressed still. It handles compression and decompression for you. SuP uses ceaflate to handle compression, it's located inside the ceaflate folder. I made a compression tool after releasing this: Try using this to compress the file, then try to open it will SuP again Edited January 12, 2021 by Zatarita Specifications: S3dpak - format - Imeta/ipak - format - Fmeta - format Programs: H2a-inflate - SuP Share this post Link to post Share on other sites
Posted January 13, 2021 Thanks. that was one of the issues - TimeShift s3dpaks aren't compressed the same as Halo: CEA ones. Compressing with CEAflate works (although the files end up bigger), then decompressing with CEAflate ran through SuP also apparently works but SuP just crashes after it's done. Share this post Link to post Share on other sites
Posted January 14, 2021 I think I'll need a copy of the s3dpak to be able to diagnose (▀̿Ĺ̯▀̿ ̿) And time shift!!! Wait! That's another saber game, yes? It likely has new file types. Do you have discord? Specifications: S3dpak - format - Imeta/ipak - format - Fmeta - format Programs: H2a-inflate - SuP Share this post Link to post Share on other sites