Text & Dialogue
Lang Files
All of DELTARUNE Chapter 1's dialogue is stored in the Chapter 1 lang folder, which is located in the same directory as where the Chapter 1 WAD file resides. The English and Japanese translations are named lang_en.json and lang_ja.json respectively.
The beginning of Chapter 1's lang_en.json is shown below:
{
"date": "1540902565549",
"DEVICE_CONTACT_slash_Step_0_gml_5_0": " ^9 ^8 %",
"DEVICE_CONTACT_slash_Step_0_gml_6_0": " ARE YOU^6& THERE^6?\\M1 ^6 %",
"DEVICE_CONTACT_slash_Step_0_gml_7_0": "^6 \\M0ARE WE^6&CONNECTED^6?\\M1 ^6 ^6 %%",
...
}
Each JSON file contains a date key whose value is a timestamp encoded in unix time. Each subsequent key is a dialogue ID (e.g. DEVICE_CONTACT_slash_Step_0_gml_5_0) with the appropriate translation as the corresponding value. The dialogue IDs are the same between the English and Japanese JSONs, making it easy for the game to find the correct text translation just from the text's dialogue ID.
Starting from Chapter 2, DELTARUNE's English dialogue no longer exists in a lang_en.json file but is instead embedded in the code of the WAD file. However, Japanese dialogue still remains in a lang_ja.json file.
Control Characters
| Symbol | Description |
|---|---|
^[1-9] | This is a control character that tells Deltarune to wait a certain amount of frames before continuing to write dialogue. It is most commonly used right before commas and ellipses. Each number corresponds to a different amount of frames. Deltarune runs at 30 frames per second. 1: 5 frames. 2: 10 frames. 3: 15 frames. 4: 20 frames. 5: 30 frames. 6: 40 frames. 7: 60 frames. 8: 90 frames. 9: 150 frames. |
/ | This is a control character that tells Deltarune to stop writing dialogue for the current message. This doesn’t end the conversation, as pressing [CONFIRM] advances the text to the next message. |
/% | This is a control character that tells Deltarune to stop writing dialogue for the current message. After pressing [CONFIRM], the dialogue box goes away. |
%% | This is a control character that tells Deltarune to immediately close the dialogue box after it is reached. |
\ | When using a control character with a backslash () in it, you must escape the backslash with another backslash. For example, \\E1 is a valid control character that tells Deltarune to change the current character’s emotion to index 1. |
\E[alphanumeric] | This a control character that tells Deltarune to change the current face’s emotion. The number or letter after “E” tells Deltarune what emotion index to use. 0-9 uses index 0-9. A-Z uses indexes 10-35. a-z uses indexes 36-60. |
\F | This a control character that tells Deltarune to change the current face. The number or letter after “F” tells Deltarune what face to use. 0: No face. S: Susie. R: Ralsei. N: Noelle. T: Toriel L: Lancer. A: Asgore a: Alphys B: Berdly r: Rudy u: Rouxls Kaard K: King |
\T(number) | This a control character that tells Deltarune to change the typer, which controls how text is displayed and heard. The number or letter after “T” tells Deltarune what typer to use. 0: Default 1: Silent in the Light World A: Asgore a: Alphys N: Noelle n: Noelle but with small text B: Berdly S: Susie R: Ralsei L: Lancer X: Silent in the Dark World r: Rudy T: Toriel J: Jevil K: King |
\f[0-9] | This a control character that tells Deltarune to add a small face and text to the screen. |
\* | This a control character that tells Deltarune to type a keyboard button or draw a controller button sprite. This is only used when a controller is connected by calling scr_get_input_name(), where the first variable is a number from 0-9. 0: Move down 1: Move right 2: Move up 3: Move left 4: Confirm 1 (Defaults to Z) 5: Cancel 1 (Defaults to X) 6: Menu 1 (Defaults to C) 7: Confirm 2 (Defaults to Enter) 8: Cancel 2 (Defaults to Shift) 9: Menu 2 (Defaults to Control) |
\s | This a control character that tells Deltarune whether the text is skippable or not. 0: False 1: True |
\c | This a control character that tells Deltarune to color the following text a different color. The letter or number after “c” controls what color to use. R: Red B: Blue Y: Yellow G: Lime W: White X: Black 0: Reset |
\C | This a control character that tells Deltarune to bring up a choicer. The number after “C” tells Deltarune whether to use the old choicer, and how many choices there should be. 1: Old Choicer (How Undertale’s choicer looks) 2: New Choicer, 2 Choices 3: New Choicer: 3 Choices 4: New Choicer: 4 Choices |
\M | This a control character that tells Deltarune to change an overworld sprite using global.flag[20]. The number after “M” tells Deltarune what to set the flag to. |
\S | This a control character that tells Deltarune to play a sound while text is writing. The number after “S” tells Deltarune which predefined sound to play using global.writersnd[0-9]. |
\I | This a control character that tells Deltarune to insert an image while text is writing. The number after “I” tells Deltarune which predefined image to draw using global.writerimg[0-9]. |
# | This is essentially a replacement for the \n character, it is a new line character |