[GBC] Bob et Bobette: Les Dompteurs du Temps - 英文翻译项目
[GBC] Bob et Bobette: Les Dompteurs du Temps - English Translation Project
Gbatemp 用户提出协助 GBC 游戏 Bob et Bobette: Les Dompteurs du Temps 的英文翻译项目,并分享了技术测试。游戏单语言脚本约 40 条字符串,法语与荷兰语仅有 3 至 5 处措辞不同。测试表明字符串起始地址可能硬编码,十六进制编辑减字符须保持总文件大小以免图形损坏。
This may be a late response
I've been a long time 'lurker' here and I want to contribute to a romhack / project someday.
I can assist you with the translation from dutch to english, and well I've also had to learn french, english.
On daily basis I do read and listen to english for my job and when playing videogames ofcoure.
Since you've already found the script by looking at the game in plain text,
I've read it myself and it's about 40 strings for one language so not that big.
I've spotted around 3 to 5 small occurrences between french and dutch that uses different wording, the rest is similar enough to tell the same story. I assume the target audience would likely have been 5~6 years or older back then, thus the story doens'nt contain complex sentences.
I did some tests and here is some technical info;
- the game contains c-style formatted strings ending with ascii code 0 'nul' or '\0' the full script is located in one continuous chunk of memory and alternates between the 2 languages in an even, odd pattern (instead of first language 1 then 2).
- characters displayed directly on screen use uppercase ascii characters.
- a lowercase substitute character is used for symbols like ' and common french symbols like 'é ê è ë'.
I've checked how flexible string editing is without modifying the game code;
with simple hex editing you can only reduce the amount of characters in a string by padding with space characters like the script already does or by replacing the last set of characters with '\0' characters.
And when a string is scrolling on screen, seperate letter tiles are shown until the '\0' character,
then once the last character scrolls offscreen, the dialog box disappears and transitions to another dialog box with the next string.
tests performed:
- move 6 characters (5 characters and a space) from one of the sentences of the intro to the next => the first sentence seems fine, the second sentence missed 6 characters.
picking the other language caused the first 6 characters to disappear from the dialog box => this suggests the game uses hardcoded start addresses somewhere that point to the beginning of a string.
- removed 6 characters and placed 6 '\0' at the end of the sentence keeping the exact same filesize => string in the dialog box printed fine, after the last letter of the modified sentence scrolled off screen, it transitions to the next dialog box sooner without any further issues.
- replacing a character in the middle of a sentence with the '\0' character => the letters tiles until the '\0' character are only scrolled on screen and once again after the last letter scrolls of screen the game transitions to the next dialog.
- removed 6 characters reducing the filesize => it booted fine until the sentence was scrolling on screen, then graphical corruption happens, part of the sentence gets skipped and the next dialog displays the incorrect string until finally reaching a solid red screen. (Likely you'll need to maintain the correct total filesize for any gbc game.)
I can only assume that the game contains hardcoded start addresses somewhere that point to the beginning of a string, I'm not familiar with the gameboy color hardware to know if it is the absolute location in the file or if it is a relative location and if bank switching is required.
I'm not sure if I can alter the actual game code without learning more about the gameboy color hardware.
Funny they got the group Maniacs of noise to provide the music and sfx, it's a name that pops up in the commodore C=64 scene.
来源:Gbatemp · gbatemp.net