Canvas3 Deepseek-V4.1-Flash 机翻补丁说明（C3FD 式版 · 260924b）
================================================================

本补丁使用 Deepseek Harness 和 GalTransl 8.0.0 制作，未经过全流程测试。

直接将文件覆盖至游戏根目录，双击 overture_chs.exe 即可运行。
经测试不会破坏人工汉化的文件，但安装本补丁后人工汉化将无法启动。
本补丁 device/driver/dxdrv.dll 是 Canvas4 对应 dll，用于解决本作无法在
Win10 和 Win11 正常启动的问题（但并不能解决人工汉化无法启动的问题）。
dxdrv.old 是备份的原 Canvas3 的 dll 文件，更改后缀名即可恢复。
直接删除本补丁对应文件即可卸载本补丁。
本补丁参考 SteinsGate 制作的 VALENTINE PINK 机翻补丁制作，使用了 jyxjyx1234 的 dll。

----------------------------------------------------------------
■ 本版（260924b）相对 260924 版的变化：修掉「点开始就报 01 - 0005」
----------------------------------------------------------------
  只换了一个文件：jyxjyx1234.dll
      新 MD5 = EC0D1BEEC0CE50A688A804CCA5D1C29F

  这个 dll = **作者的原始文件 + 27 字节补丁**（只做一件事：把自己钉在进程里），
  其余每一个字节都与 C3FD / CANVAS4 用的原版 dll 相同（原版 MD5 366007CA…）。
  也就是说：补丁对第三方 dll 的改动只有「一段 27 字节的自钉住代码 + 一个 4 KB 的空节」，
  没有改任何原有逻辑、没有改字体、没有改替换通道。

  真正的原因（已实测定位，不是"游戏需要兼容模式"）：
    · 本作引擎在启动早期会把这个 dll 载入进程；dll 里有 MSVC 运行库的
      「线程结束时释放本模块」逻辑（_endthreadex / FreeLibraryAndExitThread），
      于是 dll 被卸掉 —— 但它装在 user32/gdi32 里的钩子还留在系统 dll 里。
    · 之后游戏一调用这些被钩的 API（正好在进剧本、画文字的时候），
      就跳进已经释放的内存 → 访问冲突 0xC0000005
      → 引擎的异常处理弹出 [NS-00] System Exception Halt!! 01 - 0005。
    · 佐证：① 同一个目录里把 jyxjyx1234.dll 拿走，日文原版 overture.exe 跑得好好的；
            ② C3FD / Canvas4 的同款 dll 进程里始终常驻，所以它们从不出这个问题；
            ③ 调试器抓到现场：dll 载入 50ms 后被卸载，31 秒时在**该 dll 原地址范围内**
               发生 0xC0000005（取指失败），紧接着就是 01 - 0005。

  修法：dll 入口多了一段 27 字节代码，调用 GetModuleHandleExW + PIN 标志，
      模块一旦载入就常驻到进程结束，"释放自己"的调用会被系统忽略，
      钩子永远有效 → 不再报 01 - 0005。

  ⇒ 因此**不再需要**注册表兼容层。上一版随包的「可选_安装兼容层.bat」已降级为
     兜底方案（一般用不到）。装过兼容层的机器可以把那两条值删掉，留着也无害；
     删除方法见本文件最后。

----------------------------------------------------------------
■ ★ 启动须知（很重要）：工作目录必须是游戏目录
----------------------------------------------------------------
  DLL 是按「当前工作目录」去找 1\data2.bin 的，所以必须让游戏的工作目录
  等于游戏所在目录：

    推荐：直接双击 overture_chs.exe
    也可：运行随包的 run_overture_chs.bat（脚本会先 cd 到自己的目录）

  不要用「起始位置指向别处的快捷方式」或第三方启动器直接拉起 exe —— 那样
  1\data2.bin 会找不到，中文会变成一堆生僻汉字（如「如果可以的颱」）。

  判断方法：如果对话里出现「颱 / 顳 / 襪 / 顯 / 賻 / 諚」这类不常见的繁体字，
  就是 data2.bin 没被读到，请改用上面两种启动方式。

----------------------------------------------------------------
■ 若仍然弹出 [NS-00] System Exception Halt!! 01 - 0005
----------------------------------------------------------------
  按顺序检查：
    1) jyxjyx1234.dll 的 MD5 是否为 EC0D1BEEC0CE50A688A804CCA5D1C29F
       （cmd:  certutil -hashfile jyxjyx1234.dll MD5）
    2) 1\data2.bin 是否在游戏目录下的 1\ 里（别只拷 exe 和 dll）
    3) 以上都对还报错，再双击「可选_安装兼容层.bat」兜底，然后重开游戏

----------------------------------------------------------------
■ 卸载兼容层（如果以前装过）
----------------------------------------------------------------
  reg delete "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<游戏目录>\overture_chs.exe" /f
  reg delete "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<游戏目录>\overture.exe" /f

2026/09/23
