
巫师3旧版模组补丁工具。W3OMP BETA v1
几乎任何旧模组,甚至2015年的模组,都能让它们在《巫师3》重制版上运行
查看大图[center][/center] [center][size=4][b]使用此工具,你可以将旧模组修补至可在重制版上运行,约 ~70% 的模组可行(难以确定,但大致如此,有些只能部分运行)[/b][/size][/center] [center][size=4][b][img]https://staticdelivery.nexusmods.com/mods/952/images/13190/13190-1791508315-893514104.png[/img][/b][/size][/center] [center][/center] [center][color=#ff0000][size=4][b]警告 - 如果不是原作者或未获得同意,请勿修补并重新上传[/b][/size][/color][/center] [spoiler][center][size=4][b]不要上传-重新上传不属于你的旧模组,你将(应当)被封禁[/b][/size][/center] [center][size=4][b]此工具旨在让旧模组可用,既方便用户享受模组,也方便被遗弃/旧模组的发布者轻松更新并重新上传自己的模组(如果用于此目的,希望能提及本工具 ;D )。[/b][/size][/center] [center][/center] [center][size=4][b]如果某个旧/被遗弃的模组通过此工具成功运行,就到此为止。或者联系创作者更新其模组,不要(未经同意)拿走他人的成果。[/b][/size][/center] [/spoiler] [center][/center] [left][/left] [center][b][color=#ff7700][size=5]警告 2 - 很好,但并非无所不能[/size][/color][/b] [spoiler][color=#ffffff][size=4]这是一个自动化工具,很棒但并不神奇,也就是说它有缺陷。复杂逻辑/脚本模组绝不可能被纯自动化确定性软件(非 AI)移植。大多数模组,即使是纯脚本模组,仍会可用,但并非全部都会可用,或者有些只能部分运行。该工具会提供信息和指导,以修复它自身无法修复的问题;请使用 REDKit 工具和/或联系原始创作者进行特定模组修复。[/size][/color][/spoiler] [/center] [center][/center]
[center][size=5][b]安装与使用[/b][/size][/center] [center][/center] [spoiler][center]1. 下载文件,解压到任意位置[/center] [center]2. 打开 .exe[/center] [center]3. 按照编号步骤操作。[/center] [center]4. 在挂载并安装处完成[/center] [center]完成![/center]
[center]5. 底部还有另一个按钮,用于“还原此工具所做的所有更改”,以移除模组并将游戏文件还原到原始状态。[b]此工具所做的更改没有不可逆的[/b]。[/center]
你可以选择简单或高级 UI。高级是旧 UI,我的下一个目标是向其以及报告中添加更多信息。[/spoiler] [center][b][size=5]如果你使用 AI,其中包含相关技能[/size][/b][/center] [center][/center] [spoiler][center]如果使用 CLI,请从 W3OMP 文件夹中打开它。对于任何其他方式,请将其指向该处,以读取用于 AI 文档的 .md 文件[/center] [left][/left] [left][b]w3omp[/b]:入口点。它说明哪个 W3OMP.exe 命令回答哪个问题,从 doctor 开始。对于任何《巫师 3》模组、.ws、.bundle、.w3strings 或 CR2W 工作,AI 应首先读取它。 [b]w3omp-port[/b]:安全地移植、安装和卸载模组。在 --apply 之前,每个命令都是试运行,输出首先进入临时文件夹,并且安装可以撤销。用它来移植、修补、更新、安装或移除旧模组。 [b]w3omp-explainhow[/b]:解释 W3OMP 对某个模组(或整组模组)做了什么,以及为什么无法修补某些内容,并始终展示证据:工具的行和文件。用于回答诸如“为什么这个模组是黄色或红色?”、“为什么被拒绝?”或“为什么这个文件被丢弃?”之类的问题。 [b]w3omp-merge[/b]:帮助合并 W3OMP 留给人来合并的函数(即 *.conflict.ws 文件)。它会比较模组代码、重制版代码和旧的 4.x 原始代码,逐块提出修复方案,然后写入并检查结果。当移植报告 REFUSED 或存在待处理的冲突时使用它。 [b]w3omp-diagnose[/b]:用于脚本问题:编译错误、能编译但没有任何效果的模组、脚本日志记录和 REDkit 编译检查。当模组破坏脚本编译或似乎没有效果时使用它。 [b]w3omp-assets[/b]:查看模组存档、.bundle 文件、CR2W 资源、.w3strings 和行为图内部。用它查看模组包含什么、检查其资源在重制版上是否仍然存在,或查看游戏文件如何变化。[/left] [center][/center] [/spoiler] [center][/center] [center][size=5][b]要求[/b][/size][/center] [center][size=3][color=#D4D4D8]已在你机器上下载好所需的旧模组,并全部放在一个文件夹中。[/color][/size][/center] [center][/center]
[center][size=6]致谢[/size] [/center] [spoiler][center]此工具建立在他人先完成的工作之上。
致谢名单可以一直列下去。Phaz42 的 Script Merger 建立在 AnotherSymbiote 更早的 Script Merger 之上,而后者又建立在其他人的工作之上——这 就是整个圈子运作的方式,而我只是最新一个站在其之上的人(站在巨人的肩膀上,嘿嘿)。
以下是此工具实际所基于的想法和知识的简要列表,[/center] [center]以及它有何不同。
[url=https://www.nexusmods.com/witcher3/mods/1982]Automatic Mod Version Converter[/url] 曾
为 1.32 → 4.0 过渡做过这件事:使用 diff 工具,将某个模组相对于一个版本原版脚本
所做的更改,重新应用到另一个版本上。这正是 W3OMP 运行的算法。不同之处在于,
这里的合并是通过真正的解析器按函数进行,而不是按行;输出是注释,而不是文件的
变基副本;并且它会处理整个模组文件夹并生成报告,而不是一次只处理一个模组。
[url=https://www.nexusmods.com/witcher3/mods/8405]
Script merger[/url] 及其[url=https://www.nexusmods.com/witcher3/mods/13076] 重制版[/url]及其后继者展示了游戏实际上如何排序模组——较低的
mods.settings 优先级胜出,并且只有当两个模组都声明了优先级时才比较优先级,而这
正是一个显而易见实现会弄反的部分。以及哪些注释真正冲突:替换会冲突,@wrapMethod 不会。我曾
错误地认为没有工具将其视为冲突类别;但它确实如此。W3OMP
新增的是自动合并冲突的函数体,而 Script
Merger 会按加载顺序选择一个胜者,或将文件交给人在 KDiff3 中处理。
[url=https://www.nexusmods.com/witcher3/mods/3161]WolvenKit[/url] 是 .w3strings 混淆算法的来源。该
方案是一个简单的 XOR 密钥流,但其常量是 CD PROJEKT RED 的任意选择;阅读现有的开源实现比完成我原计划的
已知明文攻击更快。
CD PROJEKT RED 的 REDkit 文档定义此 工具所输出注释的契约,而重制版自身的脚本是所有 衡量所依据的基准事实。
这些项目中的任何代码都不在此模组源文件中——算法是 重新实现的,并经过调整以适应此工具的目的。没有它们, 此工具就不会存在,或者会晚得多才出现。
值得一提的是,这里的新内容包括:合并多个模组对同一函数的竞争版本,
以便它们可以一起安装;判断更改何时可以安全地变成可链式 @wrapMethod 的规则;
预检检查;以及 .w3strings 转换。
我在 Claude 的帮助下构建了此工具。想法、 方向和编程知识与调查是我自己的;Claude 完成了 快速迭代和写作。我只用了不到四周(用于 beta 版),而不是 否则在我的业余时间可能需要几个月。我说这些[/center] [center]是因为我认为任何使用工具的人都应该知道 它是如何制作的。[/center] [center][/center] [center]非常感谢帖子/评论区与论坛[/center] [center]所有评论哪些有效、哪些无效的用户都极大地帮助了我[/center] [center]发现并扩展此工具,我独自没有足够人力进行太多游戏内测试。[/center] [center]它确实使开发进度突飞猛进。所以……非常感谢!<3[/center] [/spoiler] [center][/center]
[size=5]接下来:[/size] [size=5]- 重构(内部清理/重组/错误修复)[/size] [size=5]- 更广泛的模组修补覆盖范围和兼容性(更多 wrap)[/size] [size=5]- 面向折腾者的 AI 支持工具[/size] [size=5]- FX 模组(希望如此)[/size]
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。