Themes
- The editor has received a complete UI overhaul, bringing in theme support.
- Use the menu in the upper right of the window to change your theme.
- By popular demand, included are a few Dark Mode variants.
General
- "throw" intelligence added. This type of AI actively attempts to lose.
- Setting added to hide images in the sidebar to allow for less conspicuous line writing. (Setup menu > General)
- The setup menu is now accessible from the new action toolbar in the upper right of the main window via the Gear button.
- Character selection now displays how long since a character was updated as well as their offline/incomplete status.
Tags
- Hovering over a tag's name will now show a more detailed description about what the tag means.
Quick Reference
- A quick reference has been added to the sidebar, accessible via the Reference button. This area contains helpful information at a glance while writing lines.
- Initially this includes all tags and their definitions, but more types of reference material may be added in the future.
Dialogue
-
Added the ability to specify different poses for each stage for a line of dialogue within a case. For example, if you want to say "Hi!" in stages 0-5 with pose "happy" and "Hi!" in stage 6 with pose "mad", you can now use a single case and give stage 6 an override pose by clicking the double arrow next to the pose selection dropdown.
As a result, upon saving you may see a few lines shuffle around within a case, and duplicate lines with different poses within the same case will be deleted. If this change in behavior with not allowing duplicate lines in the same case really bothers you, complain on Discord.
- The Case Tree has received a face lift in an effort to better organize cases. If you don't like the column layout, you can switch back to the old style in Setup > Dialogue. Green coloring for targeting lines was also removed, but you can re-enable it in the Setup.
- Items in the case tree will update immediately now when conditions change. The trade off is somewhat slower saves.
- For cases that span multiple stages, you can now choose which stage the preview image uses instead of always using the earliest stage. Right-click a stage's checkbox to activate it as the preview. This setting does not persist between cases.
- Added a speed button for a ~player~ variable test (Game > Player Name).
- Added conditions for testing what place a character is in based on who has the most layers remaining, and for comparing the layer difference between two players.
- A Player speed menu has been added containing conditions for checking information about any particular player. These conditions take a player, which can be either "self", the case's target, or a specific character.
- Cases can now be assigned a custom label and/or color to appear in the case tree for that case, making it easier to tell at a glance which case is what.
- Respond to This now opens in a tab instead of a popup. Hopefully this avoids the issue with Mac where the popup would get stuck open.
- The marker button in the dialogue grid now has a tooltip showing the marker's value if there is one.
- Tweaked the sorting order of cases to better group similar cases.
- Variable tests on ~clothing~ now provide an autocomplete list of all clothing in the game so you know whether anyone actually uses that clothing.
- A "Sort by Priority" button has been added to the case tree, which will force a resort on all cases that have been added since last time.
- Added options to play a case or individual line from a case once per game. For entire cases, use Self > Play Once. For individual lines, the option is under the line's ... menu.
- Removed the hard error about unrecognized variables in dialogue. Unrecognized variables will still appear during validation, but you won't be preventing from saving a line with one.
- You can now provide multiple sets of conditions for the same case. The case will play if any set of conditions is met. Previously to play a set of lines when either condition A is met or condition B is met, you would need to duplicate the case. Now, click +OR in the conditions area of a case to add a new condition set. Each set will get is own tab.
Macros
- Macros can now be added to a specific speed Menu rather than just the Macros menu. They will appear alphabetized at the bottom of that menu.
- Use Tools > Manage Macros to assign menus to your existing macros.
- The Macro Editor now has all the same conditions as the main dialogue editor. Previously shortcuts for variable tests (ex. Costume) were not included.
Recipes
- Get your dialogue cooking by using recipes!
- Use the flask in the Case Tree to quickly create a case for interesting game situations with the appropriate conditions already filled in.
- Example recipes include: Losing the first hand, first instance of nudity in the game, final hand of the game, and more.
- Create your own recipes using Tools > Manage Recipes. Recipes are stored in %appdata%/SPNATI/Recipes. You can share your own recipes with other creators who merely have to plug your recipe files into that folder for them to become available. Or, if you've cooked up something really special, consider submitting it to become a default recipe in the editor.
Advanced Metadata
- Added "Z Layer" and "Speech bubble position" options for customizing character layering along with speech bubble layering relative to the pose.
- Added nickname support. A nickname is what your character will call another character when using ~name~ instead of their actual name.
- Added support for custom text formatting. This lets you add effects to text (colors, underlines, strikethrough, and so on). Please be judicious in usage and not make things fancy just to look cool.
Line Importer
- A "Line Importer" tab has been added to the character workspace for importing lines created in the game's dev mode.
Collectibles
- Collectibles are no longer sorted by ID. Use the up and down arrows to sort a character's collectibles to your tastes.
Epilogue Editor
- The setup menu now contains an Epilogues tab where you can configure which directive types to automatically add a "Wait for Input" directive after. For instance, you can make it automatically add a user pause whenever you add a speech bubble.
Markers
- Added a Delete button to each row to be consistent with the dialogue table.
Situations
- Added a Delete button to each row to be consistent with the dialogue table.
Pose Maker
- Added a "Reload Assets" button to immediately load sprites from disk so that changes to image files are reflected in the editor without requiring a restart.
- Added a button to the sprite header for changing its initial image in order to make changing out images a little faster.
- Double-clicking a sprite's header will now select its first keyframe for quicker access to animated properties.
- Added a Name field to the Create Sequence wizard.
- Added an "Export to GIF" button to make it easier to post poses on Discord for feedback. Note that you'll likely get better compression using a dedicated program like ScreenToGif.
- Clicking Create Sequence on a previously created sequence will now let you add frames or change the delay between frames.
Pose Lists
- Selecting a row in a pose list will now show the image, if available, in the main sidebar preview.
- Added a "Copy Cropping Info" button for quickly copying the L,R,T,B values from one pose to one or more others in the same list.
- Added an "Open Folder" button for opening the character's folder in Explorer.
- Screenshots tab is now available in alternate skin workspaces
Pose Usage
- New chart in the character workspace for getting a high-level overview of the frequency of usage of each pose name broken down by stage.
Line Slicer
- New reporting tool in the character workspace for getting a high-level overview of conditions used with your character's lines. See the Help files for more details.
Banter Wizard
- The Banter Wizard now offers the same options as the Writing Aid when writing a line. You can accept the response, discard it, or open it in the main dialogue editor.
- When creating a new response, the full case editor is also now available in the Banter Wizard rather than just the lines portion, allowing you to tweak the conditions of the case as needed.
Character-Specific Editor Configuration
- Added a Configuration tab to the character workspace for configuring the editor per-character rather than per-user.
- You can now specify multiple image prefixes to exclude from pose image dropdowns for a particular character. This applies in addition to the global prefix filter found in the Setup form.
- Unlike the global setting, character-specific filters will apply for anyone who opens the character in their editor.
Validation
- Added collectible validation for broken images and unused collectibles.
- Added validation for Saying Text conditions where the target never says that text.
- Removed validation warning when targeting offline or incomplete opponents.
Charts
- Added a Clothing Frequency chart which lists out the names of clothing most commonly used across characters. This is helpful for knowing what types of clothing to target in a variable test.
Help Files
- The help files have been finally brought up to date.
Crash Reports
- In the event of a crash, the editor will now create a .ZIP file containing the crash details along with screenshots of the last ten clicks that occurred within the program. This ZIP can aid in troubleshooting the source of a crash so that it can be fixed more quickly. These screenshots only record the Character Editor window and nothing else from your desktop. Regardless, if you do not wish for screenshots to be recorded, you can disable this feature from the Settings screen.
Bug Fixes
- Respond to This popup can now be resized.
- Copying a sprite across poses will no longer append "(copy)" the ID if it's already unique.
- Pasting or duplicating a sprite now auto-selects the new sprite.
- Fixed issue where using variables in dialogue that come from a Filter (+) condition would complain about the variable being invalid.
- Variables defined in a Filter (+) condition now appear in Intellisense.
- Fixed issue where using the ID "fade" or "camera" in a "stop" epilogue directive would get you stuck in the ID field.
- Fixed issue where the pose preview wouldn't update when clicking a new case.
- Fixed issue with eyelashes not importing from Kisekae.
- Fixed the issue with the shift key getting stuck on by removing the ability to delete dialogue lines by clicking the row header and pressing Delete.
- Fixed crash when closing Mavis' workspace after entering the Pose Maker.
- Speech arrow locations are no longer restricted to 0-100%
- Unrecognized elements in meta.xml and collectibles.xml will now be preserved, to help make new features less reliant on an up-to-date editor.
- Fixed issue where filters weren't determining equivalence properly, causing cases to inappropriately merge.
- Fixed help text for the collectible Counter field.
- Fixed issue where images used by collectibles were reported in the validator as unused.
- Leading or trailing whitespace is now trimmed from markers.
- Sprites are now automatically selected when added in the pose maker.
- Fixed an issue where find/replace would stop working in stage view after a few results.
- ~ is now auto-stripped from filter variables to reduce confusion about whether they're supposed to have them or not.
- Fixed issue where two cases with the same conditions but different priorities would merge when saved.
- Fixed crash when clearing the Base Height field of a Pose Marker pose.
- Removed dead link about the long-retired Dialogue Tester in the help files.
- Fixed issue where recent females would appear when targeting a male case and vice versa.
- Fixed issues where punctuation typos with variables like
~player!~
would not be flagged as invalid.
- Fixed issue where saving while focus is in a cell on the wardrobe editor would not save that cell's new value.
- Fixed crash when clearing out a Pose Maker pose's ID field.
- Fixed crash when deleting an ending.
- Fixed crash when accessing the Characters menu after using a macro with an empty Target or Also Playing field.
- Fixed issue where responding to a case that uses Not Said Marker with lines that set the same marker would produce a response that is impossible to trigger.
- Fixed issue where responding to a "Must masturbate, first to do so", wouldn't guarantee that the response triggers only for the first to do so.
- Fixed issue where responding to a chest or crotch reveal on an opponent that has no important items would not create a response of the right case type.
- Importing all poses where one or more use image attachments will now ask for all the unrecognized attachments up front to avoid a crash.
- Columns that are too wide to fit in the search lookup (e.g. recipes) now have tooltips to show the full text.
- Fixed issue where adding a case for a post-naked phase on a character with fewer than 8 layers would adding the case to the wrong stage (ex. finished would go to the masturbating stage, masturbating would go to the naked stage, etc.)
- Fixed issue where creating a response for a case you already created a response to would create a new case.
- Fixed issue where responding to a Game Over (Defeat) case that is targeting your character (meaning your character was the winner) would make a Game Over (Defeat) case instead of a Game Over (Victory).
- Clothing now saves to the name attribute instead of lowercase.