No project description provided
Project description
DK64 Lib
A library for extracting data from a Donkey Kong 64 ROM
Installation
pip install dk64-lib
Examples
Text data
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
for text_line in rom.text_tables[0].text_lines:
print(text_line.text)
# WELCOME TO THE BONUS STAGE!
# HIT AS MANY KREMLINGS AS YOU CAN! PRESS a_button TO FIRE A MELON.
# KEEP THE TURTLES SPINNING BY FEEDING THE SNAKES MELONS. PRESS a_button TO FIRE A MELON.
# LINE UP FOUR BANANAS TO WIN THE JACKPOT! PRESS a_button TO SPIN AND STOP THE REELS.
# RELOAD!
# HURRY!
# ...
Geometry data
Export every supported asset type to organized folders:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.export_all("dk64_export")
Export every map to GLB for Blender-friendly textured geometry:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.export_geometries("dk64_export/geometries")
Export every map to OBJ with MTL files and PNG texture assets:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.export_geometries("dk64_export/geometries", geometry_format="obj")
Export every map to separate glTF, binary, and PNG files:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.export_geometries("dk64_export/geometries", geometry_format="gltf")
Export every map to DAE with PNG texture assets:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.export_geometries("dk64_export/geometries", geometry_format="dae")
Export a single map as textured OBJ:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.geometry_tables[0].save_to_obj("0.obj")
Export a single map as textured GLB or glTF:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.geometry_tables[0].save_to_glb("0.glb")
rom.geometry_tables[0].save_to_gltf("0.gltf")
Export a single map as textured DAE:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.geometry_tables[0].save_to_dae("0.dae")
Export a legacy geometry-only OBJ:
from dk64_lib.rom import Rom
rom = Rom("Donkey Kong 64 (USA).z64")
rom.geometry_tables[0].save_to_obj("0.obj", include_textures=False)
To-do
- Expand textured geometry export format coverage and texture-state accuracy
- Extract models and convert to objs
- Extract audio and convert to some sort of audio file
- Extract everything else
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dk64_lib-0.2.0.tar.gz.
File metadata
- Download URL: dk64_lib-0.2.0.tar.gz
- Upload date:
- Size: 100.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8016e5741fcf75b853cf076a92d96cefad9a0a60f0612645f97fe930e805a60
|
|
| MD5 |
434ef8089981695e01380a121845ab90
|
|
| BLAKE2b-256 |
6942cd189c72063b06d01b0ee8fb796313f11d44599cae698fc69b3f9fa1013b
|
Provenance
The following attestation bundles were made for dk64_lib-0.2.0.tar.gz:
Publisher:
publish.yml on ThomasJRyan/dk64_lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dk64_lib-0.2.0.tar.gz -
Subject digest:
d8016e5741fcf75b853cf076a92d96cefad9a0a60f0612645f97fe930e805a60 - Sigstore transparency entry: 1399198922
- Sigstore integration time:
-
Permalink:
ThomasJRyan/dk64_lib@71a1defff09546f48ae455869b0be0e146e39940 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/ThomasJRyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@71a1defff09546f48ae455869b0be0e146e39940 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dk64_lib-0.2.0-py3-none-any.whl.
File metadata
- Download URL: dk64_lib-0.2.0-py3-none-any.whl
- Upload date:
- Size: 70.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e44df4bf36119e689c98ee2b9ef82763d0587605269f81f18f490baaee30057c
|
|
| MD5 |
163ac143a66c1c53a0a7ed5f92e7555a
|
|
| BLAKE2b-256 |
042a1f1be9cfa911974e91d156f5f2de9526efea22eba98e1beb5045eddd8ed0
|
Provenance
The following attestation bundles were made for dk64_lib-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on ThomasJRyan/dk64_lib
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dk64_lib-0.2.0-py3-none-any.whl -
Subject digest:
e44df4bf36119e689c98ee2b9ef82763d0587605269f81f18f490baaee30057c - Sigstore transparency entry: 1399198932
- Sigstore integration time:
-
Permalink:
ThomasJRyan/dk64_lib@71a1defff09546f48ae455869b0be0e146e39940 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/ThomasJRyan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@71a1defff09546f48ae455869b0be0e146e39940 -
Trigger Event:
push
-
Statement type: