请问AI汉化补丁打完后没有字怎么破qwq

其它求助AI补丁寻求帮助
353 编辑于

image.png如题.Nightmare X Vampire打完AI补丁后游戏文本消失,菜单里日文是正常的.安装了补丁中自带的字体也没有用.
环境Win11 N卡5080 驱动最新 
重新安装游戏并重新打补丁也没有用...



游戏名:Nightmare X Vampire

版本信息:汉化版


游戏路径:全英

来源:【PC】Nightmare×vampire~復讐のインフェルノ~ The Motion【AI机翻】 - 免费Galgame资源分享

Win11环境: Microsoft Windows 11 专业版
无报错 其他一切运行正常 无乱码

本文版权遵循 CC BY-NC 协议 本站版权政策

14 条回复

qimeng
发布于 (编辑于 )

根據 hook.ini 的內容,問題似乎出在打包上,可以將 遊戲目錄下的 FONTCHANGER_old.dll 重命名爲 FONTCHANGER.dll 試試看 

ini
[GLOBAL]
DEBUG=0
MODE=3
#1:CREATEFONTA 2:CREATEFONTINDERECTA
LOADDLL=FONTCHANGER.dll
CHANGEWINDOW=0
LE=0
TIMER=0
[FONT]
PRINTINFO=1
ConditCHANGEFONT=0
CHANGEFONT=1
CHANGECHARSET=0
FONTNAME=ShiraYukiNoa
FONTFILENAME=ShiraYukiNoa.otf
HeightScaleFactor=100
WidthScaleFactor=100
cWeight=600
rotate=0
[ConditCHANGEFONT]
#当满足以下条件时更改字体
CWEIGHT=-1
CHEIGHT=-1
CWIDTH=-1
FONTNAME=-1
[STARTMESSAGE]
MODELTYPE=gpt-4o
[WINDOW]
WINDOWNAME=CRAVE
[TIMER]
TIMESPLIT=5

圖片.png

评论

qimeng
qimeng评论qimeng

或者將 hook.ini 中 LOADDLL 的值改成 FONTCHANGER_old.dll 也可以

Wh1te
发布于

@qimeng #1

感谢大佬解答!QWQ

Wh1te
发布于

@qimeng #1

诡异的是 我尝试修改了FONTCHANGER的文件名.启动后依然没有文字.我尝试了重新安装,并且重新打补丁依然没有效果.

然后本来想着啃下生肉也可以,结果发现下载了免DVD补丁后.游戏开始后对话点不动,卡死在了第一句话的页面...
免DVD补丁:https://2dfan.com/downloads/13810
电脑语言环境是GB中文,我也尝试过使用LE修改为日语启动,依然没有修复...
image.pngimage.pngimage.png

Wh1te
发布于

@Wh1te #3

我再找找其他资源吧哈哈哈,目前就是Nightmare×vampire 〜復讐のインフェルノ〜 The Motion 和 NightmarexOnmyoji 这两个游戏打了AI补丁出现这种情况了...

Wh1te
发布于

@Wh1te #4

后面试了下其他资源+破解补丁的日文版,依然不显示文字...感觉和补丁没有关系,是本地环境就和这游戏八字不合了...残念只能告别...或许未来有兴趣去手机模拟器上玩吧qwq

Wh1te
发布于

@Wh1te #5

明明Nightmare×Sisters 和 虜系列 都是能正常运行的...
(下面是Nightmare x Sisters,好像是非安装版可以正常运行 安装版不行(是不是因为安装程序不是用日语环境执行导致的?image.png

Wh1te
发布于

@Wh1te #6

试了下还是没用. 感觉是这两代用的文本渲染库和LZ显卡驱动有冲突之类的问题导致的...看来只能换设备了(

是幼微鸭mua
发布于

@Wh1te #7

1056772531

来窝群里窝帮你Sticker

Wh1te
发布于
qimeng
发布于 (编辑于 )

@Wh1te #3

總而言之: 真的非常抱歉, 是這裏把問題想得太簡單了 Sticker
首先先讓我狡辯一下, 因爲這裏一開始是用 Wine 開的遊戲,而 Wine 下對於 WideCharToMultiByte 的處理有些問題

shell
00f0:fixme:msvcrt:create_locinfo WideCharToMultiByte failed, ret 0, error 122.
00f0:fixme:msvcrt:create_locinfo WideCharToMultiByte failed, ret 0, error 122.
00f0:fixme:msvcrt:create_locinfo WideCharToMultiByte failed, ret 0, error 122.
00f0:fixme:msvcrt:create_locinfo WideCharToMultiByte failed, ret 0, error 122.

而又因爲JLXH.dll 會嘗試修改遊戲傳給 MultiByteToWideCharWideCharToMultiByte 的值

asm
0x100011d8      a100600010      mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
0x100011dd      a3b0840010      mov dword [0x100084b0], eax 

0x100011e2      a10c600010      mov eax, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
0x100011e7      a3ac840010      mov dword [0x100084ac], eax

0x10001202      6850110010      push 0x10001150
0x10001207      68b0840010      push 0x100084b0
0x1000120c      e84f150000      call fcn.10002760

0x10001211      6880110010      push 0x10001180
0x10001216      68ac840010      push 0x100084ac
0x1000121b      e840150000      call fcn.10002760


0x10001150      55             push ebp
0x10001151      8bec           mov ebp, esp
0x10001153      8b4d08         mov ecx, dword [ebp + 8]
0x10001156      a1b0840010     mov eax, dword [0x100084b0] ; [0x100084b0:4]=0
0x1000115b      81f9a4030000   cmp ecx, 0x3a4              ; cp932 / SHIFT_JIS
0x10001161      750a           jne 0x1000116d
0x10001163      c74508e9fd..   mov dword [ebp + 8], 0xfde9 ; 0xfde9 = 65001 即 UTF-8
0x1000116a      5d             pop ebp
0x1000116b      ffe0           jmp eax 

導致這裏根本沒有完成替換 (雖然還不清楚是否是因此才導致無法顯示的), 以至於這裏實際上根本沒有成功復現問題。
另外這個補丁內部也寫死了 FONTCHANGER_old.dll, 並不是從 hook.ini 獲取的 (並不是這裏一開始猜的打包問題)。

asm
0x100011b9      6860620010     push str.FONTCHANGER_old.dll ; 0x10006260 ; "FONTCHANGER_old.dll"
0x100011be      ff1508600010   call dword [sym.imp.KERNEL32.dll_LoadLibraryW] ; 0x10006008 ; HMODULE LoadLibraryW(LPCWSTR lpLibFileName)


因爲這裏無法完全復現,給不出更多資訊了. 但如果你的問題還沒有解決, 可以試試以下的幾個操作

  1. 嘗試移除或重命名 JLXH.dll 之後啓動 AdvHD_cn.exe, 如果報錯 說明沒有問題, 如果能正常運行 請檢查執行檔 (雜湊值應該是 sha256:bc55f6c8536f3c7ede30b5eb85fd3eba51918dcda92cd737533f19a12ecf6cc7)
  2. 移除或重命名 hook.ini, 如果出現類似 ...hook.ini not found!的提示 (遊戲應該還能啓動) 說明沒有問題
  3. 移除或重命名 Rio1.arc, 如果在開始遊戲 (NEW GAME) 階段報錯 說明沒有問題
  4. 將 hook.iniDEBUG 的值改成 1, 並注意黑視窗中是否有明顯報錯信息
  5. 嘗試暫時關閉系統的反病毒軟體等, 或直接在虛擬機內運行 (實在不行...考慮換臺電腦)
Wh1te
发布于

@qimeng #10

Debug了一下,前面所有文件修改后都符合预期.然后debug终端没有报任何错.鉴于没有其他人反馈这种问题,非常怀疑是本地环境有什么问题...只能考虑换一个环境运行了
Wh1te-1781271556588-Snipaste20260612213907png

Wh1te
发布于

@qimeng #10

佬 最后上面群里的大佬帮忙看了下lua文件 发现这个游戏引用的 MS UI Gothic 在我的环境里没有
所以最后是因为字体丢失 没法显示

最后装了这个字体游戏就正常了 感谢帮忙了orz49ba832d3c33fc2509ea257a07591ebd.png

Wh1te
发布于

@Wh1te #12



话说这游戏字体缺引用竟然不报错 也不提示...也是蛮诡异的orzimage.pngimage.png

qimeng
发布于 (编辑于 )

@Wh1te #12

精簡版系統啊?! (沒記錯的話應該從 Win 98 就開始內建了)
image.png這裏覺得 下次可以提前講清楚Sticker

(。>︿<。) 已经一滴回复都不剩了哦~