Because it looks like one of your programs (the Yay0 decoder or Thakis' extractor) doesn’t support the files, I've created an extractor for you.
The extractor is a console-program and can extract all files found in ARC archives (including the SZP archives from Luigi’s Mansion). If the archive is compressed or the files inside the archive are compressed individually, they will automatically be decompressed during the extraction. The extractor supports both Yaz0 and Yay0 compressed files. Because the extractor supports decompression, you can feed the archives in compressed form (as found on the disk image) directly to the extractor. Start the extractor without parameters to get more info about the usage.
I have written a (R)ARC packer for Four Swords Adventures as a part of my level editor for the game(EFSAdvent).
While it is capable of repacking the files that Lunaboys program extracts there is still the problem of returning those rarc files to the .szp files and possibly also compressing with Yay0 again(the game may work without the files being compressed).
From a quick look at the .szp files there seems to be a lot of data that is not part of the rarc and thus is left behind when the rarc files are extracted, or is this part of the yay0 compression?
I'll explain why I need rarc packer.
In ZeldaTP, there is a file LogoPalUK.arc (in Root/Res/Layout folder).
It contains this at the beginning of the game:
There are two *.bti files - first one (warning.bti) is the main text ("warning -...." etc..."), the second one (warning_pstart.bti) is "press any button...".
I successfully changed the first picture (made a title screen for a russian translation of ZeldaTP that I'm working on now):
But I can't change the second one ("press any button to continue").
This two bti files are in rarc file which contains some other bti files.
My changed "warning.bti" file became the same size that original one and I inserted it to rarc in hex-editor.
But the second one (warning_pstart.bti) becomes much bigger, so I can't insert it in hex-editor - I need to repack rarc, containing all this files, then yaz0-it and then finally put back into ISO.
Well here's a current build of my packer RARC Packer.
To pack files just drag and drop the "root" folder onto the exe. In the case of LogoPalUK.arc the root folder is the one named "archive". It only goes two folders deep currently, but that's been sufficient for everything I've had to work with, let me know if you need more.
Also the format is not 100% reversed so it's possible that TP will check some aspect of the rarc that isn't built properly and won't work, but hopefully not.
You may find you don't need to compress the new files with yaz0, in FSA files can be compressed or not and the game reads them either way.
There are no compression ratio in Zelda RARCs. Any.
Just Rarc header, then some data, then file list, then some data (may be empty (00-s), then the header of the first file, it's data, then the header of the second file, it's data, etc...
By two folders deep I mean two inside the root folder, so it should handle it even if there was another folder inside "dat", for example.
I didn't mean there was any compression, only that there are a few parts of the rarc format that my packer assumes are always the same, though they might not be, which could cause problems. I doubt it will though, all the important things are working.
I'd spent many hours on writing an ARC packer and now it’s ready to be released, I see this.
Mine is a little different from Jth’s packer:
1. It supports an unlimited directory-depth
2. It stores all filenames in lowercase text
3. It can optionally save to a user-given filename
All ARC archives I’ve seen until now are only using lowercase filenames and I don’t know if the game-engine is case-sensitive. Because of that my ARC packer converts all filenames and directory names to lowercase before saving them to the archive.
Since you’ve already got an ARC packer, I guess mine is not needed anymore.
In case anyone is interested in my packer, I’ve posted it here.
I’ve tested your packer on my ArcPack test-directory and it’s working as it should be. You’ve also got the checksum generation of the filenames implemented. I know how difficult it is to write the packer. Great job!
Thanks Lunaboy, it sure was a pain to write! Any chance you could post your source, or just the part that allows it to do unlimited folder depth? I'm pretty new to coding and I wasn't really sure how to implement that in my packer so I just had the folder packing code nested again inside itself ^^;