mos9527 / MMFreeLyrics

歌姬计划 M39's+ / Hatsune Miku Project Diva Mega Mix+ (M39's+) FreeType Lyrics Renderer
1 stars 0 forks source link

启用该 mod 后,DivaMegaMix.exe 启动闪屏两次后自动关闭 #1

Closed ACT-02 closed 1 year ago

ACT-02 commented 1 year ago

启用该 mod 后,打开 m39+,启动闪屏两次后,屏幕左上角出现字体 mod 界面,半秒左右后 DivaMegaMix.exe 自动关闭。 关闭所有其它的 mod 之后仍然无法解决问题。 使用过的该 mod 版本:0.0.8b,0.0.7b,0.0.6b,0.0.5b

mos9527 commented 1 year ago

我能重现你的问题,你应该没在MOD目录创建 fonts\ 文件夹吧? 刚在 0.0.9b 加入了对字体存在性的检查,应该能解决这个问题了。

字体的配置在这里有介绍.

感谢测试,麻烦了( ´∀`)

ACT-02 commented 1 year ago

你好,我这边不仅创建了 fonts 文件夹,还放置了三个字体文件,如图 image

ACT-02 commented 1 year ago

已更新至 0.0.9b 版本,问题仍然存在。

mos9527 commented 1 year ago

这里的MOD附带了DML,并开启了调试控制台,可以将原mods文件夹和游戏根目录下的config.toml备份后删除,用这里的文件覆写。

同时也可以尝试删除MOD后更改显示设置,比如改成无边框显示模式

mos9527 commented 1 year ago

Hatsune Miku Project DIVA Mega Mix Plus.zip

ACT-02 commented 1 year ago

刚刚我把原来的 mods 文件夹和 config.toml 全部移走了,换上了压缩包里面的文件,并安装了字体,问题仍然存在。删除 mod 后更改显示设置,改完再开 mod,三种模式全都出现该问题。 有什么可能与这个 mod 冲突的软件吗?我有点怀疑自己的电脑有问题……

mos9527 commented 1 year ago

不好说,不过discord里也有个用了ImGui库的MOD,可以试试看这个行不行? 其次可能是字体文件问题? 试试看删除 fonts\ 文件夹?这个版本在没有外置字体时会使用内嵌字体

mos9527 commented 1 year ago

Hatsune Miku Project DIVA Mega Mix Plus.zip 增加了一些日志输出

ACT-02 commented 1 year ago

你提到的那个用了 imgui 库的 mod 在我的电脑上运作正常。 即使把字体文件删除之后,MMFreeLyrics 这个 mod 仍然无法正常运作。不过我截到了输出日志的图。最后它出现了一行新的字,不过我没截到,但是我记得,它是这么写的: [FreeLyrics] Gamestate changed to : PV_DB 我再把我所使用的字体文件传一份给你看看吧。由于 GitHub 上传文件有大小限制和格式限制,我给它们压缩了两遍。 image fonts.zip

mos9527 commented 1 year ago

确定了字体没问题,这问题够奇怪(( 我在自己的linux机器用wine都可以正常使用

这里的build删掉了几个钩子,但愿能进游戏...? MMFreeLyrics.zip

ACT-02 commented 1 year ago

能进游戏了,Imgui 窗口也有,但是无论我怎么调,都没办法调出实时渲染歌词。即使把 Disable Watermarks 这个 mod 关了也不行。顺带一提,我没有用任何本地化 mod,所以没有用 charset.txt。

ACT-02 commented 1 year ago

到点了,我该睡了,明天继续……

mos9527 commented 1 year ago

应该的,这个版本没有歌词传参的钩子 看来确实是这方面有问题... 这里准备了几个测试版本,希望能够帮忙排障 Testcases.zip

ACT-02 commented 1 year ago

测试完毕,只有No GetInputState版本能正常进入游戏,不过歌词还是没办法显示。

mos9527 commented 1 year ago

MMFreeLyrics.zip 尝试修正了GetInputState的问题,看看能不能进游戏? image 歌词没有显示可能和charset.txt没配置有关,可以先启用内部歌词检查这一点

ACT-02 commented 1 year ago

草(一种植物)我人在外面去了,用的是邮件里面的回复功能,四段文字打了我好久,为什么在这里没显示啊啊啊啊啊啊你看看你那边收到回复没

mos9527 commented 1 year ago

遗憾的是,没有((

ACT-02 commented 1 year ago

(深吸气)(重新码字) 先说 MMFreeLyrics.dll,我发现我只是一直没发现歌词在哪里,它被盖在了两个 Imgui 界面的下面……我把它拖出来就好了……经过测试,之前的No GetInputState版本和你修正问题之后的版本,这俩都是可以正常工作的。 再说说 charset.txt,我测试用的歌曲是 erase or zero,但是第一句歌词就出现了缺字现象(”掴んだ腕も“的“掴”字显示为“?”)。然后我把 diva_main_region.cpk 里的 pv_db.txt 拿出来改名用了用,发现不缺字了(我靠,那我其他曲包的歌词怎么办噫呜呜噫)。 最后说说目前我发现的 mod 的小瑕疵: 一、部分字的笔画重叠处会出现透明块(比如日文平假名“な”“み”),不知道这个能不能修复; 二、歌词位置建议加上手动调节水平位置和垂直位置的拖动条,我想把歌词弄成和官方歌词一模一样的位置,结果发现我使用了 Horizonally centered 位置之后,没办法再拖动歌词位置了,也没有垂直调整的选项,比官方歌词的位置上移了挺多; 三、歌词位置调整选项的 Rhythm Game 选项,你的 Rhythm 拼写错了,写成了“Ryhthm”。

mos9527 commented 1 year ago

歌词位置建议加上手动调节水平位置和垂直位置的拖动条 关于歌词位置,参考了下MPC-HC的字幕定位,做了个这样的定位系统 image Docking 可以锁定横、纵轴居中; Pivoting 可以将歌词放在viewport四角中一角,同时也支持以拖动调整位置偏移量。

部分字的笔画重叠处会出现透明块(比如日文平假名“な”“み”),不知道这个能不能修复;

这好像是字体问题? 用DFKingJP时: imageHiragino Sans时: image 在 FontForge 里检查了下确实是字体的瑕疵: image image

mos9527 commented 1 year ago

关于 charset.txt,我想在下一个release捆绑一个好了。我刚刚从内置pv_db和我所有能找到mod的pv_db中提取了一下: image 毕竟歌词会用的生僻字也没有那么多

mos9527 commented 1 year ago

0.1.0b 内嵌了charset.txt

ACT-02 commented 1 year ago

感谢测试,看样子我得修一下 DFKingJP 了(其实它本名叫华康金刚黑,不过是日标的并且被别人做了修改,我也忘了从哪弄来的了)。 顺便问一下,3872 chars out是指什么?

mos9527 commented 1 year ago

是在这个文件里所有的独特字符数。 image 除了游戏内pv_db外,这个文件还有这些mod中pv_db的所有文字 image 脚本会把里面所有的独特字符提取出来,产生charset.txt MOD 自己也会做一样的事情,而且在使用外置srt字幕时还会自动更新特殊字符。 之所以不在MOD提取文字,还是和MM+用的cri中间件有关,毕竟内容有加密;而且还有诸多想不到的问题 而且DX材质大小有限,太多字符会导致字体大小上不去 使用charset的精简字符集可以缓解这个问题

ACT-02 commented 1 year ago

原来如此,不过你给出的后面两个参考链接我看不懂(捂脸)但是还是能看懂你在说什么((( 总之,这二十几个小时真是辛苦你了(敬礼) 七夕快乐!(啊?

mos9527 commented 1 year ago

多谢hh 这里就把issue close了 感谢测试(σ゚∀゚)σ