存档重命名器 - 游戏内图形界面

存档重命名器 - 游戏内图形界面

在游戏自带的读取界面中重命名任意存档。高亮选中一个存档,按F2输入新名称即可。无需控制台或外部工具,列表会立即更新。

问题

你的存档是以保存时所进行的任务命名的,仅此而已。玩一个任务线一个晚上,读取列表就会变成六行都是同一任务名,只能靠时间戳区分。没有办法标记艰难战斗前的一个、想要回头再玩的一个,或者为不同结局保留的一个。

你所需的信息其实已经在文件里了,只是无法写入。

主要功能

  • 在存档高亮时按 F2 打开重命名对话框。此按键在游戏其他任何地方均无功能
  • Enter 确认,Esc 取消,Del 恢复原始名称。每个提示也都可以点击
  • 读取列表立即重绘,无需离开页面再返回
  • 原始任务名称保留在存档内部,因此重命名绝非不可逆
  • 使用游戏自身的素材构建:窗口框架、按键面板和字体均来自原版菜单
  • 音效与所在菜单一致:悬停、确认、取消和拒绝都会播放游戏自带的界面提示音。本模组不附带任何音效文件
  • 完整本地化,支持游戏自带的所有 16 种语言
  • 体积小巧:几 KB 的界面数据和单个插件。不替换任何原版文件

写入内容

名称存放在 .whs 文件的描述头部(即读取列表所读取的字段)中。原始名称会存入其专属属性,也就是 Del 键读取的内容:

之前   UIDescription="…|@qname_predanivchramu_CiLb|@jmena_obj_zacatek_questu|…"

之后   RenamerOriginal="@qname_predanivchramu_CiLb|@jmena_obj_zacatek_questu"
       UIDescription="…|艰难战斗之前||…"

任务名称及其下方显示的目标(若存在,通过“-”符号分隔)都会存入暂存区,目标会被清除:你选择的名称代表整行,而不是其中一半。

文件中的其他内容都不会被改动,存档数据本身按字节原样复制。写入操作会先写入临时文件,完成后才替换原文件,因此写入中断绝不会留下半个存档。

语言

捷克语、英语、法语、德语、意大利语、西班牙语、葡萄牙语、波兰语、俄语、乌克兰语、土耳其语、日语、韩语、简体中文、繁体中文和越南语——涵盖了游戏自带的所有语言。

确认、取消和重置并非由本模组翻译:它们取自游戏自身的字符串,因此会与菜单中其他位置显示完全一致,如果 Warhorse 日后更改措辞,也会随之更新。

需求

无需开新档。在 Steam 版 1.5.6 上构建并测试。Address Library 是将插件映射到特定版本的工具,因此游戏更新后请务必更新它:如果插件请求的地址不在表中,会直接失败,而不是默默出错。

安装

  1. 解压到你的 Kingdom Come Deliverance II/Mods 文件夹(如不存在则创建)。
  2. 结果应类似于 Mods/savegame_renamer/,其中包含 Data/Localization/KCSE/mod.manifestLICENSETHIRD-PARTY-NOTICES.txt
  3. 启动游戏即可,无需额外设置。

卸载

删除 Mods/savegame_renamer/。已重命名的存档会保留其名称,且在没有该模组的情况下可正常加载。若想恢复原始名称,请在卸载前使用 Del 键重置。

兼容性

不替换任何原版文件:对话框是位于自身图层上的独立界面元素,模组的两个字符串是添加到游戏表中,而非覆盖其中任何内容。在重命名存档之前,不会向存档写入任何内容。

该模组确实会挂钩加载菜单,因此唯一可能产生冲突的是完全替换菜单影片的模组。

Rename Your Savegame 功能相同,所以请二选一而非同时运行:两个模组写入同一头部的同一字段,在原始名称上不会达成一致。

已知限制

  • 仅限键盘。 F2 打开对话框,名称在其中输入。游戏自身的菜单没有任何文本输入框,因此即使对话框打开,手柄也无法触达屏幕键盘。手柄仍可移动高亮;但命名存档需要键盘。
  • 一种脚本下输入的名称在另一种语言下可能显示为方框。 游戏只加载当前界面所需字形——在欧系语言下,完全不包含中文、日文或韩文字形;在中文下,拉丁字体被缩减为 48 个字符。无论如何,你的名称都会正确存储,切换回原语言后即可正常显示。模组无法在不附带自有字体的情况下修复此问题。
  • 确认未编辑的名称是有意无操作的。 从未重命名的存档持有的是任务键而非文本,列表会以你当前游戏语言实时翻译。将该翻译写入文件会把存档绑定到一种语言,因此模组在你真正编辑名称之前不会干预。
  • 字符数超过 40 时计数器变为琥珀色,若字段仍为打开时的原名称则保持静默。这是提示而非限制:更长的名称会被写入并滚动显示。字段本身在 120 个字符后停止接受输入。

权限

GPLv3 许可证,源码位于 GitHub。翻译、分叉和衍生作品无需征得我同意,但需遵循相同许可证:注明原作者并链接回原页面,这是唯一的请求。合集和模组包同样欢迎;许可证允许你重新托管文件,若如此做我将不胜感激。

鸣谢

Warhorse Studios。

thazer,其 Rename Your Savegame 是本模组存在的缘由。它证明了头部中的名称可以被改写,使用过后我希望在不离开菜单的情况下实现相同功能。本模组正是源于这个想法。

thazer,其 Rename Your Savegame 是本模组存在的缘由。它证明了头部中的名称可以被改写,使用过后我希望在不离开菜单的情况下实现相同功能。本模组正是源于这个想法。

作者 JerryYOJ 制作的 KCSEAddress Library For KCSElibKCD2,没有这些,游戏自身的任何机制都将无法触及。