Python library for parsing 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 or in conjunction, with a loader utility for ease of use.
Installation
Libpyinfinite is available on pypi.
pip install libpyinfinite
Example Usage
Reading a module:
from libpyinfinite.module.moduleLoader import ModuleLoader
loader = ModuleLoader()
# replace game_folder with Halo Infinite installation directory.
loader.loadModule("{game_folder}/deploy/any/globals/globals-rtx-new.module")
Creating a Oodle Decompressor:
Oodle is a decompression library used to pack module files, requiring DLL calls to oo2core_8_win64.dll. This is achieved by either directly specifying the DLL or in Linux systems, using linoodle.
loader.createDecompressor("./oo2core_8_win64.dll") # Windows 64-Bit
loader.createDecompressor("./linoodle.so") # Linux/Linux-like. (Requires DLL to be in the same directory.)
Reading a tag from loaded modules:
loaded_tag = loader.loadTag(0x5631) # load tag ID 0x5631
if loaded_tag: # check if it has loaded
print(loaded_tag.Header.assetChecksum)
>>> 7056930766363866713
Using defined tag structures
# Reading "RUCY" tag
from libpyinfinite.tag.definitions.rucy import RuntimeCoatingStyleTag
if loaded_tag.ModuleEntry.classId == b"rucy": # check if tag is of type "rucy"
rucy = RuntimeCoatingStyleTag()
rucy.read(loaded_tag.Handle) # Handle is the raw data from the tag.
print(rucy.info.emissiveIntensity)
>>> 0.00
Credits
- MontagueM for OodleDecompressor
- Gamergotten for TagFramework
- Coreforge for libinfinite
- Z-15 for HITE
- Urium86 for pyhirtlib and LibHIRT
- Shockfire for Ausardocs
Project details
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.3.tar.gz
(37.8 kB
view details)
Built Distribution
File details
Details for the file libpyinfinite-0.0.3.tar.gz
.
File metadata
- Download URL: libpyinfinite-0.0.3.tar.gz
- Upload date:
- Size: 37.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f78062f06e9ae6041396b218b751dfd3bb2204faf7f956e39fe4acf49fb1bbbf |
|
MD5 | 8cac2e477d52ab3d978e3499233fe0ff |
|
BLAKE2b-256 | 64cc0d87e789579ce97207eef2a07d3af113744ba6e2b5a20ca3b4190ff8d65a |
File details
Details for the file libpyinfinite-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: libpyinfinite-0.0.3-py3-none-any.whl
- Upload date:
- Size: 45.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 682437badb5d686f5ef14a810daca0a4763f160fcf70eff3f9c3642c2285e4a8 |
|
MD5 | de9538648b6b101a1b55b35b23d5e415 |
|
BLAKE2b-256 | d9be28667b7805a361ae06c413dc079b29be7c2e6bf9b95f140a6549ac20a198 |