Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dk64_lib-0.1.1.tar.gz (100.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dk64_lib-0.1.1-py3-none-any.whl (70.4 kB view details)

Uploaded Python 3

File details

Details for the file dk64_lib-0.1.1.tar.gz.

File metadata

  • Download URL: dk64_lib-0.1.1.tar.gz
  • Upload date:
  • Size: 100.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dk64_lib-0.1.1.tar.gz
Algorithm Hash digest
SHA256 69abb1b3b711d0419aab8dbe5ee8ed845d2e33107afad4c694633175482f3fdd
MD5 221207dbd308f6c38093d10794eec9ea
BLAKE2b-256 7abf5b7f42e6ff958bb06a236e8b39618a53b36127353e3e233736aa2dcee572

See more details on using hashes here.

Provenance

The following attestation bundles were made for dk64_lib-0.1.1.tar.gz:

Publisher: publish.yml on ThomasJRyan/dk64_lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dk64_lib-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: dk64_lib-0.1.1-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

Hashes for dk64_lib-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5481e20ded46e602f58d1591d202837bc2924df8ac026b71dfe7a19ae1eb951f
MD5 5b4f45b9dde697c0a10ad80ae5771191
BLAKE2b-256 1f493967310c91d850cb3e3dd4e9dcecf43bd6fce98c59a2de9d42f85fc91b57

See more details on using hashes here.

Provenance

The following attestation bundles were made for dk64_lib-0.1.1-py3-none-any.whl:

Publisher: publish.yml on ThomasJRyan/dk64_lib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page