ARCTool
ARCTool | |
General | |
---|---|
Author(s) | tpw_rules |
Type | PC utility |
Version | 0.3b |
Links | |
Download | |
Source |
ARCTool is a Python script for extracting Yaz0, RARC, and U8 archives. These are used in many Nintendo games, and sometimes have the extension arc, hence the name.
Info
The inspiration for this tool came about when I wrote a RARC extractor and realized that all the files I wanted to extract were U8, but they still had the arc extension.
I have confirmed Yaz0 and U8 support to be 100% working. RARC works, but I have not verified its output against another tool to be absolutely sure.
Requirements
Python 2.5 or higher (not Python 3.x however). Download Python for your OS here.
Tested with Python 2.5 and 2.6 on Mac OS X 10.5.8. It should work with Windows(tested) and Linux with a suitable version of Python installed.
Usage
python ARCTool.py [-qlh] [-o <output>] <inputfile> [inputfile2] ... [inputfileN]
Options
--version show program's version number and exit -h, --help show this help message and exit -o FILE/DIR, --output=FILE/DIR write output to FILE/DIR. If you are extracting multiple archives, all of them will be put in this dir. -q, --quiet don't print anything (except errors) -l, --list print a list of files contained in the specified archive (ignores -q)
Known Bugs
None yet :D
If you find one, message me on IRC (nick is tpw_rules) or leave a note on the talk page.
Changelog
0.3b
- Fixed a bug with RARC extraction where it would improperly detect . and .. entries and either skip directories or recurse infinitely. (Again, my test archives decieved me!)
- Added the -l option which lists the contents of the archive without extracting them.
- Can now be imported as a module.
0.2b
- Fixed a bug in the U8 extractor where it would not change directories properly. I know I said it was 100% working, but the bug was not triggered by the archives I was using to test.
- Now supports extracting multiple archives at once. Just specify them one after another on the command line.
0.1b
- Initial release
Thanks To
- #python on freenode for helping me with some stupid mistakes.
- #wiidev for, again, helping me with stupid mistakes (and not so stupid ones).
- YAGCD and the WiiBrew wiki for documentation and example code on the various formats.
- Magicus for parse-u8.c which I used for testing.
- Everybody else I forgot.