In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "ARCTool"

From WiiBrew
Jump to navigation Jump to search
(Undo revision 88005 by Cease and Desist (Talk))
 
Line 1: Line 1:
This is a warning to the owners of this site. My name is Shigeru Miyamoto and I am disappoint. You are breaking the DCMA laws. DCMA laws protect our freedoms far into the furture. There is over 9000 pages here and I want every single one of them gone by next week. This is not a threat but a promise. Every day after that week is up, I will sue you for $100,000 a day.
+
{{Infobox homebrew
 +
|title    = ARCTool
 +
|author  = [[User:tpw_rules|tpw_rules]]
 +
|type    = pc utility
 +
|version  = 0.3b
 +
|download = Media:ARCTool_v0.2b.zip
 +
|source = http://github.com/tpwrules/ARCTool
 +
}}
 +
'''''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.
  
Thank you for using Nintendo. We must ensure our freedoms through use of the DCMA. This not the analog millennium one passed in 1000 A.D., but the digital one.
+
==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.
  
==CEASE==
+
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.
AND DESIST
+
 
 +
===Requirements===
 +
Python 2.5 or higher (not Python 3.x however). Download Python for your OS [http://python.org/download/ 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==
 +
<pre><nowiki>python ARCTool.py [-qlh] [-o <output>] <inputfile> [inputfile2] ... [inputfileN]</nowiki></pre>
 +
 
 +
===Options===
 +
 
 +
<pre>--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)</pre>
 +
 
 +
==Known Bugs==
 +
None yet :D
 +
 
 +
If you find one, message me on IRC (nick is tpw_rules) or leave a note on the [[Talk:ARCTool|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==
 +
*<nowiki>#python on freenode for helping me with some stupid mistakes.</nowiki>
 +
*<nowiki>#wiidev for, again, helping me with stupid mistakes (and not so stupid ones).</nowiki>
 +
*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.

Latest revision as of 21:38, 7 August 2010

ARCTool
General
Author(s)tpw_rules
TypePC utility
Version0.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.