Skip to main content

Tools for duplicating actors and models, for modding the game 'The Legend of Zelda: Breath of the Wild'.

Project description

Installation

Install Python 3.6+, then run pip install botw-duplicator-tools.

Documentation

actorinfo_tool

Use -b for big-endian (Wii U) files.

Get entry data

actorinfo_tool [-b] ACTORINFO_FILE get ENTRY_NAME

(e.g. actorinfo_tool -b ActorInfo.product.sbyml get Armor_001_Head)

Delete entry

actorinfo_tool [-b] ACTORINFO_FILE del ENTRY_NAME

Duplicate entry

For making new actors.

actorinfo_tool [-b] ACTORINFO_FILE duplicate ENTRY_TO_DUPLICATE NEW_ENTRY_NAME

Edit variable in entry

actorinfo_tool [-b] ACTORINFO_FILE edit ENTRY_NAME VARIABLE_NAME NEW_VALUE

actorpack_tool

Use -b for big-endian (Wii U) files.

Copy instSize

For putting armor models over other armors

actorinfo_tool [-b] ACTORINFO_FILE copy_instsize FROM_ENTRY_NAME TO_ENTRY_NAME

actorpack_tool

Use -b for big-endian (Wii U) files.

Rename file inside pack

actorpack_tool [-b] ACTORPACK rename_file FILE_EXTENSION NEW_NAME

(e.g. actorpack_tool -b Enemy_Bokoblin_Junior.sbactorpack rename_file baiprog Enemy_Haha_Lol.baiprog )

Copy model and physics from one actor to another

For putting an armor over a different existing armor. Use -b for big-endian (Wii U) files.

actorpack_tool [-b] ACTORPACK copy_model FROM_ACTORPACK

bfres_duplicator

For correctly duplicating bfres files (also works on bitemico files). The name of the new bfres must be same length as the name of the original bfres.

(Simply copy-pasting the bfres/bitemico file won't make the required internal changes to the file).

bfres_duplicator OLD_FILE_PATH NEW_FILE_PATH

Guides

To put a duplicate of an armor's model (and physics) over a different one:

This example will put Armor_001_Head over Armor_050_Head, and Armor_002_Lower over Armor_050_Lower.

    • bfres_duplicator [-b] path/to/Armor_001.sbfres path/to/Arm050Hed.sbfres
    • bfres_duplicator [-b] path/to/Armor_002.sbfres path/to/Arm050Lwr.sbfres Do this for their Tex1 and Tex2 as well. This will make new files for you to put your new models and icons into. Only the head part of Arm050Hed will be loaded, and the same for the lower part of Arm050Lwr.
    • actorpack_tool [-b] path/to/Armor_050_Head.sbactorpack copy_model path/to/Armor_001_Head.sbactorpack
    • actorpack_tool [-b] path/to/Armor_050_Lower.sbactorpack copy_model path/to/Armor_002_Lower.sbactorpack This will move the armors' paramater files for their models and physics over to a different actorpack. Don't follow the instructions about rstbtool.
    • actorpack_tool [-b] path/to/Armor_050_Head.sbactorpack rename_file bmodellist Arm050Hed
    • actorpack_tool [-b] path/to/Armor_050_Lower.sbactorpack rename_file bmodellist Arm050Lwr This will rename the .bmodellist files in the actorpacks so that you can safely edit them. Again, don't follow the instructions about rstbtool.
  1. Inside Armor_050_Head.sbactorpack, open the ModelUser/Arm050Hed.bmodellist, and change all occurrences of Armor_001 to Arm050Hed. This changes the bfres file that the actor will load.

  2. Inside Armor_050_Lower.sbactorpack, open the ModelUser/Arm050Lwr.bmodellist, and change all occurrences of Armor_002 to Arm050Lwr.

  3. Use leoetlino's rstbtool on these files:

    • Actor/Pack/Armor_050_Head.bactorpack
    • Actor/Pack/Armor_050_Lower.bactorpack
    • Actor/ActorLink/Armor_050_Head.bxml
    • Actor/ActorLink/Armor_050_Lower.bxml

To make a whole new armor by duplicating an existing one:

This example will make a new Armor_999_Head out of Armor_001_Head.

  1. actorinfo_tool [-b] path/to/ActorInfo.product.sbyml duplicate Armor_001_Head Armor_999_Head This creates an entry in ActorInfo.product.sbyml for your new actor, registering it with the game.

  2. bfres_duplicator [-b] path/to/Armor_001.sbfres path/to/Armor_999.sbfres Do this for all 3 armor parts, including their Tex1 and Tex2, and also for all the associated .sbitemico files. This will make new files for you to put your new models and icons into.

  3. Copy and paste Armor_001_Head.sbactorpack to make a new Armor_999_Head.sbactorpack.

  4. actorpack_tool [-b] path/to/Armor_001_Head.sbactorpack rename_file bmodellist Armor_999_Head This will rename the .bmodellist file in the actorpack so that you can safely edit it. Don't follow the instructions about rstbtool.

  5. Inside Armor_999_Head.sbactorpack, rename ActorLink/Armor_001_Head.bxml to Armor_999_Head.bxml.

  6. Still inside Armor_999_Head.sbactorpack, open ModelList/Armor_001_Head.bmodellist, and change all occurrences of Armor_001 to Armor_999. This changes the bfres file that the actor will load.

  7. If you want to edit any other files in the actorpack, make sure to rename them to something new, and change the reference to the renamed file in the ActorLink .bxml to match the new name. This is because in BotW, files with the same name cannot have different content, even if they are in different .sbactorpacks. You can do this easily using the rename_file function of actorpack_tool.

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

botw_duplicator_tools-1.7.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

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

botw_duplicator_tools-1.7-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file botw_duplicator_tools-1.7.tar.gz.

File metadata

  • Download URL: botw_duplicator_tools-1.7.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for botw_duplicator_tools-1.7.tar.gz
Algorithm Hash digest
SHA256 d5a4456f88f9e66c6514b28827dde1efb6f5a03e4e9a35b9ff823638cdc28324
MD5 5f2e518a5cc60bf3d31411edfd80320c
BLAKE2b-256 1925559137f430fc93196ad0bf467b81f3c6ba4e37d61cf6db0a03081b8d6eaf

See more details on using hashes here.

File details

Details for the file botw_duplicator_tools-1.7-py3-none-any.whl.

File metadata

  • Download URL: botw_duplicator_tools-1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for botw_duplicator_tools-1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 bc0f0fe37ac818e9f246e9dda67804a6b919f31da76d2718299675bd5680727a
MD5 cff834caa70874c42c460f0d49bec4f8
BLAKE2b-256 3004922d8f9dcbd587d93dc15e52d7d7af02dd6ae380532a1282bd747f5d3063

See more details on using hashes here.

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