为python编写的wii库
Wii.p的Python项目详细描述
来自efnet上wii.py的wii.py是一个gpl许可的wii库,用python编写。它为wii上的许多文件类型和文件提供编辑器和类,特别是横幅中的文件。它是为了取代Marcan编写的PyWii,PyWii没有发布也永远不会发布,但后来在PyWii没有覆盖的一些领域进行了扩展,也没有完成PyWii支持的其他领域(如Wii光盘编辑)。
派生自:http://wiibrew.org/wiki/Wii.py
安装
pip install Wii.py
功能
- u8档案的加载和轻松编辑
- TMD和票证的简单易用类,具有从文件加载和保存到文件的方法
- 用于保存标题信息的简单标题对象
- 可以打包成一团
- 可从新加坡国立大学下载
- 可以解压到目录结构中
- 将图像转换为PNG和TPL
- 转换WAV声音BNS声音(用于横幅)
- 添加IMET和IMD5标题
- 从Wii光盘加载和提取文件
- 创建一个假的“nand”,您可以使用libogc中的python版本的es和isfs进行修改
- 解压缩LZ77压缩文件
- 使用这些文件类型:
- 位置日期
- 共因失效
- iplsave.bin
- uid.sys
- content.map
- config.dat(网络配置)
- setting.txt
- 保存游戏
依赖关系
- 密码
- pil(python图像库)
- wxpython(可选)如果要使用tpl对象的toscreen()方法
pycrypto和pil(枕头叉)是pypi依赖关系的一部分。如果您不做gui工作,则不需要wxpython。
用法
不幸的是,还没有真正的文档。现在,这里有一些简短的例子来说明您的代码有多短。
从nus下载最新的系统菜单并将其打包成wad:
import Wii Wii.NUS.download(0x000000010000002).dumpFile("SystemMenu-latest.wad")
下载系统菜单版本289,并将内容索引0替换为文件“patch.bin”,将标题ID更改为1-3,然后保存到WAD“patched.wad”:
import Wii sysmenu = Wii.NUS.download(0x000000010000002, 289) sysmenu[0] = open("patch.bin", "rb").read() sysmenu.tmd.setTitleID(0x0000000100000003) sysmenu.tik.setTitleID(0x0000000100000003) sysmenu.dumpFile("patched.wad")
将第一个命令行参数wad解压缩到文件夹“inside”:
import Wii, sys wadf = Wii.WAD.loadFile(sys.argv[1]) wadf.dumpDir("inside")
将第一个命令行参数u8 archive解压缩到文件夹“unpacted”:
import Wii, sys u8archive = Wii.U8.loadFile(sys.argv[1]) u8archive.dumpDir("unpacked")
将png作为第一个参数转换为保存在“out.tpl”中的tpl:
import Wii, sys TPL(sys.argv[1]).toTPL("out.tpl")
将sound.wav转换为sound.bns:
import Wii, wave wav = wave.open("sound.wav", 'rb') channelnumber = wav.getnchannels() buffer = wav.readframes(wav.getnframes()) samplerate = wav.getframerate() wav.close() bns = Wii.BNS() bns.create_bns(buffer, samplerate, channelnumber) bns.write("sound.bns")
学分
这个图书馆是由许茨、斯奎德曼、梅加齐、马特·普、欧米茄和柠檬人写的。它包含marcan编写的lz77代码,很少修改。struct.py模块记入daeken。