Difference between revisions of "Paired ARC+DIR file"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
(I wrote a bad article. Will fix over time.)
 
(Added image)
Line 13: Line 13:
 
Anyway, this isn't all their script would do.  It would also create a partner '''DIR''' file describing the directory path, treating datadir as the root, to each file that was stored in the ARC.  It's sort of like emulating the directory path I think, plus it tells us the order of the files in the ARC file.
 
Anyway, this isn't all their script would do.  It would also create a partner '''DIR''' file describing the directory path, treating datadir as the root, to each file that was stored in the ARC.  It's sort of like emulating the directory path I think, plus it tells us the order of the files in the ARC file.
  
Oh and also the four bytes starting at 0x4 is the size of the DIR file in bytes.  Just thought I'd share that.
+
[[File:DIR_file_documentation.png]]
  
  

Revision as of 09:21, 5 March 2018

Pikmin 1 has a very stupid ARC format that isn't compatible with LunaBoy's RARC tools and makes everyone very sad.

However, that doesn't mean that it is difficult to understand-- quite the contrary.

The Basics

A lot of this is currently theory and unprofessional sounding, but hear me out. The developers of Pikmin, unsure of how big of a game they were going to make, made a very simple compression script for their files. This script would take a directory or subdirectory in root\datadir and create a compressed copy of all the files in root\datadir\archives. This is the ARC file, it is named after the lowest directory accessed, and simply put, it is every file in that directory smushed together with loads of 0xCCCC between them to differentiate.

How many sets of 0xCCCC? I don't know yet.

Anyway, this isn't all their script would do. It would also create a partner DIR file describing the directory path, treating datadir as the root, to each file that was stored in the ARC. It's sort of like emulating the directory path I think, plus it tells us the order of the files in the ARC file.

DIR file documentation.png


The bloody hell are you getting on about?

So I have been trying to get Beady Long Legs to leave its arena on console. I specify "on console" because I have been able to get him to leave his arena in the Windows x86 debugger for 6 1/2 months, but no matter what I did, the edits I did to the files on PC didn't change anything on console. Well, today I was finally able to get BLL OoA on console/Dolphin by editing the archived version of bosses\kumo\parms.bin that is stored within archives\bosses.arc. Using bosses.dir as a guide, I was able to locate the archived copy of the parameters file, edit it, and run it on console/Dolphin. You can watch it here. The next step is to take what I've described and make a tool, right? I don't know any good programming languages, and if I'm the one making the tool, get ready to wait another 6 1/2 months.


Summary

Why haven't we figured out this format yet we have carbon copies of every file in every ARC present on the disc. Someone make an unpacker+packer so we can hack this gaem pls and thank.