🖱️ Input improvements, ⏩ autoskip, 🖼️ better backgrounds and more!
Another month, another alpha. Here are some of the highlights of this version:
- Improved Input handling: Dialogic will now finally respect handled_input and gui overlays when advancing the timeline through input!
- Autoskip: You can now quickly skip through a timeline, a common feature in many VN engines. Try it out with the MiddleMouseButton when using "Play Timeline"
- Call Node is now "Call": The new call event has a simpler syntax and allows passing parameters with different types! This is a breaking change, so make sure to adjust your timelines.
- Better Backgrounds: The background system has been improved internally. This will hopefully result in cool new features in the future.
There are countless smaller and bigger bugs that where fixed, including to saving, choices & exporting. Huge shoutout to @CakeVR for all their amazing work implementing features, testing things, fixing bugs and helping people on the discord!
We hope you enjoy dialogic already, see you at the next release!
Btw, check out our new documentation page (WIP)!
❔ Future plans
Behind the scenes we are trying to improve the codebase so that we can hopefully get into a beta-phase soon. Until then there are a few areas that need some more attention as they might require some more breaking changes:
- Layouts & Styles: We currently have three presets. Although adding custom layouts is possible, the process has become much more annoying than we hoped it would be, so another pass improving this system is likely to come soon.
- Variables: Dialogic Variables currently have a strange type behaviour. They are usually always strings, but are converted to other values (ints, floats, booleans) in certain cases to make conditions/expressions possible. This kind of hard-to-predict behaviour is pretty annoying. Thus we want to try improving that system as well.
🔧 Breaking changes!
Call Node -> Call
The new Call event can do most of what was possible with the old Call Node event and a bunch more. Most importantly though it is designed with just Autoload access in mind. If you previously called methods on a different node further down in the scene tree, you should wrap that call in an autoload method now.
The new text syntax for the call event is as follows:
do Autoload.method("arg1", 0.2, true)
The visual editor is a lot easier to use and now also allows specifying the type of each argument. If your methods arguments are statically typed it will warn you when you use wrong types.
Autoadvance & Input
Internal changes around input mean that many methods, especially around Auto-Advance, changed. Checkout the documentation on how it should be used now.
If you have a custom layout, you should place the new DialogicNode_Input node in it. It should cover all the area that you want to be clickable. It should be placed behind anything that has priority (e.g. choices, text input etc.) but in front of everything that shouldn't block the input.
Background Node
If you have a custom layout you might have to re-instance the DialogicNode_BackgroundHolder into it, as that node changed it's node type (which might not correctly update in your scene).
What's Changed
- Add option to Clear event to hide textbox by @Pheubel in #1824
- Fixed typo on home page by @Proggle in #1836
- Add custom MultilineText sizing logic to prevent crash by @Jowan-Spooner in #1825
- Fix next indicator slipping off screen by @Pheubel in #1827
- Allow for signal events to optionally pass dictionaries instead of strings by @Pheubel in #1829
- Update Wiki links on Homepage by @Jowan-Spooner in #1847
- Add a separate install step after adding all subsystems by @imberny in #1843
- Fixes for TypingSounds by @Jowan-Spooner in #1848
- Allow listing variables and folders inside of variable folders by @Jowan-Spooner in #1840
- Remove static typing in loop by @Jowan-Spooner in #1855
- Improvements to get_variable and set_variable by @Jowan-Spooner in #1857
- Add Auto-Skip by @CakeVR in #1812
- Support saving with encryption enabled by @Pheubel in #1851
- Events: New call event by @Jowan-Spooner in #1858
- Update settings_general.gd by @Faulkwing in #1861
- Standalone Input subsystem & InputNode by @Jowan-Spooner in #1822
- Fix CSV breaking when new rows get added. by @CakeVR in #1863
- Multiple fixes: Saving, Layouts, TypeSounds by @Jowan-Spooner in #1864
- Small fix to handle_event in DialogGameHandler by @Jowan-Spooner in #1866
- Use
toggled
signal for togglingphysics_process
by @CakeVR in #1872 - Fix Choice Selection via Key Inputs by @CakeVR in #1869
- Handle incorrect Portrait Scene path case by @Invertex in #1873
- Multiple improvements by @Jowan-Spooner in #1881
- Update Auto-Advance by @CakeVR in #1867
- Multiple improvements/fixes by @Jowan-Spooner in #1886
- Fix background bleeding through by @Pheubel in #1839
- Fix Choice Buttons connecting too often by @CakeVR in #1888
- Improve CSV File Handling by @CakeVR in #1887
- Pre-Alpha-11-Adjustments by @Jowan-Spooner in #1893
New Contributors
- @Pheubel made their first contribution in #1824
- @imberny made their first contribution in #1843
- @Faulkwing made their first contribution in #1861
- @Invertex made their first contribution in #1873
Full Changelog: 2.0-alpha-10...2.0-alpha-11