Pim_gd
Content Creator
- Joined
- Jan 25, 2013
As I'm not much of an artistic or otherwise creative person, I try to help out in other ways to promote good fapping material.
I've started helping out with dialogues to ensure they don't have any bugs or silly typo's in them.
During this "Quality Assurance", I tend to find mistakes - simple things that the author overlooked. Some mistakes tend to happen just about every dialogue - and they're quite easy to find, too!
In fact, they were so common I kept a list of them and one of the first things I do when checking a dialogue is simply searching if those mistakes are in there (without even starting the dialogue up in-game first). However, listing them all so the author can fix them is a pain. It's a lot of copy paste, and even although I know what to look for, it takes a lot of time. Seeing how I have a bit of knowledge of flash...
I made a DialogueChecker!
The current version of the DialogueChecker is v3.07.
It can be found online here.
For downloading, it's also attached to this post, or you can go to downloads page and get the latest version there.
Sources can be found attached in the archive (second post), or online in a bitbucket/git repo here.
But what does it DO?
Well,
If you downloaded it, you open it like you would open SDT. This is not an import mod. If you try to import it into the game, something will happen but it doesn't look good and it won't work properly either.
You put a dialogue in the top box. Then you hit "Check my Dialogue!"
The script checks your dialogue to see if it contains a certain piece of text, like "[[".
If it finds something, it prints the "error" and the line of the error in the box at the bottom.
Not everything is an error, but usually it indicates that something went wrong.
If any errors are found, the checker prints how many errors were found and what they are. As of v1.17, it also lists how many severe issues were found. Severe issues are issues with a dialogue that prevent that dialogue from properly loading in SDT. Dialogues with severe issues might crash SDT or simply not work at all. As of v2.00, the checker also lists the amount of major and minor issues. Additionally, it's possible to filter reported issues based on their severity. The checker will report that the dialogue contains suppressed issues if this leads to issues being omitted from the report.
The output might be a bit widely spaced. The default linebreak is "\r\n". For certain text editors (including flash), both \r and \n are treated as a single linebreak. Since v1.18, you can change the linebreak used by the DialogueChecker by editing the value of the linebreak field.
If you have a lot of errors, you can filter it by unchecking some of the checkboxes. This helps when, for instance, you don't really care about what will happen when a player doesn't have a name set. You could easily uncheck "Check Substitutes", and then the checker will not check for issues with *YOU*, *YOUR*, *ME* and *MY*. This feature was added in v1.07.
The checker will also parse comments in your code. Since v1.08, there is a filter in place, but the filter is not perfect. If it finds an error in your comments, you can just ignore it. Since v1.10, it's possible to disable this filter, if you feel it's preventing the checker from properly checking your dialogue. Since v2.04, the filter has been improved: lines with 3 or more spaces before a double quote will be seen as commented lines - same goes for lines without double quotes at all.
Proper use of the DialogueChecker requires that you place your initial_settings line (if you have one) before any other lines. This is because since v1.11, the checker will parse variables and use the information to further check your dialogue.
Part of the DialogueChecker is the validation of triggers and linetypes. This feature was added in v1.14. External mods can add new triggers or linetypes which the DialogueChecker does not recognize. A list of recognized triggers and linetypes is added below the list of "what the DialogueChecker checks". In v1.24, validation of variables was implemented. Dialogue Mods (not dialogues, but mods which enhance dialogue) can inject variables in a dialogue. Below is a list of variables that the checker knows of. If you have a mod which makes use of custom triggers, linetypes or variables, let me know so I can adapt the DialogueChecker to support your mod. Versions v2.00 and later require that checking for Line Usage and Variables is enabled in order to properly detect dependancies.
If you have feedback or ideas (any other common "mistakes" a script could check for?), please comment.
I suggest using both this and the ingame dialogue log to check if your dialogue is working properly.
The things the script checks (this list is outdated - however, I'm keeping it here just to show you how much things the checker can find for you):
If something is whitelisted, it means that for that specific check, the presence of that string of characters will cause the checker to ignore the possible error it found.
So [Help...!] does not trigger [.!] because the checker finds [...!], which is whitelisted.
[Help...!.], on the other hand, triggers [.!.]. [...!] does not apply here, and thus the checker reports an error.
List of supported linetypes, triggers and variables: (This list last updated with v2.13, I'm a bit lazy)
Feature idea list: (Format: votecount (voters) - feature description (technical details))
1 (ModGuy) - Mark violating sections with a color (red?) (htmlText of TextField) - Failed to implement, if anyone else has suggestions... (htmlText eats the newlines in the source so I can't parse it anymore, as well as converting html tags and other characters to affect the text)
0 (nobody) - Check that the values for line-attributes [check] and [set] are valid (Expand VariableChecker to validate that all values in check line-attributes are possible to attain. Support VariableArithmetic by analyzing used functions).
0 (nobody) - Add Style as a category, containing [?.], [!.], [%01] (A StyleChecker)
0 (nobody) - Create a options page, rather than these checkboxes all over the place (Display class)
How this works:
You can vote for an infinite amount of features and you can request features and I'll add them to the list. When making changes to the checker (or whenever I feel like it), I'll implement things from the list, based on how many votes a feature has and how long I estimate adding a feature would take. However, bigger features don't require more votes. I cleared this list when I made v2.00, and the features that I kept on the list are starting at 0 votes because I want to know if people are still interested. I'm also not counting my own votes because I know I'll have plenty of personal bias when deciding what I'll implement from the list XD.
If you're a guest and you want to vote, you'll have to sign up.
For a changelog of v3, see the bitbucket repo's commit list.
Version log for v2:
Version log for v1: (see next post, forums are having issues with my large post)
I've started helping out with dialogues to ensure they don't have any bugs or silly typo's in them.
During this "Quality Assurance", I tend to find mistakes - simple things that the author overlooked. Some mistakes tend to happen just about every dialogue - and they're quite easy to find, too!
In fact, they were so common I kept a list of them and one of the first things I do when checking a dialogue is simply searching if those mistakes are in there (without even starting the dialogue up in-game first). However, listing them all so the author can fix them is a pain. It's a lot of copy paste, and even although I know what to look for, it takes a lot of time. Seeing how I have a bit of knowledge of flash...
I made a DialogueChecker!
The current version of the DialogueChecker is v3.07.
It can be found online here.
For downloading, it's also attached to this post, or you can go to downloads page and get the latest version there.
Sources can be found attached in the archive (second post), or online in a bitbucket/git repo here.
But what does it DO?
Well,
If you downloaded it, you open it like you would open SDT. This is not an import mod. If you try to import it into the game, something will happen but it doesn't look good and it won't work properly either.
You put a dialogue in the top box. Then you hit "Check my Dialogue!"
The script checks your dialogue to see if it contains a certain piece of text, like "[[".
If it finds something, it prints the "error" and the line of the error in the box at the bottom.
Not everything is an error, but usually it indicates that something went wrong.
If any errors are found, the checker prints how many errors were found and what they are. As of v1.17, it also lists how many severe issues were found. Severe issues are issues with a dialogue that prevent that dialogue from properly loading in SDT. Dialogues with severe issues might crash SDT or simply not work at all. As of v2.00, the checker also lists the amount of major and minor issues. Additionally, it's possible to filter reported issues based on their severity. The checker will report that the dialogue contains suppressed issues if this leads to issues being omitted from the report.
The output might be a bit widely spaced. The default linebreak is "\r\n". For certain text editors (including flash), both \r and \n are treated as a single linebreak. Since v1.18, you can change the linebreak used by the DialogueChecker by editing the value of the linebreak field.
If you have a lot of errors, you can filter it by unchecking some of the checkboxes. This helps when, for instance, you don't really care about what will happen when a player doesn't have a name set. You could easily uncheck "Check Substitutes", and then the checker will not check for issues with *YOU*, *YOUR*, *ME* and *MY*. This feature was added in v1.07.
The checker will also parse comments in your code. Since v1.08, there is a filter in place, but the filter is not perfect. If it finds an error in your comments, you can just ignore it. Since v1.10, it's possible to disable this filter, if you feel it's preventing the checker from properly checking your dialogue. Since v2.04, the filter has been improved: lines with 3 or more spaces before a double quote will be seen as commented lines - same goes for lines without double quotes at all.
Proper use of the DialogueChecker requires that you place your initial_settings line (if you have one) before any other lines. This is because since v1.11, the checker will parse variables and use the information to further check your dialogue.
Part of the DialogueChecker is the validation of triggers and linetypes. This feature was added in v1.14. External mods can add new triggers or linetypes which the DialogueChecker does not recognize. A list of recognized triggers and linetypes is added below the list of "what the DialogueChecker checks". In v1.24, validation of variables was implemented. Dialogue Mods (not dialogues, but mods which enhance dialogue) can inject variables in a dialogue. Below is a list of variables that the checker knows of. If you have a mod which makes use of custom triggers, linetypes or variables, let me know so I can adapt the DialogueChecker to support your mod. Versions v2.00 and later require that checking for Line Usage and Variables is enabled in order to properly detect dependancies.
If you have feedback or ideas (any other common "mistakes" a script could check for?), please comment.
I suggest using both this and the ingame dialogue log to check if your dialogue is working properly.
The things the script checks (this list is outdated - however, I'm keeping it here just to show you how much things the checker can find for you):
Code:
Grammar:
[ ] - Double space is always bad. Try using Б if you need a delay in the display of your dialogue. Can be disabled with #DialogueChecker-NoDoubleSpace# since v3.00.
[,,] - Double comma is a grammatical error. Introduced in v1.04.
[ ,] - Space in from of comma is a grammatical error. Introduced in v1.04.
[,?] - Grammatical error. Introduced in v1.05.
[,!] - Grammatical error. Introduced in v1.05.
[ !] - Space before exclamation mark is a grammatical error. Introduced in v1.05.
[ ?] - Space before question mark is a grammatical error. Introduced in v1.05.
[!.] - Grammatical error. (Whitelisted: [!...]. Whitelisting added in v1.11)
[?.] - Grammatical error. (Whitelisted: [?...]. Whitelisting added in v1.11)
[%0A ] - Space at start of new line
[:" ] - Space at start of new line (or you have spaces in your variables - which is not wrong) - re
[ . ] - Space before end of line is a grammatical error. Introduced in v1.10.
[.!.] - Grammatical error. Introduced in v1.12.
[.?.] - Grammatical error. Introduced in v1.12.
[.?] - Grammatical error, double sentence ending. Introduced in v1.12.
[.,] - Grammatical error, wrongfully continued sentence. Introduced in v1.12.
[.!] - Grammatical error, double sentence ending. Introduced in v1.12.
[.,.] - Grammatical error. Maybe it's a wrongfully typed ellipsis? Introduced in v1.12.
[!,] - Grammatical error, as a finished sentence shouldn't be continued with a comma. Introduced in v1.15.
[?,] - Grammatical error, as a finished sentence shouldn't be continued with a comma. Introduced in v1.15.
[,.] - Grammatical error, as a comma indicates that more text will follow. Introduced in v1.29.
- Lines starting with a comma, as this is not a proper way to begin a sentence. Introduced in v2.03.
- Lines starting with a disconnected exclamation mark [! ]. Introduced in v2.04.
- Lines starting with a disconnected period [. ]. Introduced in v2.04.
Whitelisted (if detected during their relative checks):
[!...] - To check for [!.], but allow [!...]. Added in v1.11.
[?...] - To check for [?.], but allow [?...]. Added in v1.11.
[,...] - To check for [,.], but allow [,...]. Added in v1.29.
[...!] - To check for [.!], but allow [...!]. Added in v1.12.
[...?] - To check for [.?], but allow [...?]. Added in v1.12.
[...,] - To check for [.,], but allow [...,]. Added in v1.12.
Syntax:
[: ] - Indicates probable line fault at the start
[ :] - Indicates probable line fault at the start or in a variable
[::] - Duplicate colon indicates a mistake in the syntax (typo). Introduced in v1.21.
[[[] - Wrong trigger.
[]]] - Wrong trigger ending.
[{style] - improper use of style attribute
[set:] - improper use of set attribute.
[check:] - improper use of check attribute. Introduced in v1.06.
[style:] - improper use of style attribute. Introduced in v1.06.
[mood:] - improper use of mood attribute. Introduced in v1.06.
[next:] - improper use of next attribute. Introduced in v1.06.
[held:] - (only if not as line start) improper use of held attribute. Introduced in v1.07.
[},{] - Coding error. Introduced in v1.06.
[%01] - Old delay string. Should be replaced with Б for a cleaner dialogue. Introduced in v1.08.
[[]] - Empty trigger. Introduced in v1.08.
[dialogue-name] - This might be a setting the writer wanted to set. SDT works with underscores - use [dialogue_name]. Introduced in v1.09.
[initial-settings] - This might be a setting the writer wanted to set. SDT works with underscores - use [initial_settings]. Introduced in v1.09.
- Uneven amount of asterisks on one line - Indicates a possible coding error. Added in v1.04.
- Uneven amount of double quotes on one line - Indicates a possible coding error. Added in v1.04.
- Mismatch in counts of [ and ] on one line - Indicates a possible coding error. Added in v1.06.
- Mismatch in counts of { and } on one line - Indicates a possible coding error. Added in v1.06.
- If 3 or more double quotes are present, check if the 3rd double quote comes before a { character ("""{). Indicates a possible coding error. Added in v1.07.
- If a line has more than 2 double quotes, check if the line does not have line-attributes (no { character available). Indicates a likely mistake in double quote insertion or a typo. Added in v2.03.
- Wrongly placed trigger openings and endings, such as {intro:"hello![NORMAL_MOOD] ]intro2["}. Introduced in v1.08.
- Illegal colons: if a line has :", and the : of that is the first occurance of :, check if there are colons between the first double and the second double quote. Added in v1.10.
- Misplaced colons: check if a line has double quotes before the first occurance of a colon - if so, this is likely a misplaced colon. Added in v1.28.
- Line excess: if a line has excess characters between the line name and line content, between line content and line attributes or after line attributes, the checker flags them as an issue. Added in v2.00.
- Spaces in triggers: if a line contains triggers, and these triggers have spaces in them, the checker raises a Major issue. Triggers with spaces in them won't be detected as triggers by SDT and will be seen as plain text instead. Added in v2.02.
- Line-attributes: At the end of each line, through the use of JSON certain line-attributes can be set. The checker validates these line-attributes. Added in v1.16.
- Line-attributes on finish and interrupt lines are not allowed - Major issue due to dialogue not working as intended (lines missing/attributes being ignored). Added in v2.10.
- Line-attributes for set and check are checked for their format. All numeric values have to be free of double quotes, or SDT will fail at parsing them.
- Line with line attributes can't have finish in the line as literal string or trigger. Added in v2.12.
- If parsing of line-attributes has stopped but the : character is present in the remaining string, an error is raised. Added in v1.20.
-- The values of mood, style and held are validated as well. Added in v1.16.
-- Undefined values are treated as an error. Added in v1.18.
--- Illegal mood values are treated as a SEVERE issue. Added in v1.17.
--- Empty string for the next line-attribute is seen as a Major issue, due to it being IGNORED by SDT. Added in v2.07.
- Angled double quotes. These are not seen as double quotes by SDT and thus can't be used to denote the start and end of a line's content. They get in when you edit your dialogue in MS Word or other fancy text editors. Added in v3.03.
Variables:
- Illegal asterisks: The checker parses the initial_settings line to identify the variables the dialogue uses. If an undefined variable is referenced, the checker raises an error. Added in v1.11.
- Variables defined in initial_settings are compared to the rest of the dialogue to see if they are being used. If the checker finds an unused variable, it will be reported. Added in v1.24.
- If a variable is used in the dialogue, the checker checks if the variable exists. If it does not, an issue is raised. Added in v1.24.
- If a variable's name contains asterisks [*], the checker raises a Minor issue. Variables with asterisks in their names can't be inserted into dialogue lines. Added in v2.02.
Special:
- Removes Б if no errors are found in the normal line, to see if the removal of Б would cause errors (as SDT does not display Бs). Added in v1.10.
- Removes triggers if no errors are found in the normal line, to see if the removal of triggers would cause errors (as SDT does not display triggers in text). Added in v1.12.
- Checks if all the lines are capable of being triggered. If a trigger has a variable in it, the checker tries to match the non-variable portion of the trigger to any lines. Added in v1.14. Improved this functionality in v2.11.
- Checks if all triggers are valid triggers or reference to existing lines. Triggers with variables are ignored in this process. Added in v1.14.
- Commented lines are checked for invalid mood values as this is a SEVERE issue. Added in v1.17.
- Deprecated custom triggers are reported as an issue if Line Usage is on. Added in v2.05.
- If [CHANGE_BACKGROUND] or [FADE_BACKGROUND_<hex>] is in a line and that line does not set the variable 'background', the checker raises an issue. Added in v2.05.
- Lines without line names (starting with :) are seen as a style error - it's possible to trigger these lines, but only via triggers. Added in v2.07.
- Checks if all mood checks [{"mood":"<value>"}] are also set in the dialogue via [<value>_MOOD] triggers. Added in v2.08.
- If [LOAD_CHARCODE] is in a line and that line does not set the variable 'loadCharCode', the checker raises an issue (Line Usage - Minor). Added in v2.09.
- If multiple finish lines (lines starting with "finish") have the same name, the checker raises an issue (Line Usage - Major). Added in v2.10.
- Substitutes can be checked for by checking the "Check substitutes" option. It will perform grammar checks on lines after stripping them of variable substitutions (same effect as v1 substitute checks). Added in v2.00.
So [Help...!] does not trigger [.!] because the checker finds [...!], which is whitelisted.
[Help...!.], on the other hand, triggers [.!.]. [...!] does not apply here, and thus the checker reports an error.
List of supported linetypes, triggers and variables: (This list last updated with v2.13, I'm a bit lazy)
Code:
Default line types:
cough
cum_in_eye
cum_in_mouth
cum_in_nose
cum_in_throat
cum_on_face
dialogue_name
drool
finish
finish# //anything that starts with "finish" is validated.
finishOther
first_dt
first_throat
font
general
hand_job_stroke
head_grabbed
held
initial_settings
interrupt
intro
lick_balls
lick_penis
pre_cum
pulled_down
pulled_up
pull_off
resistance
restart
restart# //anything that starts with "restart" is validated.
swallow
vigorous
wake
all //I'm not sure whether this is valid but I've seen it being used so often...
custom //Same here.
Line types from DialogueActions 1.06:
orgasm
start
passed_out
Line types from animtoolsv7:
bodycontactspaceheldpush
cuminher
Line types from BreastExpansionPlusv2_4:
bellyexpansion
bellyreduction
bodyexpansion
bodyreduction
breastexpansion
breastreduction
cumfrombreast
puke
Default triggers:
[ADD_TEARS]
[AHEGAO_MOOD]
[ANGRY_MOOD]
[ARMS_BACK]
[ARMS_HAND_JOB]
[ARMS_HIS_LEGS]
[ARMS_LEGS]
[ARMS_LOOSE]
[BLINK]
[CLENCH_TEETH]
[CLOSE_EYES]
[COUGH]
[DROOL]
[EJACULATE]
[FACE_FUCK_STYLE]
[HAPPY_MOOD]
[HOLD]
[LEFT_ARM_BACK]
[LEFT_ARM_HAND_JOB]
[LEFT_ARM_HIS_LEGS]
[LEFT_ARM_LEGS]
[LEFT_ARM_LOOSE]
[LOOK_UP]
[LOOK_DOWN]
[NORMAL_MOOD]
[NORMAL_STYLE]
[OPEN_EYES]
[RELEASE]
[RIGHT_ARM_BACK]
[RIGHT_ARM_HAND_JOB]
[RIGHT_ARM_HIS_LEGS]
[RIGHT_ARM_LEGS]
[RIGHT_ARM_LOOSE]
[SHOCK]
[SWALLOW]
[TAP_HANDS]
[WINCE]
Triggers from DialogueActions 1.08:
[ARMS_BREAST]
[ARMS_CROTCH]
[ARMS_HIS_CROTCH]
[AUTO_HARD]
[AUTO_KEYS]
[AUTO_KEYS_OFF]
[AUTO_KEYS_ON]
[AUTO_NORMAL]
[AUTO_OFF]
[AUTO_SELF]
[AUTO_SOFT]
[BOUNCE_TITS]
[CHANGE_BACKGROUND]
[CLEAN_ALL]
[CLEAN_CUM]
[CLEAN_LIPSTICK]
[CLEAN_MASCARA]
[CLEAN_SPIT]
[CLEAR]
[CONTINUE]
[DEEPTHROAT]
[END_FLASH]
[FADE_BACKGROUND_<hex>]
[FLASH_<hex>]
[FLASH_<hex>_<timeInMilliseconds>]
[GAG]
[GROW_PENIS]
[HANDJOB_OFF] (DEPRECATED)
[HANDJOB_ON] (DEPRECATED)
[HAND_OFF] (DEPRECATED)
[HAND_ON] (DEPRECATED)
[HIDE_BALLS]
[HIDE_HIM]
[HIDE_PENIS]
[LEFT_ARM_BREAST]
[LOAD_CHARCODE]
[MASTURBATE_OFF]
[MASTURBATE_ON]
[MOAN]
[PAUSE]
[PULL_OFF]
[RANDOMIZE_HER]
[RIGHT_ARM_BREAST]
[RUB_HIS_CROTCH_OFF]
[RUB_HIS_CROTCH_ON]
[SHRINK_PENIS]
[SHOW_BALLS]
[SHOW_HIM]
[SHOW_PENIS]
[WAKE_UP]
Triggers from Animtools v5:
[ANIMTOOLS_$POSITIONFILENAME] //If a trigger starts with "ANIMTOOLS_" it is seen as "valid as part of AnimtoolsV5".
Triggers from BreastExpansionPlusv2_2:
[ADD_EFFECTIVE_CUM]
[PUKE]
[SUB_EFFECTIVE_CUM]
Triggers from VariableArithmeticv1.02+:
[VA_$FUNCTIONNAME] //If a trigger starts with "VA_" it is seen as "valid as part of VariableArithmetic". Later versions of the DialogueChecker might have specific checks for VariableArithmetic, when the mod is more stable.
VARIABLES:
BreastExpansionPlusV2_4:
bellysize
bellysize2
bigpenisbellychange
bigpenisbellychange2
bigpenisbodychange
bigpenisbodychange2
bigpenisbreastchange
bigpenisbreastchange2
bodysize
bodysize2
breastsize
breastsize2
breathLevel
breathLevel2
effectivecuminside
effectivecuminside2
eyecumtimer
eyecumtimer2
mouthFull
passOutFactor
passOutFactor2
penisInMouthDist
penisInMouthDist2
superbreastsize
superbreastsize2
timerpuke
timerpuke2
DialogueActions 1.11:
ankleCuffs
armwear
background
bellyPiercing
bottoms
collar
cuffs
earring
eyewear
footwear
gag
hair
headwear
himBottoms
himFootwear
himTop
legwear
legwearB
loadCharCode
loadDialogue
maxPenisLength
maxPenisWidth
minPenisLength
minPenisWidth
nipplePiercing
panties
penisLength
penisSize
penisWidth
tonguePiercing
top
tops
Animtoolsv8:
atv_position
Feature idea list: (Format: votecount (voters) - feature description (technical details))
0 (nobody) - Check that the values for line-attributes [check] and [set] are valid (Expand VariableChecker to validate that all values in check line-attributes are possible to attain. Support VariableArithmetic by analyzing used functions).
0 (nobody) - Add Style as a category, containing [?.], [!.], [%01] (A StyleChecker)
0 (nobody) - Create a options page, rather than these checkboxes all over the place (Display class)
How this works:
You can vote for an infinite amount of features and you can request features and I'll add them to the list. When making changes to the checker (or whenever I feel like it), I'll implement things from the list, based on how many votes a feature has and how long I estimate adding a feature would take. However, bigger features don't require more votes. I cleared this list when I made v2.00, and the features that I kept on the list are starting at 0 votes because I want to know if people are still interested. I'm also not counting my own votes because I know I'll have plenty of personal bias when deciding what I'll implement from the list XD.
If you're a guest and you want to vote, you'll have to sign up.
For a changelog of v3, see the bitbucket repo's commit list.
Version log for v2:
Code:
v2.22: 31th of March, 2015 - Fixed a bug where percent encoded values would crash the checker.
v2.21: 17th of February, 2015 - Improved the performance for SyntaxChecker by about 20% via a lookup table for Trigger.identifyType(). Some refactoring for Dialogue parsing (potential source of bugs). Fixed false positive warnings for lack of mood triggers (bug introduced in v2.17).
v2.20: 14th of February, 2015 - Fixed a bug where the VariableChecker didn't complain about undeclared variables in set lineattributes, and DA variable triggers.
v2.19: 12th of Feburary, 2015 - Major performance improvements.
v2.18: 3rd of Feburary, 2015 - Fixed a horrible bug from v2.17 that made all mod variables not mod variables and vice versa. Added a check for check lineattributes with missing quotes.
v2.17: 31th of January, 2015 - Fixed a bug where the checker would see "variable":"" in initial_settings, set and check lineattributes as a mistake. Cleaned up some of the code. Enabled ErrorManager.showDevelopmentError which crashes the checker if something was programmed badly. Fixed a bug where the checker fail to detect a unplayable line due to mood settings. Added support for Animtools v14's new lines/triggers. Fixed false "probable improper use of mood" messages when using charcodes. Made the GrammarChecker shut its trap for DA arithmetic. Added #DialogueChecker-DebugTime# for debug performance tracking.
v2.16: 30th of December, 2014 - Fixed a typo in the check for "dialogue-name"; it said you used "dialogue_name" and should use "dialogue_name" instead, which was unhelpful advice. Fixed a bug where %words%[trigger] would fail to cause a trigger to be recognized by the checker. Added checks for % that can't be converted to a percent encoded value. These are MAJOR or MINOR depending on whether it looks like it could be a percent encoded value. Added support for DA v3.01 to v3.05 for the simple variables they added. Triggers still unsupported, mostly. Fixed a bug where insertions would be checked wrongly; this caused the checker to think that [intro*introPlayed != 0*] contained raw spaces. Added partial support for the VA_SET replacements.
v2.15: 7th of September, 2014 - Added checks for argument count mismatches for VA_SET functions. Fixed the issue where if you use a variable only for VA_SET functions, the checker would still tell that the variable was unused. Only works for static variables (not with variable insertions). Added checks for VA_SET functions that check if used variables are also declared. Only works for variables without insertions. Fixed a bug where using loadCharCode with a mood set would give you errors. Added checks for the use of punctuation in line-reference triggers. Added a check to see if a line's name is the same as a default or mod-defined trigger. This because it prevents triggering of the line in the most common way (as [LINE]). Fixed a crash where typing {"next":{"LINENAME"}} like an idiot programmer at 4 AM crashes the checker. Turned it into a check.
v2.14: 2nd of September, 2014 - Added support for DA v3.00 by WeeWillie. Fixed a bug where using da.charcode.load with a mood set would give you errors. Fixed a bug where using [LOAD_CHARCODE] would give you errors about "loadCharCode" not being set. Fixed a bug where using [CHANGE_BACKGROUND] or [FADE_BACKGROUND] and it's varieties would give you errors about "background" not being set. Added a space after each comma in dependancy lists.
v2.13: 9th of May, 2014 - Added in a check for null values in VariableReferences - returns NULL for getValue() if the value is NULL due to a parse error. Added a list of DA v2.04 variables for use by VariableChecker. It's wonky, but should help reduce false positives. (does not discern getter/setter) Added a list of DA v2.04 triggers for use by LineUsageChecker. Also wonky, but should help reduce false positives. Note that there's no longer any checking for the proper amount of arguments. Whitelisted spaces in triggers if they are inside a variable insertion (with asterisks). Should also work with %2A but that's not recommended (poor style).
v2.12: 8th of December, 2013 - Removed %2A usage recommendation, and altered dialogue parsing to see %2A as an asterisk in content variables. Added check for "finish" as part of a line with lineattrbiutes. Removed some colon checks. Altered the excess characters check for excess characters between linename and line content to not ignore whitespace (as SDT will ignore the line). Altered clean dialogue message ("Have you checked for special characters" -> "Have you used a spellchecker") as message was becoming irrelevant, checker does it for you.
v2.11: 3rd of December, 2013 - Improved check for lines with [LOAD_CHARCODE], so that loadCharCode doesn't have to be set if "[VA_SET_VARIABLE_loadCharCode_" or "[VA_SET_VARIABLEBYNAME_loadCharCode_" is found on the line. Added support for DialogueActionsv1.11. Added checks for wrongful formats of numeric values for variables (Syntax - Major). Improved LineUsageChecker to use regexes for variables. It's not perfect and doesn't support VariableArithmetic yet... but hell yeah!
v2.10: 23th of November, 2013 - Added a double check for double space - if double space is found, checker only reports the issue if double space is found after an uneven double quote but before an even double quote (between the first and second, between third and fourth...). Added a "helpful" message for grammar issues that popup in lines with *YOU*. Added a check for lineattributes on finish and interrupt lines (Syntax - Major), as defining them will cause SDT to ignore the attributes or even the entire line. Added a check for duplicate finish lines - SDT only correctly parses the first of multiple finish lines with the same name (Line Usage - Major).
v2.09: 31th of October, 2013 - Added f93's dialogues as TestSet. Fixed a bug which caused [,...] to not be properly whitelisted (Bug since v1.29). Fixed a bug which caused duplicate values for lineattributes mood, style and held not to get caught. (Bug since v1.16). Added support for DialogueActions v1.08. Added a check for lines with [LOAD_CHARCODE] - loadCharCode variable should be set otherwise the trigger does nothing or may cause buggy behaviour (Line Usage - Minor)
v2.08: 25th of October, 2013 - Added checks for mood checks whilst the dialogue doesn't ever set the mood to that mood (Line Usage - Minor). Tried and failed to add red highlighting to lines in input textfield that are the cause of found issues.
v2.07: 10th of October, 2013 - Improved the comment filter by actually making the improvement of v2.04 work. Added version of the DialogueChecker to output. Added support for Animtoolsv8 (atv_position variable). Fixed a typo in the error message for triggers in variable substitutions that refer to non-existing lines. Added a check for lines without line names (Syntax - Minor). Downgraded [[]] (Syntax) from Major to Minor severity due to it behaving as expected (triggers line without linename), it's just bad style. Added a check for lines with a next line-attribute with a value of empty string (Syntax - Major). Added an additional message for when empty triggers refer to a non existing line in order to hint at the possibility of a typo/syntax error. Updated credits to show proper supported versions of Dialogue mods because I forgot to do so for v2.06.
v2.06: 29th of September, 2013 - Added support for DialogueActions v1.06. Discontinued V1.
v2.05: 5th of September, 2013 - Implemented checks for deprecated triggers. Added support for Animtoolsv7. Added support for DialogueActions v1.00. Added a check for lines containing [CHANGE_BACKGROUND] or [FADE_BACKGROUND_<hex>] - if they don't set the background variable, an issue is raised (Line Usage - Major).
v2.04: 2nd of September, 2013 - Added a function that will re-check lines for grammar mistakes by filling in substitutes. Added check for lines starting with a disconnected exclamation mark. ["! ] (Grammar - Minor). Added check for lines starting with a disconnected period. [". ] (Grammar - Minor). Added a credits button. Improved comment filter: lines without colons but with double quotes are only seen as valid if they have 2 or less spaces before their first double quote.
v2.03: 1st of September, 2013 - Added checks for lines that contain more than 2 instances of double quotes, but doesn't contain line-attributes (Syntax - Major). Added support for DialogueActionsv0.99. Added check for lines starting with a comma as that's an invalid way to begin a sentence (Grammar - Minor).
v2.02: 30th of August, 2013 - Fixed a bug where the checker would state a mod makes use of "the following dependencies", then displays none. Added a check for variables with asterisks in their name (Variables - Minor) as they can't be inserted into a dialogue line. Added a check for spaces in triggers (Syntax - Major) as triggers can't have spaces in them, or they will show in the dialogue line when it is played. Removed some left-over debugging code.
v2.01: 29th of August, 2013 - HOTFIX - Fixed display of "linebreak:" for custom linebreak input box. Gave labels for "Check Substitutes", "Check Variables", "Check Line Usage", "Check Syntax" and "Check Grammar" a bit more room to prevent words from being cut off.
v2.00: 29th of August, 2013 - (From v1.31) New way of dialogue parsing. I now hate writing parser code. Expanded issue severities. Issues can now be of Severity SEVERE (Crashes SDT/Flash), MAJOR (Changes expected output) and MINOR (Works, but it could be better). Allowed filtering of issues based on Severities. If issues are filtered out by this method, the checker will report that the checker contains suppressed issues. The checker now reports how many issues of each severity were detected. Integrated Substitute checks into Grammar. Added filters for variable checks and checks regarding line usage. Altered internal mechanics regarding checking for dependencies. Checking for variables and line usage is mandatory for proper dependency checking. Added checks for excess characters (Syntax). Excess characters are characters between the line name and the line content, between the line content and line attributes, and after the line attributes. When lines are stripped of delay characters, triggers and variable substitutions, the checker now displays the non-stripped and the stripped line. The checker now has responses for empty input and for default input to assist the user. Implemented 2 missing variables for DialogueActions (v0.97 hotfix 2.1) - panties and bottoms.
Version log for v1: (see next post, forums are having issues with my large post)
Attachments
SDTDialogueCheckerv3.07.zip
75.9 KB · Views: 988
75.9 KB · Views: 988
Last edited: