satan53x / SExtractor

从GalGame脚本提取和导入文本
GNU General Public License v3.0
231 stars 15 forks source link

Cyberworks / CSystem 提出不到文本 #5

Closed wjzyxbaby closed 1 year ago

wjzyxbaby commented 1 year ago

Cyberworks / CSystem https://vndb.org/v32026 您好,铃铛社这个游戏我提出不到文本 ,请问是什么问题,

satan53x commented 1 year ago

工具是最新版本的吗?最初的版本有BUG,需要勾上左下角的“BIN启用纯文本模式”。 这个BUG已经修复过了,新版不需要打钩也行。

wjzyxbaby commented 1 year ago

新版本可以了,谢谢

Cosetto commented 1 year ago

Is there any solution to make vntextpatch support new Csystem' script, which is Unicode, like SExtractor?

satan53x commented 1 year ago

Is there any solution to make vntextpatch support new Csystem' script, which is Unicode, like SExtractor?

The main differences between the JIS and UNI versions are as follows:

  1. Control Bytes for Text:

    • JIS uses 0x53 'S' as the control byte.
    • UNI uses 0x54 'T' as the control byte.
  2. Text Length Calculation Method:

    • JIS calculates text length based on bytes.
    • UNI calculates text length based on UTF-16 characters. (Half of the bytes length)
    • The resulting length is converted into a little-endian four-byte sequence.
  3. XorKey:

    • In JIS, the XorKey is the first byte of the length byte sequence as described above.
    • In UNI, the XorKey is formed by the first and second bytes of the length byte sequence.

Perhaps you can modify VNT according to the description above.

satan53x commented 1 year ago

@Cosetto

Forgot to mention, after 0x53 'S' is a length byte sequence. But after 0x54 'T,' there are 4 unknown bytes, and then comes the length byte sequence. The unknown bytes should remain unchanged.