Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
blog:x86_raygun_english [2020/06/23 11:09] – [Disk 1 - OMAKE.MES] johnblog:x86_raygun_english [2020/06/25 09:15] (current) – [Disk 1 - START.MES] john
Line 45: Line 45:
   * A music test mode   * A music test mode
  
-==== Text Format ====+Also: 
 + 
 +  * Don't press space when the game starts, expecting to get to the title screen quicker; it won't and actually skips the entire intro and drops you onto the game world map without showing you anything! 
 +  * Some text dialogue autoplays; you don't need to do anything to progress 
 +  * A mouse click will progress from one message to the next where input is expected 
 +==== Text Format & Considerations ====
  
 Unless otherwise noted, all text is in Shift-JIS format and represented by two bytes within the game files. Unless otherwise noted, all text is in Shift-JIS format and represented by two bytes within the game files.
  
-The text output routine includes a complete upper and lower-case western alphabet and a mostly complete set of punctuation characters, however, all of the fonts are double-width, so the formatting is neither as pretty as it could be, or as compact (less text per line).+The text output routine includes a complete upper and lower-case western alphabet and a mostly complete set of punctuation characters, however, //all of the fonts are double-width//, so the formatting is neither as pretty as it could be, nor as compact (less text per line). On the plus side, the font is actually quite nice. 
 + 
 +Some other points: 
 + 
 +   * Most screens restrict you to a maximum of 30 characters in width. 
 +   * Auto-playing screens during the introduction can show 4 lines of text (4x 30 = 120 chars) and can be scrolled upwards. 
 +   * Normal dialogue scenes are limited to 3 lines of text (3x 30 = 90 chars max.) and the scroll function doesn't work correctly (it overwrites the on-screen image, if you try to embed a linebreak+linescroll control code).
 ==== Translation Caveats ==== ==== Translation Caveats ====
  
Line 68: Line 79:
  
 At present, we are working on (1) and (2), though where it is obvious, I am making small edits to (3) as I go (fixing glaring translation typos, for example). At present, we are working on (1) and (2), though where it is obvious, I am making small edits to (3) as I go (fixing glaring translation typos, for example).
 +
 +Of course, amongst all that there are decisions to be made about typos in the script, layout considerations (English is not as compact a language as the various Japanese characters) and formatting/control codes to decipher. 
 +
 +Most of the experimentation was done on the [[x86_raygun_english#disk_1_-_startmes|introductory section of the game]], as it is the easiest to see and includes both auto-playing and interactive dialogue scenes.
  
 ---- ----
Line 305: Line 320:
  
 Also the option text shown in the music jukebox screen are in the same file. Also the option text shown in the music jukebox screen are in the same file.
 +
 +[[https://github.com/megatron-uk/raygun-x68k/blob/master/csv/disk1/OMAKE.MES.csv]] - Japanese to English mapping CSV
  
 **Status:** **Status:**
  
-   * Japanese text extraction: 0%+   * Japanese text extraction: 100%
    * Literal English text: 0%    * Literal English text: 0%
    * Rewritten English text: 0%    * Rewritten English text: 0%
    * Reinsertion progress: 0%    * Reinsertion progress: 0%
 +
 +The literal/rewritten text in this one needs some thought, as it contains embedded spaces and carriage returns to position on the right place on the screen.
 ==== Disk 1 - OPEN_END.MES ==== ==== Disk 1 - OPEN_END.MES ====
  
Line 372: Line 391:
  
 All the text in this file relates to that animated intro. All the text in this file relates to that animated intro.
 +
 +=== Hacking!!! ===
 +
 +Quite sensibly, being pretty much the first source of text you encounter in the game, most of the hacking and experimentation was done on the `START.MES` file. So there's a lot more information about this file than you will find regarding the others.
  
 The maximum text display width during the opening sequence is 30 characters. If you attempt to display a string longer than that length you end up with text cut off from the line it should be displayed on, and instead left *floating* at the bottom edge of the screen (see below for example). The maximum text display width during the opening sequence is 30 characters. If you attempt to display a string longer than that length you end up with text cut off from the line it should be displayed on, and instead left *floating* at the bottom edge of the screen (see below for example).
Line 381: Line 404:
 {{:blog:start_wrapped.png?500|}} {{:blog:start_wrapped.png?500|}}
  
-The interactive scenes (basically, you push a button to continue reading, unlike all the previous scenes which were essentially an automatic slideshow) have a different text display routine. For some reason whilst displaying, they scroll upwards and overwrite the contents of the current image (see below). This needs some investigation.+The interactive scenes (basically, you push a button to continue reading, unlike all the previous scenes which were essentially an automatic slideshow) have a different text display routine. Initially, they seem to work great.... 
 + 
 +{{:blog:interactive_ok.png?500|}} 
 + 
 +=== Overwriting Images === 
 + 
 +But, for some reason whilst displaying, they scroll upwards and overwrite the contents of the current image (see below), this continues until the screen changes. This needs some investigation... 
 + 
 +{{:blog:start_overwrite.png?500|}} {{:blog:interactive_mess.png?500|}} 
 + 
 +It turns out that the interactive text display //automatically// does line wrapping, so it's reasonable to disable the line-wrapping of the `inject.py` script for text that is displayed during this section of the intro (or, at the very least, set it to some huge number like 999). However, even disabling it does not prevent the overwriting behaviour as shown above. More investigation needed. 
 + 
 +It appears that there are several code sequences for inserting a newline into the text, and each has a slightly different behaviour: 
 + 
 +^ Hexadecimal sequence ^ Text representation ^ Example ^ Output ^ 
 +| 0xC1 | //We substitute **|** for 0xC1 in the script// | <code>[George] This is a placeholder|another1|another1|</code> | {{:blog:introduction_c1.png?200|}}| 
 +| 0x81 0x93 | <code>%</code> | <code>[George] This is a placeholder%another1%another1</code> | {{:blog:introduction_81_93.png?200|}}| 
 + 
 +=== Linebreak Character === 
 + 
 +So, using the linebreak character '%' (or, more strictly speaking, the S-JIS '%' character) we can embed a normal return into the printed text. Alternatively using the '|' character we can inject a return and then upward scroll of the immediately printed text. Note that the latter won't work particularly well on the interactive scenes, due to the taller image being shown. 
 + 
 +=== Available Line Width === 
 + 
 +The width of all text during the introduction sequence (auto-playing and interactive scenes) is **30** characters. Anything over that length will cause: 
 + 
 +  * Truncation and graphical errors (auto-playing segments) 
 +  * Auto-wrapping of the text to the next line (interactive scenes) 
 + 
 +=== Available Row Size ===
  
-{{:blog:start_overwrite.png?500|}}+During the auto-playing introductory sequence up to **4** rows of text can be shownDuring interactive sequences the number is reduced to **3** rows maximum. The on-screen image shown during the latter sections is larger, hence there is less available room for text - even so, it does appear that there is room for more, but attempting to do so will cause:
  
-It turns out that the interactive text display //automatically// does line wrapping, so it's reasonable to disable the line-wrapping of the `inject.py` script for text that is displayed during this section of the intro. Howevereven disabling it does not prevent the overwriting behaviour as shown above. More investigation needed.+  * The 4th and greater lines of text to wrap back to the 1st line, overwriting it
  
 [[https://github.com/megatron-uk/raygun-x68k/blob/master/csv/disk1/START.MES.csv]] - Japanese to English mapping CSV [[https://github.com/megatron-uk/raygun-x68k/blob/master/csv/disk1/START.MES.csv]] - Japanese to English mapping CSV
Line 393: Line 445:
   * Japanese text extraction: 100%   * Japanese text extraction: 100%
   * Literal English text: 100%   * Literal English text: 100%
-  * Rewritten English text: 5%+  * Rewritten English text: 100%
   * Reinsertion progress: 75%   * Reinsertion progress: 75%
  
  • blog/x86_raygun_english.1592906940.txt.gz
  • Last modified: 2020/06/23 11:09
  • by john