{ "info": { "author": "BravelyPeculiar", "author_email": "joshuawaltonm@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "## Installation\nInstall Python 3.6+, then run `pip install botw-duplicator-tools`.\n\n## Documentation\n### actorinfo_tool\nUse `-b` for big-endian (Wii U) files.\n\n##### Get entry data\n`actorinfo_tool [-b] ACTORINFO_FILE get ENTRY_NAME`\n\n(e.g. `actorinfo_tool -b ActorInfo.product.sbyml get Armor_001_Head`)\n\n##### Delete entry\n`actorinfo_tool [-b] ACTORINFO_FILE del ENTRY_NAME`\n\n##### Duplicate entry\nFor making new actors.\n\n`actorinfo_tool [-b] ACTORINFO_FILE duplicate ENTRY_TO_DUPLICATE NEW_ENTRY_NAME`\n\n##### Edit variable in entry\n`actorinfo_tool [-b] ACTORINFO_FILE edit ENTRY_NAME VARIABLE_NAME NEW_VALUE`\n\n### actorpack\\_tool\nUse `-b` for big-endian (Wii U) files.\n\n##### Copy `instSize`\nFor putting armor models over other armors\n\n`actorinfo_tool [-b] ACTORINFO_FILE copy_instsize FROM_ENTRY_NAME TO_ENTRY_NAME`\n\n### actorpack\\_tool\nUse `-b` for big-endian (Wii U) files.\n\n##### Rename file inside pack \n`actorpack_tool [-b] ACTORPACK rename_file FILE_EXTENSION NEW_NAME` \n\n(e.g. `actorpack_tool -b Enemy_Bokoblin_Junior.sbactorpack rename_file baiprog Enemy_Haha_Lol.baiprog` )\n\n##### Copy model and physics from one actor to another\nFor putting an armor over a different existing armor. Use `-b` for big-endian (Wii U) files.\n\n`actorpack_tool [-b] ACTORPACK copy_model FROM_ACTORPACK`\n\n### bfres\\_duplicator\nFor 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.\n\n(Simply copy-pasting the bfres/bitemico file won't make the required internal changes to the file).\n\n`bfres_duplicator OLD_FILE_PATH NEW_FILE_PATH`\n\n## Guides\n#### To put a duplicate of an armor's model (and physics) over a different one:\nThis example will put `Armor_001_Head` over `Armor_050_Head`, and `Armor_002_Lower` over `Armor_050_Lower`.\n\n1.\n * `bfres_duplicator [-b] path/to/Armor_001.sbfres path/to/Arm050Hed.sbfres` \n * `bfres_duplicator [-b] path/to/Armor_002.sbfres path/to/Arm050Lwr.sbfres` \nDo 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.\n\n2.\n * `actorpack_tool [-b] path/to/Armor_050_Head.sbactorpack copy_model path/to/Armor_001_Head.sbactorpack` \n * `actorpack_tool [-b] path/to/Armor_050_Lower.sbactorpack copy_model path/to/Armor_002_Lower.sbactorpack` \nThis will move the armors' paramater files for their models and physics over to a different actorpack. **Don't** follow the instructions about rstbtool.\n\n3.\n * `actorpack_tool [-b] path/to/Armor_050_Head.sbactorpack rename_file bmodellist Arm050Hed` \n * `actorpack_tool [-b] path/to/Armor_050_Lower.sbactorpack rename_file bmodellist Arm050Lwr` \nThis will rename the .bmodellist files in the actorpacks so that you can safely edit them. Again, **don't** follow the instructions about rstbtool.\n\n4. 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.\n\n5. Inside `Armor_050_Lower.sbactorpack`, open the `ModelUser/Arm050Lwr.bmodellist`, and change all occurrences of `Armor_002` to `Arm050Lwr`.\n\n6. Use leoetlino's `rstbtool` on these files:\n * `Actor/Pack/Armor_050_Head.bactorpack`\n * `Actor/Pack/Armor_050_Lower.bactorpack`\n * `Actor/ActorLink/Armor_050_Head.bxml`\n * `Actor/ActorLink/Armor_050_Lower.bxml`\n\n#### To make a whole new armor by duplicating an existing one:\nThis example will make a new Armor_999_Head out of Armor_001_Head.\n\n1. `actorinfo_tool [-b] path/to/ActorInfo.product.sbyml duplicate Armor_001_Head Armor_999_Head` \nThis creates an entry in ActorInfo.product.sbyml for your new actor, registering it with the game.\n\n2. `bfres_duplicator [-b] path/to/Armor_001.sbfres path/to/Armor_999.sbfres` \nDo 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.\n\n3. Copy and paste `Armor_001_Head.sbactorpack` to make a new `Armor_999_Head.sbactorpack`.\n\n4. `actorpack_tool [-b] path/to/Armor_001_Head.sbactorpack rename_file bmodellist Armor_999_Head` \nThis will rename the .bmodellist file in the actorpack so that you can safely edit it. **Don't** follow the instructions about rstbtool.\n\n5. Inside `Armor_999_Head.sbactorpack`, rename `ActorLink/Armor_001_Head.bxml` to `Armor_999_Head.bxml`.\n\n6. 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.\n\n7. 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`.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/BravelyPeculiar/botw_duplicator_tools/archive/1.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/BravelyPeculiar/botw_duplicator_tools", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "botw-duplicator-tools", "package_url": "https://pypi.org/project/botw-duplicator-tools/", "platform": "", "project_url": "https://pypi.org/project/botw-duplicator-tools/", "project_urls": { "Download": "https://github.com/BravelyPeculiar/botw_duplicator_tools/archive/1.0.tar.gz", "Homepage": "http://github.com/BravelyPeculiar/botw_duplicator_tools" }, "release_url": "https://pypi.org/project/botw-duplicator-tools/1.7/", "requires_dist": [ "wszst-yaz0 (>=1.0)", "byml (>=1.0)", "sarc (>=1.0)", "aamp (>=1.0)" ], "requires_python": ">=3.6", "summary": "Tools for duplicating actors and models, for modding the game 'The Legend of Zelda: Breath of the Wild'.", "version": "1.7" }, "last_serial": 4350235, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "efd9b6f8457ad196f71914b57cd2d74c", "sha256": "d91b1be8deee65766ddd68fc38a07bcb0637ab95746234baacce7954e2bd74b3" }, "downloads": -1, "filename": "botw_duplicator_tools-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "efd9b6f8457ad196f71914b57cd2d74c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8283, "upload_time": "2018-09-19T01:49:33", "url": "https://files.pythonhosted.org/packages/da/ba/37e4912448190ce02d9eed6c16833cb1b7190f1c303ebff2869235a66b35/botw_duplicator_tools-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16ec037baa9a7e2d73dc93b318f36ae4", "sha256": "ce754f2f65a43a749964fd92d7ae3b9190ce788ebfb97f242134189fb14a1e96" }, "downloads": -1, "filename": "botw_duplicator_tools-1.0.tar.gz", "has_sig": false, "md5_digest": "16ec037baa9a7e2d73dc93b318f36ae4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7183, "upload_time": "2018-09-19T01:49:35", "url": "https://files.pythonhosted.org/packages/cc/f1/7520eeb7133ad10e6c7c93e38dc46e3dcfb321245d2bb99605ad5ce8d642/botw_duplicator_tools-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "2178fcb6a72ff35b6a1bf9ce69fa9166", "sha256": "6a7c399b6d016d921e391f2fc4e6465f3ccc131963e3bd741f0392cb9d609dbf" }, "downloads": -1, "filename": "botw_duplicator_tools-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2178fcb6a72ff35b6a1bf9ce69fa9166", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8290, "upload_time": "2018-09-27T16:29:13", "url": "https://files.pythonhosted.org/packages/63/b5/153ebf6955da53c2313a97ad3594d1daeb66c7b96a61cff69a0ccb38e3a6/botw_duplicator_tools-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b6e1bdd88d3e32e3f019ad38872c6883", "sha256": "6367bca978d52e0e4ca2ef86025b4f637df8648d96a1ecbac6d1bb800c1dba07" }, "downloads": -1, "filename": "botw_duplicator_tools-1.1.tar.gz", "has_sig": false, "md5_digest": "b6e1bdd88d3e32e3f019ad38872c6883", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7168, "upload_time": "2018-09-27T16:29:14", "url": "https://files.pythonhosted.org/packages/34/23/936510bddca32f3b52fc259cb657bd41e780d630568e327c8e8c5cc5d1e0/botw_duplicator_tools-1.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "03f7ace40d54e029a292c8d52c98ea66", "sha256": "501621f51f5ac5245d89df67ea296da3deed7f32453f6462c1196249508ce080" }, "downloads": -1, "filename": "botw_duplicator_tools-1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "03f7ace40d54e029a292c8d52c98ea66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8281, "upload_time": "2018-09-27T16:53:52", "url": "https://files.pythonhosted.org/packages/4a/97/7a617dd3dadad4dc83cee99a7f31387433363554a5974af9d5e5acc74299/botw_duplicator_tools-1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81197167bf81122932e7f51f4a4070d4", "sha256": "a254891041a3265b5b5b37fbed240a2e4de4105ae333998b9b818e16b19d5a4b" }, "downloads": -1, "filename": "botw_duplicator_tools-1.2.tar.gz", "has_sig": false, "md5_digest": "81197167bf81122932e7f51f4a4070d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7165, "upload_time": "2018-09-27T16:53:54", "url": "https://files.pythonhosted.org/packages/90/23/d50668e9b802c21b1ef35b4a31d3d43e33bf142728cd97223e3517f4428e/botw_duplicator_tools-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "b8ec8738000999b9bdaefeee1025f034", "sha256": "768cfd091dda3e673a1d8dd017b8240d066b768ba4fb437a06cfdd3733355392" }, "downloads": -1, "filename": "botw_duplicator_tools-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b8ec8738000999b9bdaefeee1025f034", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8268, "upload_time": "2018-09-27T19:05:51", "url": "https://files.pythonhosted.org/packages/7e/de/d3abdfeecbf2a791b35f41b87eccd26a16927ab8be08816801ed529be36f/botw_duplicator_tools-1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c4b159005984c1afd08c49854ba493f", "sha256": "78cc41978d91f0279360d883ecacbc3b8d8a17d54be9651dc6188c3369559acf" }, "downloads": -1, "filename": "botw_duplicator_tools-1.3.tar.gz", "has_sig": false, "md5_digest": "9c4b159005984c1afd08c49854ba493f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7166, "upload_time": "2018-09-27T19:05:52", "url": "https://files.pythonhosted.org/packages/99/35/cdd3c532e3f5dd7de1066403016c9c8fa47e28554928b1a261941dc91e57/botw_duplicator_tools-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "f35696d5268e4abce78181ca24df794c", "sha256": "717ba9da60c5f02fb0e82021c0e81f0a3c2cf7ce33ed1ea8afcbb35cc28b469e" }, "downloads": -1, "filename": "botw_duplicator_tools-1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f35696d5268e4abce78181ca24df794c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8331, "upload_time": "2018-09-27T23:22:14", "url": "https://files.pythonhosted.org/packages/84/f5/0f01fe73b502097952c7dc529f273ccb03dd9eeffa0b4c0eb1d13eac8120/botw_duplicator_tools-1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31840d46762c6439a246a666bfdbd8eb", "sha256": "0f61c790240644042912b1b01bf6ecb8390aea09868c742a3850875ca90e95c1" }, "downloads": -1, "filename": "botw_duplicator_tools-1.4.tar.gz", "has_sig": false, "md5_digest": "31840d46762c6439a246a666bfdbd8eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7234, "upload_time": "2018-09-27T23:22:15", "url": "https://files.pythonhosted.org/packages/a6/55/fc76ac409091d6aadac34a24fcbe10dadd03f77a2e60b6ce1e957b1e6620/botw_duplicator_tools-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "4b4e4b37e4f9364bec6d91264e393a3c", "sha256": "00664b7eb4f00ebca0500211974248d4dcd9265e0593237ea7285517c45b1ebd" }, "downloads": -1, "filename": "botw_duplicator_tools-1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "4b4e4b37e4f9364bec6d91264e393a3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8516, "upload_time": "2018-10-07T21:13:57", "url": "https://files.pythonhosted.org/packages/6b/ba/bd5a709007ef3738819f95ca1c2359a18e3e99fbac6a9e997e35b2e2d3a7/botw_duplicator_tools-1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "339a08a15ceb15ded4bb8193b9ea36c5", "sha256": "dd8e436c01158fc222e3e6f56144b882751a36824189c82ca8f675e212f85bc6" }, "downloads": -1, "filename": "botw_duplicator_tools-1.5.tar.gz", "has_sig": false, "md5_digest": "339a08a15ceb15ded4bb8193b9ea36c5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7475, "upload_time": "2018-10-07T21:13:58", "url": "https://files.pythonhosted.org/packages/b1/69/d2a520ec501376975c32925546347fb4a1fc0bda04bd7d2a5f1393e100b5/botw_duplicator_tools-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "7321d064da15b3da4fe9e1a97e012152", "sha256": "bc341bd861cf3e7798393b1eb1f1f3378e4f422a0e57e67cf2c3975dc66be4a9" }, "downloads": -1, "filename": "botw_duplicator_tools-1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7321d064da15b3da4fe9e1a97e012152", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8567, "upload_time": "2018-10-07T23:05:58", "url": "https://files.pythonhosted.org/packages/48/77/fd3a54de97747d2aa1b74f12fba4b22399670cc93b4e3134c97c173f6e5e/botw_duplicator_tools-1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d7e7dad470cc6294af60c01886f3913", "sha256": "c25324a44e2c1276a74a609b7e7329d96dd6230e604a99d407edc00e4e7c0ec9" }, "downloads": -1, "filename": "botw_duplicator_tools-1.6.tar.gz", "has_sig": false, "md5_digest": "4d7e7dad470cc6294af60c01886f3913", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7524, "upload_time": "2018-10-07T23:05:59", "url": "https://files.pythonhosted.org/packages/9a/5b/4473c61ed6b8df479e7f4a24a4e3e820f1487d5e48e5c77fc798d1f8dac9/botw_duplicator_tools-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "cff834caa70874c42c460f0d49bec4f8", "sha256": "bc0f0fe37ac818e9f246e9dda67804a6b919f31da76d2718299675bd5680727a" }, "downloads": -1, "filename": "botw_duplicator_tools-1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "cff834caa70874c42c460f0d49bec4f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8571, "upload_time": "2018-10-07T23:15:45", "url": "https://files.pythonhosted.org/packages/30/04/922d8f9dcbd587d93dc15e52d7d7af02dd6ae380532a1282bd747f5d3063/botw_duplicator_tools-1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f2e518a5cc60bf3d31411edfd80320c", "sha256": "d5a4456f88f9e66c6514b28827dde1efb6f5a03e4e9a35b9ff823638cdc28324" }, "downloads": -1, "filename": "botw_duplicator_tools-1.7.tar.gz", "has_sig": false, "md5_digest": "5f2e518a5cc60bf3d31411edfd80320c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7518, "upload_time": "2018-10-07T23:15:47", "url": "https://files.pythonhosted.org/packages/19/25/559137f430fc93196ad0bf467b81f3c6ba4e37d61cf6db0a03081b8d6eaf/botw_duplicator_tools-1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cff834caa70874c42c460f0d49bec4f8", "sha256": "bc0f0fe37ac818e9f246e9dda67804a6b919f31da76d2718299675bd5680727a" }, "downloads": -1, "filename": "botw_duplicator_tools-1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "cff834caa70874c42c460f0d49bec4f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8571, "upload_time": "2018-10-07T23:15:45", "url": "https://files.pythonhosted.org/packages/30/04/922d8f9dcbd587d93dc15e52d7d7af02dd6ae380532a1282bd747f5d3063/botw_duplicator_tools-1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f2e518a5cc60bf3d31411edfd80320c", "sha256": "d5a4456f88f9e66c6514b28827dde1efb6f5a03e4e9a35b9ff823638cdc28324" }, "downloads": -1, "filename": "botw_duplicator_tools-1.7.tar.gz", "has_sig": false, "md5_digest": "5f2e518a5cc60bf3d31411edfd80320c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7518, "upload_time": "2018-10-07T23:15:47", "url": "https://files.pythonhosted.org/packages/19/25/559137f430fc93196ad0bf467b81f3c6ba4e37d61cf6db0a03081b8d6eaf/botw_duplicator_tools-1.7.tar.gz" } ] }