《控制: 共振》f2g DLL模组加载器(必备前置)提供更加统一的DLL MOD加载方式,将多个DLL MOD集中放入指定文件夹进行管理,避免不同MOD争用 winmm.dll、version.dll、dwmapi.dll 等代理DLL文件名。这样既能减少MOD之间的加载冲突,也让游戏目录保持更加整洁。
Windows
1、将压缩包解压到你的游戏文件夹,与 CONTROLResonant.exe 放在一起:
...\steamapps\common\CONTROL Resonant\
2、你会得到 winmm.dll 和一个 crmods 文件夹,与 exe 放在一起。
3、启动。完成。
Linux / Steam Deck(Proton)
1、同样的文件,同样的位置。
2、Steam → 右键点击游戏 → 属性 → 启动选项:
WINEDLLOVERRIDES="winmm=n,b" %command%
3、启动。
第 2 步是必需的——没有它,Proton 会加载它自己的 winmm,加载器永远不会运行。没有错误,没有日志。这种沉默就是症状。
另一个模组已经自带 winmm.dll?
只能有一个文件是 winmm.dll。如果那个模组的 DLL 可以从文件夹加载,就把它放进 crmods\;如果它必须自己就是 winmm.dll,那么它和这个加载器无法同时安装。
删除 winmm.dll 和 crmods 文件夹。这就是它的全部痕迹。
它的作用
DLL 模组要进入游戏,得伪装成游戏会加载的某个 Windows 库:winmm.dll、version.dll、dwmapi.dll 等等。这类名字只有那么几个,而每个名字只能对应一个文件,所以第二个选用 winmm 的模组会悄悄替换掉第一个。没有错误。没有警告。它就是不见了。
这个加载器终结了这种情况。它自己占用那唯一的名字——winmm.dll,CONTROL Resonant 在启动时会加载它——把每一次 winmm 调用转发给真正的 Windows 库,并加载它在以下位置找到的每一个 DLL:
CONTROL Resonant\crmods\
按名称排序,一个接一个,原地加载。模组把自己的配置放在自己旁边,把日志写在自己旁边。无需配置。
添加模组
把此加载器列为前置需求的模组会直接安装到 crmods\。不需要做别的。
可选:在 winmm.dll 旁边放一个文本文件 crmods.txt,每行一个条目,用于在你需要保留某个文件但不加载它,或强制某个文件优先加载时使用:
0 crmods\SomeMod.dll - 存在,但从不加载
1 crmods\First.dll - 在按字母顺序扫描之前加载
以 # 开头的行是注释。
如果你使用 crmods.txt 文件,请确保在 dll 名称路径前加上数值 0 和 1。
它加载了吗?
一个文件 crloader.log 会出现在 winmm.dll 旁边,每次启动都会重写。第二行是加载器版本;之后每个 DLL 一行——已加载、已跳过或失败,以及原因。它以计数结尾:
total: 1 loaded, 0 skipped, 0 failed
ALREADY LOADED FROM GAME DIR 表示同一个 DLL 也作为代理放在 exe 旁边。删除其中一份。
出了问题,就把日志粘贴到 bug 报告里。它就是为了回答这个问题而写的。
如果您在使用过程中出现错误或者希望有更多mod,欢迎在下方评论区反馈,感谢使用!