Difference between revisions of "Wii.py"

From WiiBrew
Jump to navigation Jump to search
Line 35: Line 35:
 
** setting.txt
 
** setting.txt
 
** Savegames
 
** Savegames
 +
 +
== Dependencies ==
 +
 +
* PyCrypto
 +
* Python 2.x - works with 2.5 and 2.6 for sure, may work with earlier releases.
 +
* PIL (Python Imaging Library)
 +
* wxPython if you want to use the toScreen() method of the TPL object
  
 
== Usage ==
 
== Usage ==
  
todo
+
Downloads the latest System Menu from NUS and packs it into a WAD:
 +
<source lang="python">
 +
import Wii
 +
Wii.NUS.download(0x000000010000002).dumpFile("SystemMenu-latest.wad")
 +
</source>
  
 
== Bugs & Suggestions ==
 
== Bugs & Suggestions ==
Line 60: Line 71:
 
== Credits ==
 
== Credits ==
  
This library was written by [[User:Xuzz|Xuzz]], [[User:SquidMan|SquidMan]], [[User:megazig|megazig]], [[User:Matt_P|Matt_P]], and [[User:Omega|Omega]]. It contains the LZ77 code written by [[User:marcan|marcan]], with few modifications. Thanks go out to marcan for providing the idea of writing a Wii library in Python!
+
This library was written by [[User:Xuzz|Xuzz]], [[User:SquidMan|SquidMan]], [[User:megazig|megazig]], [[User:Matt_P|Matt_P]], and [[User:Omega|Omega]]. It contains the LZ77 code written by [[User:marcan|marcan]], with few modifications. Thanks go out to marcan for providing the idea of writing a Wii library in Python! Credit goes to Daeken for the Struct.py -- thanks a ton, its awesome!

Revision as of 17:19, 19 August 2009

Wii.py
File:Wiipy.png
General
Author(s)Xuzz, SquidMan, megazig and more
TypeFramework library
Version0.85
LicenceGPL
Links
Download

Wii.py is a GPL licensed Wii library written in and for Python. It provides editors and classes for many file types and files present on the Wii, especially files in banners. It was created as a replacement for the unreleased and never to be released pywii, written by marcan, but has since expanded in some areas that pywii did not cover and not completed others (such as Wii Optical Disc editing) that pywii has support for.

Features

  • Loading and easy editing of U8 archives
  • Simple, easy classes for TMDs and Tickets, with methods to load from and save to files
  • Simple Title object to hold information about a title
    • Can pack into a WAD
    • Can download from NUS
    • Can unpack into a directory structure
  • Convert images to/from PNG and TPL
  • Convert WAV sound the BNS sound (used in banners)
  • Add IMET and IMD5 headers
  • Load and extract files from Wii Optical Discs
  • Create a fake 'NAND' that you can modify with a Python version of ES and ISFS from libogc
  • Decompress LZ77 compressed files
  • Work with these file types:
    • loc.dat
    • CCF
    • iplsave.bin
    • uid.sys
    • content.map
    • config.dat (network config)
    • setting.txt
    • Savegames

Dependencies

  • PyCrypto
  • Python 2.x - works with 2.5 and 2.6 for sure, may work with earlier releases.
  • PIL (Python Imaging Library)
  • wxPython if you want to use the toScreen() method of the TPL object

Usage

Downloads the latest System Menu from NUS and packs it into a WAD:

import Wii
Wii.NUS.download(0x000000010000002).dumpFile("SystemMenu-latest.wad")

Bugs & Suggestions

Come join us on #HACKERCHANNEL on EFNet to report bugs, provide suggestions, and get help. Wii.py is a HACKERCHANNEL production. If you update any of the code, feel free to share and we will be happy to merge it in with the latest version if it is useful and fits in to the library.

Apps using Wii.py

Update History

0.85 - August 19, 2009

  • First 'real' public release.
  • Most classes using the so-called 'new API'

Credits

This library was written by Xuzz, SquidMan, megazig, Matt_P, and Omega. It contains the LZ77 code written by marcan, with few modifications. Thanks go out to marcan for providing the idea of writing a Wii library in Python! Credit goes to Daeken for the Struct.py -- thanks a ton, its awesome!