NetHack Stuff 上的补丁会影响存档兼容性或破坏游戏吗?
按页面自己的说明,这些补丁不会破坏骨骼文件(bones)和存档兼容性("The patches don't brake bones/save compatibility")。但这有一个前提:补丁文件名后缀必须与你的 NetHack 版本号匹配,且新补丁本身可能带有严重 bug。因此结论是——兼容性风险低,稳定性风险取决于补丁新旧程度。
版本匹配是首要条件
页面明确提示:看文件名后缀判断对应的 NetHack 版本号。例如:
qt_posix-343.diff→ 对应 3.4.3itemcat-343.diff→ 对应 3.4.3itemcat-007e6f3.diff→ 用于 SLASH'EM
把 3.4.3 的补丁打到别的版本上,兼容性说明就不再适用。选补丁前先确认自己的版本号与后缀一致。
补丁新旧与稳定性
页面给出的经验判断:
- 很新的补丁可能含有严重 bug("If the patch is very fresh, it may contain some nasty bugs")。
- 如果某个补丁问题严重,可以退回旧版本试试("you may have better luck with an older version")。
也就是说,兼容性有保证,但功能稳定性没有保证。想稳,优先选发布时间较早、已被使用过的版本。
会改动 Guidebook.txt 的补丁
部分补丁会修改 Guidebook.txt。页面说明:这对在 PC 上阅读的 Windows 用户是有意为之的便利,但如果你需要正确的排版,得从 Guidebook.mn 重新生成。
如果你在意游戏内帮助文档的原始排版,打补丁前先备份 Guidebook.txt。
页面收录的补丁类型
| 类别 | 补丁 | 作用 |
|---|---|---|
| Bugfix / 界面 | qt_posix |
让 Qt 代码更符合 POSIX,去掉对 BSD scandir() 的调用 |
| Bugfix / 界面 | itemcat |
在 drop/put_in/take_out 菜单中增加物品分类(如未鉴定物品、刚拾取物品、自动拾取物品、易锈物品、反向选择) |
| Bugfix / 界面 | dynkey |
动态按键绑定,在 config.h 启用 DYNKEY 后可用 MAP=z y、SWAP=C-d q 这类配置 |
| Bugfix / 界面 | qwertz、nethack_rand、paranoid_quit |
见页面列表 |
| 玩法 | nloot、ranger_ammo |
见页面列表 |
| 剧透 | wish、ascension statistics |
许愿与飞升统计资料 |
| 工具 | recmerge、gabuse |
记录合并等 |
| 二进制 | Windows + Jukka's Patches | 已整合补丁的 Windows 版本 |
itemcat 的分类说明(来自页面):
I— 未鉴定物品(若还想选 b/u/c 状态未知的物品,用I和X)P— 刚取出/刚拾取的物品Q— 自动拾取的物品r— 已知易锈物品(需设置类似like_swimming的选项)Z— 反向选择(选中除正常选择外的所有物品,通常不同于按@)
启用方式:在 config.h 中定义 ITEMCAT 和 ITEMCAT_JP。
打补丁前的检查清单
- 确认补丁文件名后缀与你的 NetHack 版本一致。
- 备份存档目录和
Guidebook.txt。 - 优先选发布时间较早的补丁版本,避开"very fresh"的。
- 打完补丁后先开新游戏测试,确认无异常再继续原有存档。
- 若出现严重问题,换用该补丁的旧版本重试。