arcusmaximus / VNTranslationTools

Tools for translating visual novels
MIT License
302 stars 46 forks source link

Request support for QLIE 3.0 #110

Closed wjh191 closed 1 year ago

wjh191 commented 1 year ago

The end of the.pack file is FilePackVer3.0 Chinese characters that are not in cp932 cannot now be displayed

Cosetto commented 1 year ago

Vntextpatch only supports cp932. You have to custom vntextpatch for your own need, change these lines To:

                _writeEncoding = Encoding.GetEncoding(936);
                return Encoding.GetEncoding(936);

Or you can just use this repos: link

arcusmaximus commented 1 year ago

Please provide a sample file (or game).

blw1234 commented 1 year ago

vntextpatch 只支持 cp932。您必须根据自己的需要自定义 vntextpatch,将这些行更改 为:

                _writeEncoding = Encoding.GetEncoding(936);
                return Encoding.GetEncoding(936);

或者你可以只使用这个回购协议:链接

Can I make the translated patch file export gb2312 code instead of cp932 code? Because I have many problems in using SJIS tunnel.

arcusmaximus commented 1 year ago

Can I make the translated patch file export gb2312 code instead of cp932 code?

Yes - simply change the _writeEncoding field.

However, this approach will probably result in 文字化け in the game, or even a crash. Visual novel engines often use custom code for scanning over the characters in a SJIS string. Such code won't work on GB2312 strings.

Please let me know what problems you're facing with SJIS tunneling so I can fix them.

blw1234 commented 1 year ago

我可以让翻译后的补丁文件导出gb2312码而不是cp932码吗?

是的 - 只需更改 _writeEncoding 字段。

但是,这种做法很可能会导致游戏中出现文字化け,甚至崩溃。视觉小说引擎通常使用自定义代码来扫描 SJIS 字符串中的字符。此类代码不适用于 GB2312 字符串。

请让我知道您在使用 SJIS 隧道时遇到的问题,以便我解决。 First of all, thank you for your reply. Yes, using gb2312 encoding causes garbled code and other problems, but some engines can make it display gb2312 encoded text normally by modifying exe. Because I have no C # foundation, even if I downloaded Visual Studio, it did not compile successfully. If it is not troublesome, I hope you can share a version that can implement this. Besides, this is a game https://vndb.org/v24211 When the game and SJIS are running together, the game will crash. 12.zip The game is Artemis Engine

arcusmaximus commented 1 year ago

The game is Artemis Engine

Not QLIE 3.0...? :D

blw1234 commented 1 year ago

vntextpatch

Sorry, not QLIE3.0. Using vntextpatch is good for exporting and inserting text to make the game work, but it always crashes when running with SJIS. I also tried the Softpal engine. I saw that Cosetto's reply above seemed to be able to make vntextpatch export other codes, so I asked the question. Sorry for asking other questions under the question about QLIE

arcusmaximus commented 1 year ago

Crash should be fixed now.

Cosetto commented 1 year ago

For reference, you can change this line to GB2312 for Chinese charset. Also in issue #94, I mentioned newer proxies gave error when you change to full-screen in Qlie 3.0

arcusmaximus commented 1 year ago

For reference, you can change this line to GB2312 for Chinese charset

That will only affect font selection. It won't help with text encoding problems.

blw1234 commented 1 year ago

现在应该修复崩溃。 I downloaded the latest version of 0.33, which won't crash, but it doesn't seem to work. These characters that are not supported by cp932 are not displayed when the game is running image

arcusmaximus commented 1 year ago

Turns out Artemis uses a library called "Babel" for doing the SJIS->UTF16 conversion, rather than just using the builtin Windows functionality. VNTextProxy now supports this too (v0.0.34).

To make SJIS tunneling work for this particular game, you'll also need to make a change in its scripts: edit system\msg.iet and change the function get_font_face() so it only returns .ttf/.otf files. By default, most of the entries have no extension (e.g. "image/font/FOT-AnticCezannePro-DB") - these refer to .rft files, which are Artemis "Rendered FonTs". SJIS tunneling won't work for these.

blw1234 commented 1 year ago

事实证明,Artemis 使用名为“Babel”的库进入 SJIS->UTF16 转换,而不只是使用内部设置的 Windows 功能。VNTextProxy现在也支持此功能 (v0.0.34)。

sjis隐道适用于游戏游戏,您需要更改其:编辑systems \ msg.iet并更改函数函数get_font_face()“ image/font/FOT-AnticCezannePro-DB”)——这些是指rft Artemis 的“Rendered FonTs”。SJIS 隐道不适合用于这些。

The game is running perfectly. Thank you for your help

wjh191 commented 1 year ago

请提供示例文件(或游戏)。 美少女万華鏡 -忘れな草と永遠の少女-