CharGenMorph 编译器

CharGenMorph 编译器

自动查找并合并《龙腾世纪:起源》与《龙腾世纪2》的chargenmorphcfg.xml文件,生成一个可直接用于游戏的整合主文件。无需繁琐的手动XML对比或编辑,即可审查模组贡献、检测缺失的资源引用,并安全移除确认的不良条目。

Dragon Age CharGenMorph 编译器 2.0.0

作者:Terra_Ex

版权所有 2010-2026

Dragon Age CharGenMorph 编译器会自动将外观模组提供的 chargenmorphcfg.xml 文件合并为一个可直接用于游戏的配置文件。

它同时支持 Dragon Age: OriginsDragon Age 2,无需手动比对 XML 文件或在文件间复制单独的资源条目。

2.0.0 版本是对原编译器的全面现代化改造。它引入了更安全的编译与审查工作流程、大幅扩展的资源检查、更清晰的错误报告、来源归属、现代主题,以及详细的离线文档。


我应该下载哪个文件?

有两个功能完全相同的软件包可供选择。你只需要其中一个。

自包含版本 - 推荐

如果你不确定该选哪个,请下载这个版本。

它包含所需的 .NET 运行时,无需安装其他任何东西即可运行。下载体积较大,但对大多数用户来说是最简单的选择。

依赖框架的版本

这是为已安装 x64 .NET 10 桌面运行时 的用户提供的较小下载包。

它包含相同的编译器,并且产生与自包含版本完全相同的输出。如果未安装所需运行时,请改用自包含版本。


文件完整性 - SHA-256

依赖框架的软件包:

F9151E48A26DEF437737C67122F375F37F3D637EB6815782C81B25E9DB566692

自包含软件包:

875934EB1F293E82E2526180BA256D81D6A8FC70101AA7ED65C3F083F80B347B

编译器有什么作用?

编译器能够:

  • 在所选游戏的“文档”侧 override 文件夹及其子文件夹中搜索 chargenmorphcfg.xml 文件。
  • 将所有发现的条目与 DAO 或 DA2 正确的原始配置合并。
  • 保持确定的源文件和 XML 区块顺序。
  • 防止普通重复资源条目。
  • 合并重复条目中已识别的发型 CUT 属性值。
  • 显示每个资源分别来自哪些 XML 文件和模组文件夹。
  • 检查散文件和支持的 ERF/RIM 存档表中的引用资源。
  • 区分“确认缺失”的资源与“无法检查”的资源。
  • 可选择移除已确认缺失的引用。
  • 在替换现有文件之前验证完成的 XML。
  • 可选择添加注释,标明每个条目组来自哪个模组文件夹。
  • 可选择创建 DA2 标志性霍克预设的可编辑版本。
  • 支持备份、详细日志记录、多种配色方案和持久的窗口设置。

最终结果是一个单一的 chargenmorphcfg.xml 主文件,其中包含你所安装模组提供的兼容角色创建选项。


基本用法

  1. 将下载的完整 ZIP 包解压到一个专用文件夹中。
  2. 运行 DragonAgeXmlCompiler.exe。
  3. 选择 DAO 或 DA2。
  4. 在“游戏路径”下验证游戏安装路径和 override 路径。
  5. 选择“1) 编译与审查”。
  6. 审查检测到的 XML 文件、模组贡献、编译结构和引用分析。
  7. 可选:选择“2) 移除错误引用”。
  8. 满意后选择“3) 写入输出”。

编译和引用清理在内存中执行。在选中 写入输出 之前,不会更改任何源 XML 文件。

最终 XML 会同时写入编译器所在目录和所选游戏的 override 文件夹。


重要安装建议

将每个外观模组放在 override 文件夹下各自命名清晰的子文件夹中:

override
|-- Pineapple Tints
|   `-- chargenmorphcfg.xml
|-- Example Hair Pack
|   `-- chargenmorphcfg.xml
`-- Custom Presets
    `-- chargenmorphcfg.xml

每个模组文件夹应保留该模组自带的 chargenmorphcfg.xml 文件。编译器随后可以发现并合并所有这些文件。

清晰的文件夹名称还能让编译器显示每个模组有用的贡献总数,并可选地在最终 XML 中添加来源注释。

不要将每个模组的文件放在一个共享文件夹中,也不要用另一个模组的 XML 覆盖某个模组的 XML。


重要安全信息

  • 不要从 DAO 或 DA2 的 override 文件夹内部运行编译器。
  • 先解压整个编译器软件包,然后再运行。
  • override 文件夹必须已经存在。编译器不会创建缺失的 override 目录。
  • 启用 XML 备份,除非你的原始模组下载文件已安全存放在其他位置。
  • 在编译前,遵循每个模组作者的安装和依赖说明。
  • 先解压模组压缩包。编译器不会搜索 ZIP、7z 或 RAR 文件内部。
  • 通常不需要管理员权限。

写入输出 成功时,用于该次编译的多余源 chargenmorphcfg.xml 文件会被移除。模组的其他文件和文件夹则保持不变。

如果某个源 XML 文件被锁定或为只读而无法移除,最终输出仍然有效,并且编译器会报告受影响的文件。


引用分析

引用分析会检查编译后的 XML 所引用的资源是否能在散文件或受支持的游戏存档中找到。

结果分类如下:

  • 内置: 包含在游戏原始的角色创建配置中。
  • 已找到: 找到了匹配的散文件或存档条目。
  • 缺失: 完整分析无法定位该资源。
  • 未验证: 编译器无法检查所有相关的位置或存档。

完整的分析需要有效的游戏安装路径。如果无法识别安装目录或无法读取存档,不确定的条目将被标记为 未验证,并且 移除错误引用 保持禁用状态。

这里特意没有提供不安全的强制清理选项。

已找到 的结果仅确认命名资源存在。它不会检查网格几何体、材质、纹理、绑定、视觉质量,或是否适合特定种族或性别。因此,一个有问题的模组资源可能被成功找到,但在游戏中仍会错误渲染。


格式错误的 XML 报告

如果某个模组包含格式错误的 XML,编译器会识别受影响的源文件,并在可能的情况下报告相关的行号和字符位置。

修正或移除格式错误的 XML,然后重新编译。编译器不会静默地忽略无法访问或无法读取的源文件,并继续生成不完整的结果。


兼容性

该编译器适用于包含以下游戏 chargenmorphcfg.xml 文件的外观模组:

  • Dragon Age: Origins
  • Dragon Age 2

没有 chargenmorphcfg.xml 文件的模组不会提供给编译器可合并的条目。如果某个特定模组需要其他工具来生成 XML,请先运行该工具,然后使用 CharGenMorph 编译器将其输出与其他模组合并。

2.0.0 版本保留了原编译器的既定合并顺序和输出结构,除了对重复发型条目和 CUT 处理的刻意改进。


附带文档

每个版本都包含:

  • README.txt - 软件包选择和快速入门信息。
  • USAGE_GUIDE.html - 完整的图解使用和故障排除指南。
  • GAME_ERRATA.html - 已知的 DAO 和 DA2 在编译器控制范围之外的行为。
  • CHANGELOG.html - 先前公开版本与 2.0.0 版本之间的差异。

在任何现代网页浏览器中打开 USAGE_GUIDE.html。不需要专门的 Markdown 查看器。


常见问题解答

我为什么要使用这个?

安装多个外观模组通常会导致多个 chargenmorphcfg.xml 文件相互冲突。编译器将它们合并为一个兼容的单一文件,这样你就不必手动编辑 XML。

编译器会修改游戏存档吗?

不会。ERF 和 RIM 存档仅被读取以进行资源表分析。它们永远不会被解包或修改。

为什么“移除错误引用”被禁用?

只有当编译器有足够的安装和存档覆盖范围,能够区分真正缺失的资源与无法检查的资源时,清理功能才会启用。

检查安装路径和状态详情,然后重新编译。

“缺失”是否总是意味着模组有缺陷?

不一定。XML 可能依赖于未安装的另一个模组、可选下载或未记录的依赖项。

在移除任何内容之前,请查看引用分析中显示的来源信息。

“已找到”是否保证资源能正常工作?

不能。它仅确认所引用的名称被定位到,并不保证资源内容有效或视觉上合适。

我可以使用旧的 config.ini 吗?

只要可能,就会加载先前版本中的兼容设置。新设置则使用安全默认值。


支持

在报告问题之前:

  1. 阅读 USAGE_GUIDE.html。
  2. 展开状态详情并查看报告的错误和路径。
  3. 如果启用了日志记录,请检查可执行文件旁边的 log.txt。
  4. 确认受影响模组解压后的 chargenmorphcfg.xml 文件存在于所选 override 文件夹之下。
  5. 在公开发布前,从路径和日志中移除个人信息。

支持与发布:

Dragon Age CharGenMorph Compiler on Nexus Mods


法律与分发

未经许可,不得上传、镜像、重新打包或将本应用程序包含在其他合集包中。