塞尔达传奇:狂野气息的模型构建者/解构者

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版或更高版本的条款授权。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在OSGI中使用cxf生成的客户端时出现Java类装入器问题和JaxB异常   java为什么要在javamail中迭代多部分电子邮件中的部分?   并发编程问题   JFileChooser&&System中未调用java windowClosing。退出功能不正常?   SQL查询的java语法分析   java如何使用AspectJ声明字段上的警告   什么是java向量。元素()C#等价物   java解析Android应用程序中tornado web服务中的CSV文件   java我试过c2dm,我需要服务器端   java调整JPanel大小以适应新的JLabel图标   Java与Python脚本的通信   java使用Saxon通过XSLT生成URL   java net::ERR_complete_CHUNKED_编码200(OK)来自struts应用程序中的tomcat   java如何为我的窗格设置不同的位置?   java使用Cypher Neo4j获取给定类型的所有节点(从SQL世界中的tablename中选择*)   nio使用Java解析文件值   java使用WSDL生成REST客户端会是错误的方向吗?   java如何在我的应用程序中构建类映射?   java按钮。setEnabled在第一个循环中不起作用   xPath适用于最后一页,但不适用于第一页