过时模组检测器(黑屏修复)

过时模组检测器(黑屏修复)

检测与当前MHWS补丁不兼容的过时/废弃的模组文件。

[size=5]这基本上是一个“猜测最优”性质的工具,并非任何形式的保证。如果它没能为你找到任何东西,那也只能算了。[/size]

[size=4]黑屏还有其他原因!过时的模组并非唯一的元凶![/size]
[size=3]有些人似乎在使用 REF 和改动过的 PAK 文件时遇到了问题,但我不太确信这不是用户操作失误所致。[/size]

[size=4]本工具适用于 Steam 上 v1.041.00.00 版本的游戏。
当有新的游戏更新发布时,请耐心等待。我会尽可能及时进行更新。[/size]

[size=6][b]工作原理:[/b][/size]

首先,说明一下文件加载的方式:
游戏会加载所有 PAK 文件中的资源(按字母顺序排序),后加载的 PAK 文件会覆盖先前 PAK 文件中相同路径的文件。
然后就是 natives 文件夹,它总是最后加载,并覆盖任何 PAK 文件的内容。(这就是 REF 的“松散文件加载器”所启用的功能。)

当游戏发布更新时,新的 PAK 文件中的任何文件都会默认导致先前 PAK 中所有相同路径的模组文件过时。
这通常会导致游戏尝试加载过时文件,加载失败,最终陷入黑屏。因此,这个工具应运而生,用于尝试查找这些文件。

它将搜索 natives 文件夹的内容,以及模组 PAK 文件的内容,并为你提供一个匹配文件的列表,以及匹配的原因。

目前,它只检查 userpfbmsg 文件。user 文件最可能是导致问题的原因,而且追溯至《崛起》时代,游戏更新也经常会导致预制件损坏。msg 文件是本地化/文本文件,虽然使用过时的文件可能还能工作,但它会导致文件中未包含的新条目显示为 '???' 或类似内容。
如果你知道其他类型的文件经常因游戏更新而损坏,请告诉我,我可以为它们增加扫描功能。

[size=4]LUA 文件无法被检查,也绝无可能检查。请自行搜索了解停机问题。[/size]

[size=5][b]以下是执行的检查项目:[/b][/size] [size=4](按过时可能性从高到低排列。)[/size]
[list]
[][b]哈希值:[/b] 查找旧文件的完全匹配项。除非你是模组作者且直接将文件解压到游戏的 natives 目录,否则这是你最不可能遇到的匹配项。[list]
[
][b]如果这是列出的原因,那么文件过时的可能性是 100% 确定的。[/b]
[/list]
[][b]CRC(循环冗余校验):[/b] 对于 user 文件,文件中的每个对象实例都有一个 CRC,它会在游戏更新时发生变化。[list]
[
][b]如果这是列出的原因,那么文件过时的可能性非常大。[/b]
[/list]
[][b]修改日期:[/b] 将文件的修改日期与包含这些文件的 PAK 文件的发布日期进行比对。这可能会产生最多的误报(漏报),因为它无法捕获事后安装的过时文件,除非安装程序保留了原始修改日期。[list]
[
][b]如果文件的日期早于包含该文件最新版本的原版 PAK,那么它过时的可能性就非常大。[/b]
[/list]
[][b]文件大小:[/b] 将文件大小与已知的未修改的最新版本文件大小进行比对。这最有可能产生误报。[list]
[
][b]如果基于此匹配,那么文件过时的可能性会低得多。这真的很难说。例如,商店模组会向商店列表中添加大量数据,这会触发此检查并产生误报。[/b]
[/list]
[/list]

[size=6]这个工具并不完美。它会有漏报,也会有误报。
如果运行后仍然黑屏,请在没有模组的情况下进行测试。结果因人而异。
而且,我也无法再提供更进一步的技术支持了。[/size]

[size=6][b]使用说明:[/b][/size]
[list]
[]打开程序。
[
]手动输入路径,或点击“浏览”,选择游戏文件夹(或包含你想要检查的 natives/PAK 文件的任何文件夹)。
[]如果需要,可以设置 Fluffy Mod Manager 的目录。[list]
[
]如果设置了该目录,并且找到了匹配项,程序会尝试找出该文件来自 FMM 中的哪个模组,并在结果中显示。请参阅图片中的示例。
[]如果忽略此设置,它不会有任何操作。
[
]两个路径的设置将在按下“扫描”按钮时保存,并在程序启动时加载。
[/list]
[]按下“扫描”并等待。
[
]你将看到所有找到的过时文件列表(如果存在的话)。[list]
[]被检查的文件会被标记为删除。
[
]默认情况下,所有文件都被勾选,除了:基于文件大小匹配的文件,以及从 FMM 中的模组找到的文件(因为直接关闭 FMM 中的模组比删除文件更好)。
[/list]
[]按下“删除”或“重命名”按钮。[list]
[
]“删除”将永久移除文件。此操作无法撤销,并且没有进一步的确认对话框。一旦按下,即成定局。
[]“重命名”会给文件名添加 '.old' 后缀。这会禁用该文件的加载,但保留它以备需要。
[/list]
[
]一个确认框会告诉你文件是否成功删除/重命名。
[*]关闭上述确认框后,程序将退出。
[/list]