Python library for dealing with binary files from Halo Infinite
Project description
libpyinfinite
LibPyInfinite is a typed python library for parsing Halo Infinite binary files. It implements a module and tag reader that can be used indepently, including all types required.
Installation
Libpyinfinite is available on pypi.
pip install libpyinfinite
Example Usage
Reading a module instance:
from libpyinfinite.module.module import HiModule
def readModule():
with open(modulepath, "rb") as file:
moduleInstance = HiModule()
moduleInstance.read(file)
Creating a Oodle Decompressor:
Oodle is a decompression library used to pack module files, requiring DLL calls to oo2core_8_win64.dll. This requirement limits libpyinfinite's tag reader to 64-Bit Windows only, though a Linux implementation via linoodle is planned.
from libpyinfinite.module.oodle.oodleDecompressor import OodleDecompressor
decompressor = OodleDecompressor("./oo2core_8_win64.dll")
Reading the third tag from a module instance:
from libpyinfinite.tag.tag import HiTag
tagData = moduleInstance.read_tag(file, 3, decompressor)
tagInstance = HiTag()
tagInstance.read(tagData)
Accessing values from a tag:
print(tagInstance.Header.magic)
>>> "ucsh"
for ref in tagInstance.Dependencies:
print(f"Tag Reference: {ref.globalId}")
>>> "Tag Reference: FFFFFFF"
>>> "Tag Reference: 0A00000"
Credits
- MontagueM for OodleDecompressor
- Gamergotten for TagFramework
- Coreforge for libinfinite
- Z-15 for HITE
- Urium86 for pyhirtlib and LibHIRT
- Shockfire for Ausardocs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
libpyinfinite-0.0.1.tar.gz
(34.3 kB
view hashes)
Built Distribution
Close
Hashes for libpyinfinite-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4651d12f645ff19fe199d03c30432626a69756048dff1b56c835342cbb4135 |
|
MD5 | d85cec5ecfe5236cc86a34c462d1dc5c |
|
BLAKE2b-256 | 2813c3bdfae7e858499027e5ec354433d3eb2768975a642595c1d631c5efedc3 |