f2g DLL 模组加载器

创作者: fame2gin
已更新:2026-09-24 19:19:32
27KB

关于此 MOD

从单一文件夹加载 CONTROL Resonant DLL 模组,这样模组就不必再争抢 exe 旁边那几个有限的代理名称(winmm.dll、version.dll、dwmapi.dll……)。而且,看起来也更整洁。
一个文件夹管理所有CONTROL Resonant的DLL模组。加载器占用winmm.dll,你的模组无需再占用。不安装任何钩子,不修改任何内容。
F2G DLL模组加载器
控制共鸣
每个DLL模组都想成为winmm.dll。现在只有加载器是了。

把模组的 DLL 丢进一个文件夹,它就会加载。就这么简单。


▌ 功能说明
DLL模组通过伪装成游戏加载的Windows库文件来进入游戏:winmm.dll、version.dll、dwmapi.dll等等。这些文件名就那么几个,而每个名字只能对应一个文件,所以第二个选用winmm的模组会悄无声息地替换掉第一个。没有报错。没有警告。它就这么消失了。

这个加载器终结了这一切。它只取一个名字本身—— winmm.dll,这是CONTROL Resonant在启动时加载的——将每个winmm调用转发给真正的Windows库,并加载它在以下位置找到的每个DLL:

控制 共振\crmods\

按名称排序,依次排列,原地不动。模组将配置保留在自身旁边,并将日志写在自身旁边。无需配置。


▌ 安全源于设计
  • 它不安装任何钩子,也不修补任何内存。 它转发winmm并加载其他文件。这就是它的全部工作。
  • 成就系统继续生效。 控制共振对成就没有模组检查。它唯一的完整性检查只覆盖steam_api64.dll,而加载器从不触及该文件。
  • 未更改任何游戏文件,未更改任何存档。
  • 它只在游戏内部加载模组:任何其他恰好加载了 winmm.dll 的程序只会得到一个普通的转发器,别无其他。
  • 一个以旧代理名称放在 exe 旁边的模组会被跳过,日志中会说明这一点——不会重复加载。
  • 卸载:删除winmm.dll和crmods文件夹。这就是全部残留。

▌ 安装
漩涡
Vortex尚不支持CONTROL Resonant——目前还没有对应的游戏扩展,请按下方说明手动安装。压缩包的目录结构与游戏文件夹完全一致。

Windows
1. 将压缩包解压到你的游戏文件夹中,与 控制共振.exe:
...\steamapps\common\CONTROL Resonant\
2. 你最终得到 winmm.dll 和 模组 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 本身,则它和此加载器无法同时安装。

▌ 添加模组
将此加载器列为前置的模组会直接安装到 CRM模组\. 没什么可做的了。

可选:文本文件 crmods.txt 放在winmm.dll旁边,每行一个条目,以备你需要保留某个文件但不加载它,或者强制先加载某个文件:
0 crmods\SomeMod.dll - 存在,但从未加载
1 crmods\First.dll - 在字母顺序扫描前加载
以#开头的行是注释。
如果你使用crmods.txt文件,请确保在dll名称路径前添加数值0和1。 

▌ 加载好了吗?
一个文件 crloader.log 出现在 winmm.dll 旁边,每次启动时重写。第二行是加载器版本;之后每个 DLL 一行——已加载、已跳过或失败,以及原因。末尾是一个计数:

总计:已加载 1 个,已跳过 0 个,失败 0 个

已从游戏目录加载 表示同一个DLL也作为代理放在exe旁边。删除其中一份。
出了问题,把日志粘贴到错误报告里。它就是为此而写的。


▌ 致模组作者
  • 打包为 crmods\YourMod.dll (以及你的 .cfg / .ini),相对于游戏文件夹。将此页面列为要求。
  • 不要捆绑winmm.dll。 两个模组同时包含它意味着最后安装的那个会覆盖前者,版本也会逐渐偏离。
  • 你的DLL是通过路径加载的。其文件名可以任意命名——不再需要是系统库名称。
  • 它已经就位加载了。像往常一样,在你自己的模块(GetModuleFileName)旁边解析你的配置。
  • 游戏在进程启动时会加载winmm.dll;你的模组会随即在工作线程上加载,与游戏自身的启动过程并行,且绝不会在Windows加载器锁下进行。不要假设游戏的各系统已经就绪——你需要什么就等待什么。

▌ 需求
没有。它不会改动游戏代码,所以游戏更新不会导致它失效。已在 Steam 版上测试过;它通过文件夹而不是 exe 文件名来识别游戏,因此其他平台的版本也适用同一套检测。


一个文件夹。最古老的房子批准了。

使用 Xmod 解锁 控制:共振 的全部潜力 — 今天就探索这些顶级 MOD!