QuizMenuTool Tutorial: Difference between revisions
m Fix typo |
Happylappy (talk | contribs) m Changed TitIes |
||
| Line 51: | Line 51: | ||
There are two ways to paste values, either by right-clicking the paste location and selecting "Paste Special" then "Values Only", or by holding shift as you paste. | There are two ways to paste values, either by right-clicking the paste location and selecting "Paste Special" then "Values Only", or by holding shift as you paste. | ||
== Quiz Preamble Generator | == Quiz Preamble Generator == | ||
The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. | The Quiz Preamble Generator Tab as a whole exists to create the very beginning of the quiz. | ||
| Line 66: | Line 66: | ||
The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet. | The orange output cell on this sheet is largely unimportant, but is present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet. | ||
== Starter Selection Generator | == Starter Selection Generator == | ||
This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. | This tab of the sheet is primarily for inputting data about the starters, or the personality pools they belong to. | ||
| Line 152: | Line 152: | ||
Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet. | Once again, the orange output cells on the far right of this sheet are largely unimportant, but are present for debug purposes. It compiles the portions of the script using the inputs on this tab of the sheet. | ||
== Question Loop Generator | == Question Loop Generator == | ||
=== Upper Panel === | === Upper Panel === | ||
| Line 166: | Line 166: | ||
The <code>[S:0]</code> text tag will be explained in further detail below. | The <code>[S:0]</code> text tag will be explained in further detail below. | ||
== Question Generator | == Question Generator == | ||
Note: The "Yes." and "No." options have the <code>[S:0]</code> text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in "Full Script Translation". If there are no plans to use the sheet's translation features, it is safe to remove any variants of <code>[S:0]</code>. (instructions to do so in SkyTemple directly are present below). | Note: The "Yes." and "No." options have the <code>[S:0]</code> text tag after them. This does functionally nothing, and exists primarily to aid in automatic string translation, as the localization teams translated the same English responses for questions differently based on context. This will be elaborated on further in "Full Script Translation". If there are no plans to use the sheet's translation features, it is safe to remove any variants of <code>[S:0]</code>. (instructions to do so in SkyTemple directly are present below). | ||
| Line 229: | Line 229: | ||
Before moving onto the next question, copy the template output, and '''Paste Values''' in the corresponding slot on the "Question Template List". By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. | Before moving onto the next question, copy the template output, and '''Paste Values''' in the corresponding slot on the "Question Template List". By default, templates for each vanilla question are already in the Question Template List, ready to be edited or modified by copying and pasting into the Question Template Input. The Script Output Column is again for debug purposes, and is read automatically by another tab of the sheet. | ||
== Personality Pool Selection Generator | == Personality Pool Selection Generator == | ||
Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla: | Once the quiz itself is completed, the points need to be tallied, so that a winning pool can be selected. The exact way that this happens in vanilla is a tad complicated, especially when it comes to breaking ties. Here are the steps that occur in vanilla: | ||
| Line 248: | Line 248: | ||
On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for "Time/Darkness", and 3/4 for "Male/Female"). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the "Surprise Me!" gender option, 2 points are given for male, 2 for "not male", 2 for "female", and 2 for "not female", in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I've added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. | On the far left, are the IDs of the two flags that should be checked (without modification, this could be 0 for "Time/Darkness", and 3/4 for "Male/Female"). Depending on if the 1st and 2nd flags are true (1), or false (0), the selected pools (as many as needed) will gain the specified number of points. In order to accommodate for the "Surprise Me!" gender option, 2 points are given for male, 2 for "not male", 2 for "female", and 2 for "not female", in order to influence every pool containing a sky-exclusive starter. (A similar process is done for the Time/Darkness exclusive starters I've added to my example quiz, if the player has NOT played time/darkness). Up to 10 slots are present for pool tinkering, though more could be added if there is a pressing need. | ||
== Aura Bow Generator | == Aura Bow Generator == | ||
The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows: | The Aura Bow Generator serves to emulate the cinematics of the vanilla aura bow portion of the quiz. In addition to simply detecting when and for how long the player is touching the Aura Bow, the actual bow color needs to be determined! For the vanilla quiz, the process is as follows: | ||
| Line 270: | Line 270: | ||
Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights '''must be integers''' or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. | Finally, the Bow Selection Panel handles the actual selection and presentation of the Aura Bow. [[File:Bow Selection Panel.png|alt=Bow Selection Panel Location.|center|thumb|600x600px|Bow Selection Panel Location.]]The upper left of the panel is for assigning weights to the three methods for selecting a bow color: DS Favorite Color, DS MAC Address, or a custom block of code. Note that these weights '''must be integers''' or the sheet will generate invalid code. For convenience, the percent chance of each option is computed by the sheet, based on the weights and total weight. The ExplorerScript input for the custom bow selection is on the right of this panel, and on the bottom left is the flavor-text for each bow color. | ||
== Variable Cleanup & End-Cap Generator | == Variable Cleanup & End-Cap Generator == | ||
This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, <code>PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ</code>, will wipe <code>$CONFIG_COLOR_KIND</code> clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides <code>$CONFIG_COLOR_KIND</code>, then returned afterwards. | This tab of the sheet aims to clean up the bevy of variables used by the quiz, and prep the game for actually running. Since QMT uses a majority of the script variables the game has to function, this tab resets them all back to what they should be at the beginning of a save file, now that the quiz no longer needs them. If some part of the quiz needs to be remembered, such as the color of the aura bow, whether the player has played Time/Darkness, or the winning Quiz personality pool, that needs to be preserved in this tab. In addition, this is the tab where the starters are officially initialized, which allows them to be nicknamed. Finally, the special process for actually assigning the starters, <code>PROCESS_SPECIAL_INIT_MAIN_TEAM_AFTER_QUIZ</code>, will wipe <code>$CONFIG_COLOR_KIND</code> clean, replacing it with what the real quiz determined your aura bow color to be. Because the real quiz never runs during QMT, this will always be zero. As a result, the aura bow color needs to be saved somewhere besides <code>$CONFIG_COLOR_KIND</code>, then returned afterwards. | ||
| Line 317: | Line 317: | ||
A full list of script variables with their appropriate descriptions will be provided in "Other Resources", and might prove useful for more advanced tinkering in this panel. | A full list of script variables with their appropriate descriptions will be provided in "Other Resources", and might prove useful for more advanced tinkering in this panel. | ||
== Full Script Translation | == Full Script Translation == | ||
This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn't need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. | This tab of the sheet is dedicated to translating all lines of dialogue into Spanish, French, German, and Italian, for an EU ROM. If the hack this is for doesn't need translation, this tab can be completely skipped. One of the most essential features of a translated quiz is the ability to pre-translate the vanilla text strings from the original quiz. | ||
| Line 328: | Line 328: | ||
On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and '''Paste Values''' it on top of itself, and it will turn blue, which is safe to edit. | On the left, are English lines of text extracted from other tabs of the sheet. each column corresponds to an EU language (Spanish, French, German, Italian). At the top of each column, is a count of how many untranslated lines of dialogue are left for that language, as well as a checkbox to enable/disable each language. In the above screenshot, French dialogue will not be added to the final script, because the checkbox is enabled. In the rows themselves, are pink cells (vanilla translated text), green cells (empty), and blue cells (manual translation). Simply review each pink cell, and manually translate the English for that row for green cells so they turn blue. If a pink cell needs editing, simply copy the cell, and '''Paste Values''' it on top of itself, and it will turn blue, which is safe to edit. | ||
== Vanilla Translation Strings | == Vanilla Translation Strings == | ||
This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. | This tab of the sheet is used to store vanilla strings from the base game, and official Pokemon translations. These can be amended and edited as desired, to include custom strings for auto-translation, or new Pokemon name translations. | ||
[[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]] | [[File:Vanilla Translation Strings Dialogue.png|alt=Vanilla Translation Strings Dialogue|center|thumb|600x600px|Vanilla Translation Strings Dialogue]] | ||
| Line 335: | Line 335: | ||
On the far right of the tab, are a list of every Pokemon through Scarlet & Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. | On the far right of the tab, are a list of every Pokemon through Scarlet & Violet, and the French/German translations for each species (Spanish and Italian use English species names). These can also be amended or added to as desired. | ||
== Full Script Compression | == Full Script Compression == | ||
Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. | Last but not least, is the Full Script Compression Tab. This tab compiles all of the information from the other tabs, and compresses it into a copy/pastable batch of scripts for SkyTemple. | ||