The latest build of Click to Speak is still heavily in development. While there are plenty of new features rolling in, some older, rather important features have taken a short hiatus in the transition.
Previously Existing Features that Need to Be Written Again:
- The Script Player has not been rewritten to work with the new system (although the new system mirrors the old one closely so this should be relatively straightforward)
- The Sound Editor has not been rewritten to work with the new system (in my quick attempt to do this, file loading / playing work great although the waveform is not displayed)
- The Exceptions / Options tab has not been rewritten to work with the new system. (Replace FNodeDatas with Nodes and you'll be 95% of the way there)
- Main Script tab does not auto-generate all of the necessary Nodes as you type. This will require the Advanced Breakpoints feature working fully.
- CSV and text file exports
- Branch lines (I spent a while on this and could not get it to work. Good luck!)
- Save does not work since the Sound Editor / Exceptions tabs have not been rewritten. However the NodeContainer's save function does work.
Known Issues with Code that Really Should Already Work:
- Calling up a New Game does not initialize a blank Node correctly so the game displays nothing and the Orphan Tab consequently crashes the editor
- The initial load and deleting are noticeably slow, will have to switch to selective updates
- Advanced Breakpoints feature does not accommodate multiple lines
- Advanced Breakpoints feature does not enjoy multiple, overlapping breakpoints.
- Sometimes when it is feeling particularly moody, Delete won't quite work as predicted (sometimes one random Node will be left behind. I haven't figure out a pattern behind this) This could possible be from XML issues since the test files are handwritten.
Places for Refactoring:
- There are two variables for each DialogueNode that are called _show and _visible. They do very different things but their names are ambiguous. Clear up this confusion!
- Once the new architecture is firmly in place, rename DialogueNodeExp to DialogueNode and toss out the old version. That should clear up the two files' shared ambiguity.
- refreshDialogueNodes in the DialogueNodeContainer should really be rewritten to do selective updates.