塞尔达传奇:狂野气息的模型构建者/解构者
hyrule-builder的Python项目详细描述
Hyrule生成器
一个用于塞尔达传奇:野性气息的mod构建工具。在
Hyrule Builder旨在帮助两个修改者更容易地管理和编辑他们的项目文件。它 可以“解构”/“反编译”游戏文件到源格式。所有的肉瘤都被提取了,所有的BYML, AAMP或MSYT文件被转换成YAML,而actor包是使用canonical专门解构的 路径。整个项目可以很容易地重建成可用的mod,具有许多便利性 功能,使过程更流畅。在
设置
{1{str>{1},然后安装{str}1},然后运行^/str}。在
构建和取消构建Mods
要启动一个新的hyrulebuilder项目,请获取要使用的mod文件并确保它们 放在有效的文件夹结构中。Hyrule Builder同时支持Wii U和Switch mods,但是 每个都有不同的格式。在
Wii U布局:
. (root mod folder) ├── content │ └── (content folders, e.g. Actor, Pack, etc.) └── aoc (for DLC files) └── (DLC folders, e.g. Map, Pack, etc.)
开关布局(注意:标题ID区分大小写):
^{pr2}$要将现有的mod文件转换为hyrulebuilder项目,请使用unbuild
命令。示例:
hyrule_builder unbuild BreathOfTheWild_VeryCleverMod
未构建
有关取消生成mod的详细信息,请参阅unbuild
命令的帮助:
usage: hyrule_builder unbuild [-h] [--output OUTPUT] [--single] [--verbose] directory Unbuilds a mod into a source-like structure for editing positional arguments: directory The main mod folder. For Wii U, this must contain a `content` folder and/or an `aoc` folder (the latter for DLC files). For Switch, you must use the following layout: . ├─ 01007EF00011E000 (for base game files) │ └─ romfs └─ 01007EF00011F001 (for DLC files) └─ romfs optional arguments: -h, --help show this help message and exit --output OUTPUT, -O OUTPUT Output folder for unbuilt mod --single, -S Run with single thread --verbose, -V Provide more detailed output
建筑物
有关生成mod的详细信息,请参阅build
命令的帮助:
usage: hyrule_builder build [-h] [--be] [--no-rstb] [--no-guess] [--title-actors TITLE_ACTORS] [--output OUTPUT] [--single] [--verbose] directory Builds a mod from a source-like structure into binary game files Note: Flags can be set using a config.yml file. See readme for details. positional arguments: directory The main mod folder. For Wii U, this must contain a `content` folder and/or an `aoc` folder (the latter for DLC files). For Switch, you must use the following layout: . ├─ 01007EF00011E000 (for base game files) │ └─ romfs └─ 01007EF00011F001 (for DLC files) └─ romfs optional arguments: -h, --help show this help message and exit --be, -B, -b Use big endian where applicable --no-rstb, -R Do not auto-update RSTB --no-guess, -G Do not use RSTB estimates --no-warn, -W Ignore warnings, only output success/error --hard-warn, -H Abort on any warning like an error --title-actors TITLE_ACTORS, -T TITLE_ACTORS Comma separated list of custom actors to add to TitleBG.pack, e.g. `--title-actors=Weapon_Bow_001,Enemy_Golem_Senior` --output OUTPUT, -O OUTPUT Output folder for built mod --single, -S Run with single thread --verbose, -V Provide more detailed output
注意,endianness可以在unbuild
上推断,但是使用build
来处理Wii U/Cemu mods需要的--be
标志。在
除非使用--no-rstb
,否则构建mod将自动生成更新的RSTB文件。在
如帮助所述,您也可以通过提供config.yml
来配置构建命令,而不是使用命令行参数
文件。它最多支持三个部分,每个部分都是可选的。Meta
部分提供将要写入的数据
到output mod中的rules.txt
文件中。Flags
部分按列表中的名称打开简单的开关标志。Options
节用于存储任意值的标志,如title-actors
或{
Meta:# specify data to go into a rules.txt file herename:A Moddescription:My new modFlags:# list the switch flags you want turned on-be-no-warnOptions:# provide values for customizable flagstitle-actors:Weapon_Bow_001,Enemy_Lizalfos_Senioroutput:test/TestMod_built
项目布局说明
大多数Hyrule Builder项目布局对于任何以前使用过BOTW mods,尤其是图形包的人来说都是熟悉的。但是,以下方面是Hyrule Builder独有的:
ActorInfo.product.sbyml
成为Actor/ActorInfo
文件夹,每个参与者都有各自的YAML文件。哈希列表是自动处理的。只需将一个新的YAML文件添加到文件夹中,就可以将其添加到actor列表和hash列表中。在- 大多数SARC文件都是用原来的文件名就地解构的,例如
Pack/TitleBG.pack
只是变成了一个同名的文件夹。但是,actor包被完全解构到Actor
文件夹中,并从它们的actor链接文件重建。例如,如果要在项目中创建Actor/ActorLink/Enemy_Lizalfos_Senior.bxml.yml
的新副本,并将其命名为Enemy_Lizalfos_Geezer.bxml.yml
,那么仅此更改就将导致生成过程在Actor/Pack/Enemy_Lizalfos_Geezer.sbactorpack
处创建一个新的actor包。在 - 出于安全原因,一些由标准任天堂库而不是BOTW资源系统解析的SARC文件将不会被解构。在
- 为了便于编辑,RSTB未内置到JSON文件中。格式示例:
{"hash_map":{"Actor/ActorLink/Armor_064_Head.bxml":2152,"Actor/ActorLink/FidObj_SecretBase_TorchStand_A_01.bxml":2068,"165741":78080,"Game/Stats/archive/I-7.00.stats":392384,"Actor/ModelList/FldObj_SecretBaseRockBlock_E_01.bmodellist":2640,"Actor/Physics/FldObj_HyliaStoneRuinGate_A_01.bphysics":2864,"Actor/ModelList/WaterPump.bmodellist":2576,"Actor/Pack/TwnObj_HyruleCastleObject_WeaponStand_B_01.bactorpack":2560,"Actor/ModelList/TwnObj_Village_SheikerWallScroll_A_01.bmodellist":2640,"Actor/Pack/TwnObj_Village_HatenoBanner_A_03.bactorpack":2432,"Actor/ModelList/FldObj_WaterFallLakeFloria_A_S_02_Far.bmodellist":2640,//etc...},"name_map":{"Actor/Physics/SwitchStepL.bphysics":9652,"Actor/Physics/TwnObj_HyruleCastleObject_StoneStatue_B_01.bphysics":2800,"Model/Item_Roast_08.Tex1.bfres":28672,"Model/Item_Roast_08.Tex2.bfres":28928,//andsoon...}}
在
其他用途
hyrulebuilder还包括两个附加的CLI工具,实现了一些单独使用的特性。这包括一个RSTB<;->;JSON转换器和一个用于单个SARC文件的完整构建器/取消生成器。使用详情如下:
RSTB到JSON
usage: rstb_to_json [-h] [-b] [-o [OUTPUT]] [rstb] Converts a binary RSTB file to JSON. positional arguments: rstb Path to a binary RSTB file optional arguments: -h, --help show this help message and exit -b, --be Read the RSTB as big endian for Wii U, otherwise little endian for Switch -o [OUTPUT], --output [OUTPUT] Path to output JSON file
JSON到RSTB
usage: json_to_rstb [-h] [-b] [-o [OUTPUT]] [json] Converts a JSON RSTB file to binary. positional arguments: json Path to a JSON RSTB file optional arguments: -h, --help show this help message and exit -b, --be Write the RSTB as big endian for Wii U, otherwise little endian for Switch -o [OUTPUT], --output [OUTPUT] Path to output RSTB binary
取消构建SARC
usage: unbuild_sarc [-h] [--output OUTPUT] sarc Unbuild a single SARC file completely positional arguments: sarc SARC archive to unbuild optional arguments: -h, --help show this help message and exit --output OUTPUT, -O OUTPUT Output folder for unbuilt SARC, defaults to file name w/o extension
构建SARC
usage: build_sarc [-h] [--be] [--verbose] source output Build a SARC file from a single source folder positional arguments: source Source folder for SARC output Path to output SARC file, will auto compress if extension starts with ".s" optional arguments: -h, --help show this help message and exit --be, -B Use big endian where applicable --verbose, -V Provide more detailed output
许可证
本软件根据GNU通用公共许可证第3版或更高版本的条款授权。在
- 项目
标签: