Originally Posted by maff.brush
hi everybody! any idea about those 4 bytes? I would like to translate the subs in the "old mode", but keeping the speech in the new one.
From quick observation, only 20 bits seem to be used in this field. I don't know the exact method they use to calculate the value for this field, but if I had to guess -and if the assumption that this is a checksum is correct, I'd say they probably first convert the line (subcue) to lower case chars, remove any non-alphanumeric chars (including '.', '?','!', quotation marks etc) maybe even remove white spaces and then produce the checksum. So unless we can figure out this checksum function, it won't be possible to proceed with fansubbing.
And keep in mind:the worst case scenario
is that such a function could have been written to ignore any characters that don't belong to the english alphabet. Which is highly likely
, 'cause when I translated some lines for the classic text, but kept names like "melee island", "guybrush threepwood" intact, the game actually used speech for these lines (speaking only these names). Which means it ignored everything else in the line and just did a lookup based on the checksum of the english words it found
So, currently, the only way to change the text and keep the speech is the following: Keep the english text in the classic version and modify one of the available translations (excluding the english one, so e.g. change the french one) in the speech.info file. Then by selecting that translation
(here the french one) you'll still have the classic version in english, but the new one will be in your language -font problems aside.
I am also interested in writing tool to support a new translation (or porting a translation for the classic version to the new one). However, in my case this would also mean messing with and patching the font files if possible, to extend the charset.