Package: botw-duplicator-tools
InstallationInstall Python 3.6+, then runpip install botw-duplicator-tools.Documentationactorinfo_toolUse-bfor big-endian (Wii U) files.Get entry dataactorinfo_tool [-b] ACTORINFO_FILE get ENTRY_NAME(e.g.actorinfo_tool -b ActorInfo.product.sbyml get Armor_001_Head)Delete entryactorinfo_tool [-b] ACTORINFO_FILE del ENTRY_NAMEDuplicate entryFor making new actors.actorinfo_tool [-b] ACTORINFO_FILE duplicate ENTRY_TO_DUPLICATE NEW_ENTRY_NAMEEdit variable in entryactorinfo_tool [-b] ACTORINFO_FILE edit ENTRY_NAME VARIABLE_NAME NEW_VALUEactorpack_toolUse-bfor big-endian (Wii U) files.CopyinstSizeFor putting armor models over other armorsactorinfo_tool [-b] ACTORINFO_FILE copy_instsize FROM_ENTRY_NAME TO_ENTRY_NAMEactorpack_toolUse-bfor big-endian (Wii U) files.Rename file inside packactorpack_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 anotherFor putting an armor over a different existing armor. Use-bfor big-endian (Wii U) files.actorpack_tool [-b] ACTORPACK copy_model FROM_ACTORPACKbfres_duplicatorFor 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_PATHGuidesTo put a duplicate of an armor's model (and physics) over a different one:This example will putArmor_001_HeadoverArmor_050_Head, andArmor_002_LoweroverArmor_050_Lower.bfres_duplicator [-b] path/to/Armor_001.sbfres path/to/Arm050Hed.sbfresbfres_duplicator [-b] path/to/Armor_002.sbfres path/to/Arm050Lwr.sbfresDo 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.sbactorpackactorpack_tool [-b] path/to/Armor_050_Lower.sbactorpack copy_model path/to/Armor_002_Lower.sbactorpackThis will move the armors' paramater files for their models and physics over to a different actorpack.Don'tfollow the instructions about rstbtool.actorpack_tool [-b] path/to/Armor_050_Head.sbactorpack rename_file bmodellist Arm050Hedactorpack_tool [-b] path/to/Armor_050_Lower.sbactorpack rename_file bmodellist Arm050LwrThis will rename the .bmodellist files in the actorpacks so that you can safely edit them. Again,don'tfollow the instructions about rstbtool.InsideArmor_050_Head.sbactorpack, open theModelUser/Arm050Hed.bmodellist, and change all occurrences ofArmor_001toArm050Hed. This changes the bfres file that the actor will load.InsideArmor_050_Lower.sbactorpack, open theModelUser/Arm050Lwr.bmodellist, and change all occurrences ofArmor_002toArm050Lwr.Use leoetlino'srstbtoolon these files:Actor/Pack/Armor_050_Head.bactorpackActor/Pack/Armor_050_Lower.bactorpackActor/ActorLink/Armor_050_Head.bxmlActor/ActorLink/Armor_050_Lower.bxmlTo make a whole new armor by duplicating an existing one:This example will make a new Armor_999_Head out of Armor_001_Head.actorinfo_tool [-b] path/to/ActorInfo.product.sbyml duplicate Armor_001_Head Armor_999_HeadThis creates an entry in ActorInfo.product.sbyml for your new actor, registering it with the game.bfres_duplicator [-b] path/to/Armor_001.sbfres path/to/Armor_999.sbfresDo 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.Copy and pasteArmor_001_Head.sbactorpackto make a newArmor_999_Head.sbactorpack.actorpack_tool [-b] path/to/Armor_001_Head.sbactorpack rename_file bmodellist Armor_999_HeadThis will rename the .bmodellist file in the actorpack so that you can safely edit it.Don'tfollow the instructions about rstbtool.InsideArmor_999_Head.sbactorpack, renameActorLink/Armor_001_Head.bxmltoArmor_999_Head.bxml.Still insideArmor_999_Head.sbactorpack, openModelList/Armor_001_Head.bmodellist, and change all occurrences ofArmor_001toArmor_999. This changes the bfres file that the actor will load.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 therename_filefunction ofactorpack_tool.