Darkest Dungeon®

Darkest Dungeon®

Darkest Dungeon 存档Mod设置工具
Showing 1-10 of 12 entries
< 1  2 >
Update: 4 Feb @ 9:34pm

尝试修复: 读取mod的preview_icon.png文件可能导致工具闪退的问题。个人排查可能是preview_icon.png图片文件损坏(上传mod时出现传输错误), 导致程序读取时出现异常。
现行的解决方案是, 在工具中增加了缺省的mod preview_icon图片: 一个灰底写着橙色"无图像"三个字的图像。当mod扫描到mod中文件夹中没有图片, 或是读取图片出现异常时, mod项的图片会被替换为这个缺省的图像。

Update: 12 Dec, 2024 @ 2:14am

修复问题: 当mod的名字含有'(单引号)时, 因为单引号被转义而导致同一mod在可选mod列表和存档mod列表中名称不同。

Update: 9 Dec, 2024 @ 4:58pm

修复问题: 当mod名字中包含'\'(反斜杠)时导致工具解析存档文件出现异常

Update: 4 Oct, 2024 @ 1:47pm

更新的主要内容
  • 添加了"保存前备份"复选框, 勾选该复选框后用户按下"保存修改"按钮时工具会在实际更改存档文件前将当前存档文件夹压缩备份到工具所在目录的SaveBak文件夹内。保存文件的命名格式为 "{存档名}_{时间信息}.zip"。
  • 添加了"未扫描mod的警告机制(详见下面)
    关于未扫描mod的警告机制说明
    假设您在steam订阅了一个mod, 并在游戏中的某个存档中启用了该mod 。假如未来的某个时刻, 该mod的订阅被取消了。存档中对该mod的应用就会自动解除
    游戏自带的mod管理器也遵循类似逻辑。工具也模仿了这个处理逻辑, 假如您保存的mod预设中或者存档mod列表中含有未被工具扫描出的mod, 工具会将其从相应列表中自动删除。
    但要说明的是: 工具只有在点击"保存修改"按钮时才会实际修改存档文件。而标题中的"警告机制"就是在用户"保存修改"前, 提醒您出现了这种未被扫描出但存在于mod预设或存档mod列表中的mod。
    出现警告的时机有两种。
  • 在单击存档列表试图载入存档后, 假如检测到存档mod列表中有未扫描出的mod, 会弹窗以一个列表的形式告知用户没被扫描出的mod。
  • 在试图应用某个mod预设时, 假如检测到有未扫描出的mod, 会以一个类似上一条的弹窗警告用户。

    由于出问题的mod是没被扫描出的mod, 所以提供的信息也相对有限。在警告窗口的列表中只有两列
  • 第一列: 对steam mod显示其mod id, 您可以查看任意创意工坊mod页面, 将页面的链接最后的数字部分替换为这个mod id, 获得未扫描出mod的创意工坊链接。对本地mod该列显示其mod名字。
  • 第二列: 显示mod的来源是Local(本地)还是Steam


    用户假如在使用过程中弹出了上述的警告弹窗,应该停止对存档的修改行为。并解决警告。
    解决警告的方式如下
  • 设置正确的扫描路径或将被删除的mod添加回来, 之后让工具重新扫描, 工具扫描到了对应mod就不会弹警告。
  • 或是您确实已经删除某个mod且不需要恢复, 只是确实之前保存的一些mod预设或存档mod列表中还包含着这个mod。那么您可以在"应用mod预设"时弹出的警告窗口中选择"应用预设并清理预设列表"按钮(这会将mod预设中未被扫描出的mod删除)或是在关闭"载入存档"时出现的警告窗口后直接单击"保存修改"按钮(这会实际改变存档文件中的mod列表, 将其中已经不存在mod删除)。

    假设某个mod确实您想使用但工具扫描不出来的, 您可以尝试使用游戏自带的mod管理器操作该mod, 假如游戏自带的mod管理器可以正常操作, 而本工具不行, 那么这确实是工具的bug, 请参考mod自述文件中"关于bug"一节的内容告知我该bug的存在(请告知我扫描不出的具体是什么mod)。

Update: 9 Sep, 2024 @ 6:08am

修复问题
某些mod的project.xml因为含有一些特殊字符或格式不正确, 导致xml解析失败。现在直接使用正则表达式匹配Title标签中的内容。
更新特性
  • 现在将鼠标放置在mod名字上几秒,会显示mod的存储地址。
  • 现在扫描一个文件夹下的所有mod时, 一个mod扫描出错不会影响其他mod的扫描。
  • 现在扫描后会在状态栏显示扫描的结果信息, 包括本地mod数量, steam的mod数量, 以及本地的重名mod(会在下面解释)数量。
  • 对于 steam mod, 假如 Title 标签中没有内容, 会显示类似 "[Mod id] 123456"(mod id为123456 的steam mod)(关于这一点同样会在下面说明)
下面有一些对于上面更新特性的补充说明。
本地重名mod
程序对于mod名字的读取是基于project.xml中的Title标签内的内容。而"重名mod"也就是Title标签中的内容相同的mod, 这通常会影响到本地mod的识别, 而steam mod由于有 mod id的标识,重名mod的影响并不大, 这也是为什么程序只显示本地重名mod数量的原因。
当你发现在程序扫描mod后, 显示本地重名mod数量不为0时, 这通常意味着至少有一个本地mod尽管被扫描出来了, 但由于重名的缘故, 无法使用。
我在本地测试时, 发现游戏内的mod管理器同样对本地重名mod的处理遵循了相似的逻辑,表现为可以在mod选择界面中看到两个同名mod, 但实际只可以选择并启用其中的一个mod。
而可行的解决办法是, 您可以手动修改重名mod的project.xml的title标签中的内容(简单的添加空格, 或者完全修改为另外一个名字都可)。只要Title标签中的内容不一样, 就可以被使用。
关于steam mod的说明
尽管steam mod 不受重名问题的影响, 但其也有需要解决的问题。对于steam mod而言, 作者可以在上传mod后通过steam修改mod的名字描述等内容, 这就可能导致程序从project.xml中获取的mod名字和游戏中实际展示的mod名字不一致。
上面的描述或许让您感到疑惑, 但我只是想说明有这样的问题存在, 而我并没有什么好的解决办法。
值得庆幸的是这个问题对程序的基础功能影响不大,您几乎可以像之前一样使用该程序。只是你可能会看到某些steam mod在游戏的mod管理器中显示的名称和程序显示的mod名称不一样。
而更新特性的第四点的原因就是:该mod作者并没有在project.xml中写入mod名字, 程序以其mod id进行替代显示名称, 这是一种缺省的处理办法。

Update: 26 Aug, 2024 @ 11:28am

在可选mod列表左上方添加了一个文本输入框, 通过在此输入框输入文字可以根据mod的名字对可选mod列表进行过滤。不区分英文大小写。

Update: 19 Aug, 2024 @ 11:31pm

优化了mod的扫描逻辑

Update: 15 Aug, 2024 @ 2:59am

修复了一个bug: 因为mod名字中带双引号导致程序崩溃

Update: 3 Aug, 2024 @ 4:32pm

修复问题: 因为存在两个相同mod导致的程序异常。
程序判断是否为相同mod的依据如下
1.steam mod 或 本地mod: 根据首次运行时设置的路径决定。
2.mod名字: 这里指的并不是存放mod的文件夹名称。而是mod文件夹内project.xml中被Title标签包裹的文本。
3.modId: steam mod独有。
本地Mod基本上依据 mod的名字 进行区分。游戏的mod管理器应该采用了同样的逻辑。
经测试, 当本地mod中存在两个拥有相同mod名字的mod时。游戏中的mod管理器只能扫描出其中一个mod。
现在程序采用同样的处理逻辑, 因此假如用户发现程序扫描出的本地mod数量不对或者某个mod没有扫描出来,
那么或许就是因为出现了同名mod的原因。
steam mod由于会采用mod id进行标识, 所以一般不会出现上述问题。

Update: 31 Jul, 2024 @ 12:15pm

1.修复了无dlc时读取存档文件出现异常 2.修复了取消steam mod订阅导致的程序异常