一个把 winmm.dll 放到 NetHackW.exe 同目录即可使用的 nethack 汉化模组。
无需本地编译,可直接在本项目 Release 页面下载已经构建好的 winmm.dll(请按 nethack 的架构选择对应架构的 winmm.dll,官方win版是 x86 的)。
下载后把 dll 重命名为 winmm.dll 并放到 NetHackW.exe 同目录即可使用。
- 将编译产物
winmm.dll复制到NetHackW.exe所在目录。 - 启动游戏,ENJOY!
- 目标文件名必须是
winmm.dll。 NetHackW.exe依赖winmm,启动时会优先从程序目录加载同名 DLL。- 本 DLL 会:
- 在进程内通过 IAT Hook 拦截
SetWindowTextA/DrawTextA/TextOutA,对内置词典中的英文文本替换为中文。 - hook vpline 对格式化字符串翻译
在 PowerShell 或 CMD 中执行:
cmake -S . -B build -A x64
cmake --build build --config Release构建 x86(Win32)版本:
cmake -S . -B build-x86 -A Win32
cmake --build build-x86 --config Release说明:把对应架构的 winmm.dll 放到对应架构的 NetHackW.exe 同目录即可。
若你使用 MinGW + Ninja:
cmake -S . -B build-mingw -G Ninja
cmake --build build-mingwsrc/:核心 C 源码include/:头文件resources/:RC 与 DEF 资源/导出定义locales/:翻译词典 JSONscripts/:辅助脚本docs/:文档output/:字符串提取输出样本