botw_havok
A library for manipulating Breath of the Wild Havok packfiles.
"""
Removing a RigidBody
"""
from botw_havok import Havok
hk = Havok.from_file('/mnt/hdd/A-1-0.shksc') # can also be Yaz0 compressed
hk.deserialize()
del hk.files[1].data.contents[0].namedVariants[0].variant.systems[0].rigidBodies[-1]
hk.serialize()
hk.to_file('/mnt/hdd/A-1-0_edited.hksc')
"""
Converting between formats
"""
from botw_havok import Havok
hk0 = Havok.from_file('/mnt/hdd/0-0.shktmrb')
hk0.deserialize()
hk0.to_json('/mnt/hdd/0-0.json')
hk1 = Havok.from_json('/mnt/hdd/0-0.json')
hk1.to_wiiu() # or hk1.to_switch()
hk1.serialize()
hk1.to_file('/mnt/hdd/0-0_nx.hktmrb')
"""
Comparing contents
"""
from botw_havok import Havok
hk0 = Havok.from_file('/mnt/hdd/E-4-1_u.shksc')
hk1 = Havok.from_file('/mnt/hdd/E-4-1_nx.shksc')
hk0.deserialize()
hk1.deserialize()
hk0.files[1].data.contents == hk1.files[1].data.contents
This library comes with these commands:
hk_to_json: Havok packfile -> JSONjson_to_hk: JSON -> Havok packfilehk_compare: Compare two or more packfileshkrb_extract: Extract shapes from Static Compound files by HashIdhksc_to_hkrb: Convert all Static Compound shapes into a single HKRB
-
At the moment, only Havok Physics files (*.hksc, *.hkrb, *.hktmrb) can be read.
-
Most of the smaller ones deserialize and serialize flawlessly and the resulting packfiles are nearly identical to the originals.
-
The larger files (particularly StaticCompound ones) are usually smaller than the originals after serialization. That's caused by the originals having duplicate Havok objects that are removed and referenced instead.
Metadata
Release files for botw-havok 0.3.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| botw_havok-0.3.18.tar.gz | 51.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| botw_havok-0.3.18-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 168.8 kB
Release files / botw_havok-0.3.18.tar.gz
| Download URL | botw_havok-0.3.18.tar.gz |
|---|---|
| Size | 51.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8d92c5d60d7f9ffb63c876e59ceda456e732c15b539a289dd08ed6588afcd310
|
|
BLAKE2b-256 checksum How to use checksums |
84f6c222ba63f5aa97d260dfb7560ec1a251a4164a564fdc3b0e5a95dd64c687
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
|
Release files / botw_havok-0.3.18-py3-none-any.whl
| Download URL | botw_havok-0.3.18-py3-none-any.whl |
|---|---|
| Size | 117.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8752198d047d5a743e2b3b748af62701f1fbcb8d8dcbef4e5941bd67bcad6487
|
|
BLAKE2b-256 checksum How to use checksums |
0f545a17bf0966c61d0ce61979c685213a94743563f52a3fd759ae7a5cd6b84e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0
|
Security for botw-havok 0.3.18
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.