इस प्रोजेक्ट के बारे में
Paramdex是一个资源集合,用于通过SoulsFormats及其衍生工具处理游戏参数(params)。它针对FromSoftware游戏的数据修改和工具开发,而非游戏玩法本身。
结构:每个支持的游戏有三个文件夹。Defs包含paramdefs的XML文件,用于编辑参数数据;文件名是任意的,应根据加载后包含的元数据来应用。Names包含预定义的行名,主要用于较新的游戏,因为其中名称被剥离,且并非每个参数都有名称保证。Tdfs包含paramtdfs,为枚举类型提供友好名称;这些仅随恶魔之魂官方发布。对于装甲核心VI,一些参数文件被损坏,缺少参数类型字符串,因此ParamTypes.txt列出了需要正确类型的文件。
覆盖范围:黑暗之魂(DS1)、黑暗之魂:重制版(DS1R)、黑暗之魂II:原罪学者(DS2S)、黑暗之魂III(DS3)、恶魔之魂(DES)、血源(BB)、只狼(SDT)、艾尔登法环(ER)和装甲核心VI(AC6)。
定义来源对贡献者很重要:DeS、DS1和BB的paramdefs随游戏发布,只应通过翻译显示名称和描述来修改。SDT、ER和AC6的paramdefs大多是官方的,但因更新略有扩展,原始字段同样适用此限制。其余游戏的paramdefs是逆向工程的,因此欢迎改进。
README还记录了如何编写paramdefs。每个paramdef应包含ParamType(将paramdef链接到其参数)、DataVersion(参数数据结构的修订版)、BigEndian、Unicode(描述字符串是否为UTF-16)、FormatVersion(paramdef的二进制格式)和Fields。每个Field有一个必需的Def属性,给出类型、内部名称、可选位大小或数组长度,以及可选的默认值,以C声明风格编写,例如u16 iconId、u16 iconId = 1000、u8 enableGuard:1用于位字段,或dummy8 padding[2]用于数组。
可选元素自定义编辑器行为:DisplayName、Enum(对应paramtdf)、Description、DisplayFormat(printf格式字符串)、EditFlags(已知标志Wrap和Lock)、Minimum、Maximum、Increment、SortID用于显示排序,以及用途未知的字符串UnkB8、UnkC0和UnkC8。省略的元素根据字段类型获得合理的默认值;Default、Minimum、Maximum和Increment始终是浮点数,对数组类型无意义。一个完整加载的示例结合了Def与DisplayName、Enum、Description、DisplayFormat、EditFlags、Minimum、Maximum、Increment和SortID。
支持的字段类型有s8、u8、s16、u16、s32、u32(所有支持位大小但不支持数组长度)、b32(四字节布尔)、f32、angle32、f64、fixstr和fixstrW(固定宽度Shift-JIS和UTF-16字符串,数组长度必需),以及dummy8(字节或字节数组,通常用于填充,需要位大小或数组长度但不能同时有)。
列出的贡献者包括EvanDeadlySins、GiveMeThePowa、katalash、Pavuk、thefifthmatt、TKGP和Vawser。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.