Help:Text modding: Difference between revisions

m
Fix citations (again, because glitches)
m (Citation fixes)
m (Fix citations (again, because glitches))
Line 19: Line 19:
Message files use a key-value system, which marks different strings of text with a unique identifier. When creating new keys, the identifiers can be whatever you want, but ideally, you should make them easy to remember and be consistent. (e.g. Talk01, Talk02)
Message files use a key-value system, which marks different strings of text with a unique identifier. When creating new keys, the identifiers can be whatever you want, but ideally, you should make them easy to remember and be consistent. (e.g. Talk01, Talk02)


The <code>attributes</code> section, while not fully understood, seems to label the actor that is speaking the <code>contents</code> section. It is unknown if this has any effect in-game.
The <code>attributes</code> section, while not fully understood, seems to label the actor that is speaking the <code>contents</code> section. It is unknown if this has any effect in-game.<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L120</ref>


In the game, the nodes within the <code>contents</code> section are played back top-to-bottom.
In the game, the nodes within the <code>contents</code> section are played back top-to-bottom.
Line 55: Line 55:
In YAML, line breaks and double-quotes have a special structural meaning, so they cannot be used directly in your text. Instead, <code>\n</code> (for line breaks) and <code>\"</code> (for double-quotes) must be used. This is called "escaping" the characters.
In YAML, line breaks and double-quotes have a special structural meaning, so they cannot be used directly in your text. Instead, <code>\n</code> (for line breaks) and <code>\"</code> (for double-quotes) must be used. This is called "escaping" the characters.


When putting spaces or line breaks at the beginning or end of a text node, the entire value of the node must be surrounded by unescaped double-quotes.
When putting spaces or line breaks at the beginning or end of a text node, the entire value of the node must be surrounded by unescaped double-quotes.<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L98</ref>


===Control nodes===
===Control nodes===
Line 64: Line 64:
           kind: set_colour
           kind: set_colour
           colour: blue
           colour: blue
</syntaxhighlight>The value of <code>colour</code> is the name of the color to set: <code>blue</code>, <code>red</code>, <code>grey</code>, <code>light_green1</code>, <code>light_green4</code>, <code>light_grey</code>, or <code>orange</code>.
</syntaxhighlight>The value of <code>colour</code> is the name of the color to set: <code>blue</code>, <code>red</code>, <code>grey</code>, <code>light_green1</code>, <code>light_green4</code>, <code>light_grey</code>, or <code>orange</code>.<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L62</ref>


The color setting will remain in effect until it is changed again or when the end of the <code>contents</code> section is reached. To set the color back to white, use the <code>reset_colour</code> control node:<syntaxhighlight lang="yaml">
The color setting will remain in effect until it is changed again or when the end of the <code>contents</code> section is reached. To set the color back to white, use the <code>reset_colour</code> control node:<syntaxhighlight lang="yaml">
Line 76: Line 76:
           kind: font
           kind: font
           font_kind: hylian
           font_kind: hylian
</syntaxhighlight>The value of <code>font_kind</code> is the name of the font to set: <code>normal</code> or <code>hylian</code>.
</syntaxhighlight>The value of <code>font_kind</code> is the name of the font to set: <code>normal</code> or <code>hylian</code>.<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L43</ref>


The font setting will remain in effect until it is changed again or when the end of the <code>contents</code> section is reached.
The font setting will remain in effect until it is changed again or when the end of the <code>contents</code> section is reached.
Line 85: Line 85:
           kind: icon
           kind: icon
           icon: y
           icon: y
</syntaxhighlight>The value of <code>icon</code> is the name of the icon to show. Options include arrows (<code>right_arrow</code>, <code>left_arrow</code>, <code>up_arrow</code>) and controller-related images (<code>gamepad</code>, <code>a</code>, <code>b</code>, <code>x</code>, <code>y</code>, <code>l</code>, <code>r</code>, <code>zl</code>, <code>zr</code>, <code>l_stick_press</code>, <code>l_stick_forward</code>, <code>l_stick_back</code>, <code>r_stick_press</code>, <code>d_pad_down</code>, <code>d_pad_left</code>, <code>d_pad_up</code>, <code>d_pad_right</code>, <code>plus</code>, <code>minus</code>).
</syntaxhighlight>The value of <code>icon</code> is the name of the icon to show. Options include arrows (<code>right_arrow</code>, <code>left_arrow</code>, <code>up_arrow</code>) and controller-related images (<code>gamepad</code>, <code>a</code>, <code>b</code>, <code>x</code>, <code>y</code>, <code>l</code>, <code>r</code>, <code>zl</code>, <code>zr</code>, <code>l_stick_press</code>, <code>l_stick_forward</code>, <code>l_stick_back</code>, <code>r_stick_press</code>, <code>d_pad_down</code>, <code>d_pad_left</code>, <code>d_pad_up</code>, <code>d_pad_right</code>, <code>plus</code>, <code>minus</code>).<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L47</ref>


====Pausing====
====Pausing====
Line 92: Line 92:
           kind: pause
           kind: pause
           length: long
           length: long
</syntaxhighlight>The value of <code>length</code> is how long to pause for: <code>short</code>, <code>long</code>, or <code>longer</code>.
</syntaxhighlight>The value of <code>length</code> is how long to pause for: <code>short</code>, <code>long</code>, or <code>longer</code>.<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L54</ref>


The duration of a pause can also be specified in frames by using the <code>frames</code> parameter:<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L58</ref><syntaxhighlight lang="yaml">
The duration of a pause can also be specified in frames by using the <code>frames</code> parameter:<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L58</ref><syntaxhighlight lang="yaml">
Line 151: Line 151:
           cancel_index: 3
           cancel_index: 3
           unknown: 8
           unknown: 8
</syntaxhighlight>If you only want to present one dialogue choice (to make NPC monologues more interactive) use the <code>single_choice</code> control node:<syntaxhighlight lang="yaml">
</syntaxhighlight>If you only want to present one dialogue choice (to make NPC monologues more interactive) use the <code>single_choice</code> control node:<ref>https://github.com/polarbunny/msyt-tools/blob/master/docs/notes.txt#L69</ref><syntaxhighlight lang="yaml">
       - control:
       - control:
           kind: single_choice
           kind: single_choice