Releases: dialogic-godot/dialogic
Dialogic 2.0 - Alpha 16
Alpha 16 - Fixing those missing animations + some nice new stuff!
This alpha has it all: Important fixes, new features and UX improvements. Most notably character animations should no longer be missing in exports. Hurray! Here are some other noteworthy changes:
- The sidebar now supports a couple new modes for grouping your recent resources based on type or folders. It can now also be collapsed, in case you'd rather just use the file system!
- The internal structure of styles has been reworked, finally fixing the behaviour of inherited styles and 🙏 hopefully 🙏 getting rid of a bunch of bugs with duplicate UIDs (resulting in changes weirdly affecting multiple styles at once).
- You can finally change the Typing Sound audio bus in the settings.
We've also been blessed by an awesome income of small improvements and fixes by @salianifo across all kind of areas. Thanks again to them!
We highly suggest you update, as this version includes some code that will do an internal update to any style previously created. This little update code will probably be removed when going into the beta stages. However this also means this update is NOT BACKWARDS COMPATIBLE, so definitely make a backup or commit your changes before updating (as you always should ;)).
Cheers,
Jowan
What's Changed
- Trim common prefix when importing portraits from folder by @Jowan-Spooner in #2382
- Add inspector field for timelines by @Jowan-Spooner in #2371
- Fix animations not found on export by @Jowan-Spooner in #2391
- Fix UID issues on custom style layers by @Jowan-Spooner in #2387
- Fix debug portraits not showing up by @Jowan-Spooner in #2392
- Styles: Preserve process_mode on style changes by @Jowan-Spooner in #2395
- Text Editor: Improve CTRL+K commenting behaviour by @Jowan-Spooner in #2394
- CharacterEvent: Fix position/size not working correctly when joining by @Jowan-Spooner in #2393
- Core: More fixes for customizing files (follow up to #2387) by @Jowan-Spooner in #2396
- Sidebar upgrade #1894 by @firedfromlife in #2350
- Make variable editor right click menu hidden by default by @salianifo in #2418
- Tag dtl and dch files with their resource class by @iscke in #2405
- handle some null/freed item cases to avoid bugs by @Invertex in #2432
- Editor UI: More sidebar improvements by @Jowan-Spooner in #2409
- Fix test timeline scene error with Dictionary signal event by @salianifo in #2436
- Add skippable option to Wait event by @salianifo in #2439
- Implement multiple music channels by @salianifo in #2427
- Remove stray print statment, fix extension creator mode by @salianifo in #2444
- Remove broken submodule by @salianifo in #2437
- Add text effect for extra_data to Portraits subsystem by @salianifo in #2438
- Fix event fields not reseting by @salianifo in #2441
- Fix portrait scaling by @salianifo in #2445
- Styles: Rework internal structure of styles by @Jowan-Spooner in #2402
- Fix Publish Test Report failures by @salianifo in #2450
- Fix portrait tree drag drop bugs by @salianifo in #2442
- Implement audio preview fields by @salianifo in #2448
- Fix events teleporting around with fast mouse clicks by @salianifo in #2454
- Text Subsystem: Improve autocolor names feature + Choice Subsystem: Allow using input action for choices by @Jowan-Spooner in #2451
- TypeSounds: Add a global audio-bus setting by @Jowan-Spooner in #2456
- Various pre alpha 16 fixes by @Jowan-Spooner in #2457
New Contributors
- @salianifo made their first contribution in #2418
Full Changelog: 2.0-alpha-15...2.0-alpha-16
Dialogic 2.0 - Alpha 15
Alpha 15
Following the release of Godot 4.3, we are releasing a new alpha containing a bunch of important changes to core systems, usability improving features and of course tons of bug-fixes.
So what's new?
- Layered Portraits have never been easier! With the new custom portrait scene workflow and @CakeVR's amazing layered portrait scene preset you can create portraits made of multiple images really easily. These can be manipulated from the timeline via character extra data! Learn more here or watch the video walkthrough.
- Individual Portrait Containers allow you to move, scale and rotate characters during the timeline with the character event. This new system should allow VN-creators to position and move their characters much more freely. Learn more here.
- Named Portrait Positions Gone are the days of 0, 1, 2, 3 and 4! Now we welcome
leftmost
,left
,center
,right
andrightmost
into our hearts :). The old numbers still work though, no worries. - Portrait Cross-Fades allows you to fade from one portrait to another!
- A Conditional Text Modifier allows you to switch between texts based on a condition. For example
[if {Expression} Text if true./Text if false.]
- Choice Extra Data allows you to store more info on your choices that you can then interpret outside of dialogic, for example to style your choice buttons!
- Search in TimelineEditor with CTRL+F you can now search both in the text editor and in the visual editor (only text events will be searched there). This should make it much easier to find where you left of or get to a stupid typo you just noticed :)
And many, many more smaller changes! This release includes some great work from @CakeVR, @juliohq, @firedfromlife and @jrb0001!
If you want to support me and the work I do on dialogic, feel invited to drop a donation on Patreon or Kofi :)
Breaking Changes
A lot has changed and we couldn't get around changing a few things that might need adjusting. If something stopped working check whether it's one of these, otherwise get in touch on our discord!
- Animation Paths have changed so you might need to re-assign the default animations if you've touched them before.
- Portrait Containers got changed quite a bit. If you have a custom portrait container layer you will have to setup the new container IDs!
- The choice syntax now expects a
|
between choice text and shortcodes if there is no condition. In general this is the new suggested syntax, though the syntax without | still works (may break in certain edge-cases like when using a conditional text modifier IN a choice).- e.g.
- Option 1 | [color="green"]
- e.g.
- The position event has been completely removed as all it was able to do can now be done with the Character event. If you need the position event or would like to re-add it for compatibility, you can add it as a custom extension easily.
Dialogic.Choices.choices_shown
has been renamed toDialogic.Choices.question_shown
I hope you enjoy this version!
- Jowan
What's Changed
- Multiple bug-fixes by @Jowan-Spooner in #2253
- Add Layered Portraits by @CakeVR in #2119
- Remove unused
dialogic_save
signal by @juliohq in #2259 - Add close button to reference manager by @juliohq in #2261
- Remove trailing whitespace before end of line by @juliohq in #2263
- Fix event_clear.gd class_name typo by @samuel-walker in #2265
- Add missing void return types by @juliohq in #2264
- Fix choices with conditions that contain [ or ] by @Jowan-Spooner in #2279
- Update subsystem history. by @AnidemDex in #2233
- Improve choice logic by @Jowan-Spooner in #2252
- Ensure all names are highlighted despite length by @firedfromlife in #2258
- Massive code style cleanup that should remove most warnings by @Jowan-Spooner in #2281
- Editor UI fixes & improvements by @Jowan-Spooner in #2282
- Allow speaker portrait textbox to support generic style boxes by @juliohq in #2283
- Implement search in timeline editors by @Jowan-Spooner in #2287
- Fix "it's own" mistakes by @juliohq in #2288
- Better Character Suggestions! by @firedfromlife in #2284
- Improve portrait positions and position event by @Jowan-Spooner in #2123
- Warning fixes, Version adjustments and more by @Jowan-Spooner in #2290
- Fixes for speaker portraits by @Jowan-Spooner in #2292
- Set tooltip for buttons in event blocks by @juliohq in #2294
- Set timeline resource tooltip to its path in side bar by @juliohq in #2295
- Change defaults of autoskip by @Jowan-Spooner in #2300
- Require exact input on keyboard/button inputs by @Jowan-Spooner in #2301
- Conditional Modifier Tag by @Jowan-Spooner in #2299
- Choice event enhancements by @Jowan-Spooner in #2304
- Fix limitless typo by @juliohq in #2307
- Fix misspelled apply_export_overrides method by @juliohq in #2306
- Fix for backgrounds by @Jowan-Spooner in #2308
- Improve animation naming/identifying logic by @Jowan-Spooner in #2293
- Export follow_viewport for default layout base by @juliohq in #2309
- Various bug fixes by @Jowan-Spooner in #2310
- Fix follow viewport export order by @juliohq in #2311
- More bug-fixes by @Jowan-Spooner in #2312
- Fix move_ parameters in character event suggestions by @Jowan-Spooner in #2313
- Make sure connect_to_change doesn't cause error if object is gone by @Jowan-Spooner in #2316
- Improve custom portrait UX by @Jowan-Spooner in #2315
- Improve min and max of number fields in visual editor by @Jowan-Spooner in #2318
- Add option to include simple and/or full event history in savegame by @jrb0001 in #2320
- Fix autosaving in ON_TIMER mode by @jrb0001 in #2319
- Add additional safety checks by @Jowan-Spooner in #2325
- Small fixes in different places by @Jowan-Spooner in #2326
- input: Ignore InputEventScreenTouch by @jrb0001 in #2331
- Typo fix, error fix and Choice Layer offset by @Jowan-Spooner in #2328
- Better dictionaries by @Jowan-Spooner in #2332
- Code Cleanup by @Jowan-Spooner in #2330
- Add a right-click action to copy the resource identifier to the sidebar by @Jowan-Spooner in #2333
- Fix mirror and z_index not being saved on Join event by @Jowan-Spooner in #2334
- Improve docs comment on Portrait Container by @Jowan-Spooner in #2335
- Improve/fix textbubble style by @Jowan-Spooner in #2336
- fix default portrait animations by @endaye in #2337
- Hide textbubble example at start by @Jowan-Spooner in #2340
- Improve SpeakerTextbox style and layer by @Jowan-Spooner in #2341
- Various fixes/improvements by @Jowan-Spooner in #2342
- Fix background filtering by @Jowan-Spooner in #2339
- Remove Update Position Event by @Jowan-Spooner in #2344
- Change choice extra data syntax to not be a dictionary by @Jowan-Spooner in #2345
- Fix and improve auto-pauses regex by @Jowan-Spooner in #2349
- Fix new text event getting stuck if Dialogic.start() is called during another text event by @jrb0001 in https://github.com/dialogic-godot/d...
Dialogic 2.0 - Alpha 14
Alpha 14???
Yep. It's been a while, and development has stagnated quite a bit. But nevertheless, this release improves Dialogic quite a bit, mostly consisting of smaller improvements and many, many bug fixes. This means Dialogic is — once again — better than ever before ;)!
We are still working on a few major feature upgrades, so stay tuned for that!
And, as always, if you make something fun, need help, or just wanna say hi, feel free to join us on Emilio's discord server!
PS: When you first update Dialogic, you might see some errors. This should stop after restarting the editor once (sometimes twice). In some cases, deleting the .godot
folder in the project directory (to trigger a re-import) can help as well.
Noteworthy changes
- The text bubble style has seen a major upgrade, becoming more performant and having more styling options.
- Input handling and catching have been improved, which can be noticed.
- Translation & Glossary improvements by @CakeVR
- You can now access keys in arrays and dictionaries of autoload variables (only works with object[key] syntax not objec.key!)
- Label events can now have a translatable "Display Name," allowing you to keep track of where in the story you are.
Breaking Changes
- The DNextIndicator class has been renamed to DialogicNextIndicator. If your custom layout is complaining about something not existing, this might be the cause.
- The rework of the Input Catcher means its best position is now BEHIND the textbox (to allow better glossary hover and having buttons on the textbox layer). If you have a custom layout/style, this might be something you'd want to update. It does require the textbox to let input through, so Panels, PanelContainers and TextureRects might need to have a mouse_mode of ignore.
- On the history subsystem, some things have been renamed:
Dialogic.History.not_read_event_reached
->Dialogic.History.unvisited_event
Dialogic.History.already_read_event_reached
->Dialogic.History.visited_event
- Manual Advance mode has been reworked into a class, so if you previously accessed those methods (on the Text subsystem) directly, you will have to rework your code.
- The return dictionaries of
Dialogic.VAR.variable_changed
andDialogic.VAR.variable_was_set
have been updated. If you were relying on these, you might have to make slight adjustments.
I think that's all the breaking changes; if I've missed some, please let me know and I will add them here.
What's Changed
- Fix Current Speaker if nobody speaks by @CakeVR in #2071
- Fix variable and setting nodes not updating on type change by @Atlinx in #2068
- Add Undo/Redo for choice and condition buttons. by @Atlinx in #2065
- Wait one frame before clean to avoid disconnecting internal ONESHOT connections by @Jowan-Spooner in #2072
- Remove explicit timeline clear to fix #1996 by @Jowan-Spooner in #2074
- Small fixes by @Jowan-Spooner in #2079
- Fix hiDPI scaling for dynamic options + empty value triggering suggestions by @Atlinx in #2077
- Fix broken function
get_current_style
in Styles subsystem by @hohfchns in #2090 - Fix for broken italics-font setting on default textbox layers by @Jowan-Spooner in #2101
- Attempt at fixing the timeline clearing mistakes by @Jowan-Spooner in #2100
- Rename NextIndicator class to fit all other names by @Jowan-Spooner in #2102
- Improve choice subsystem by exposing most settings by @Jowan-Spooner in #2103
- Various fixes by @Jowan-Spooner in #2107
- Improve broken reference manager by @Jowan-Spooner in #2110
- Show used Locales in Test Locale Dropdown by @CakeVR in #2108
- Saving-Loading improvements & Other things by @Jowan-Spooner in #2111
- Fixed error 'Set Variable event failed' when setting bool false. by @workhorsy in #2114
- Fix multiline events, improve syntax highlighting and text event height calculation by @Jowan-Spooner in #2116
- Vector types and number improvements by @Invertex in #2094
- Small Documentation improvements by @Jowan-Spooner in #2117
- Add Utility Methods to save Already Seen Events by @CakeVR in #2083
- Fix getting wrong Speaker Path by @CakeVR in #2126
- Prevent
EditorInterface
breaking Builds by @CakeVR in #2133 - Add support for Alias Glossary Dictionary Keys by @CakeVR in #2128
- Add documentation to the
Background
andAudio
subsystem by @CakeVR in #2122 - Fix style editor layer icon size by @Atlinx in #2141
- Improve set variable and call event access by @Jowan-Spooner in #2134
- improve ConditionPicker#is_too_complex by @iscke in #2138
- Improve Choices Script and VN Text Box Layer by @CakeVR in #2137
- Refactor Manual-Advance to
Dialogic.Inputs.manual_advance
by @CakeVR in #2124 - Fix history not evaluating variables in names by @Atlinx in #2136
- don't emit
Dialogic.timeline_ended
untilTimeline#clean
has been called by @iscke in #2146 - Remember the Timeline Sidebar Size by @CakeVR in #2153
- Support
PackedScene
in the Call Event. by @CakeVR in #2165 - Textbubble style improvements by @Jowan-Spooner in #2084
- Parse Variables in Glossary Fields by @CakeVR in #2173
- Save subsystem: updated function API by @Pheubel in #2169
- Fix use of FileAccess.file_exists() by @Jowan-Spooner in #2178
- Fix event button section ordering & errors when disabeling addon by @Jowan-Spooner in #2179
- Small fixes by @Jowan-Spooner in #2181
- Fix "timeline info could reset after new timeline was loaded" by @Jowan-Spooner in #2184
- Add simple context menu to resource sidebar by @Jowan-Spooner in #2182
- Attempt at improving glossary tag clicking & mouse input logic by @Jowan-Spooner in #2185
- Make sure we save on exit! + Small Glossary Layer cleanup by @Jowan-Spooner in #2186
- Small improvements by @Jowan-Spooner in #2187
- Input improvements and Text Settings cleanup by @Jowan-Spooner in #2189
- Fix autoadvance with delay = 0 by @Jowan-Spooner in #2192
- Add TypeSound node to SpeakerTextbox layer by @Jowan-Spooner in #2202
- Remove direct Dialogic reference to avoid installation error by @Jowan-Spooner in #2204
- Remove dedundant text height calculation! Hurray! by @Jowan-Spooner in #2205
- Implement label display name (translatable) & store last label by @Jowan-Spooner in #2203
- Allow expressions as portraits by @Jowan-Spooner in #2201
- Simplify glossary translation code by @Jowan-Spooner in #2210
- Prevent default portrait from spamming error by @Jowan-Spooner in #2217
- Fix subsystem dependencies bug #2222 by @Jowan-Spooner in #2223
- Fix to autoskip and wait event pausing by @Jowan-Spooner in #2214
- Audio event bus management simplification by @Jowan-Spooner in #2212
- Improve the variable_changed signals and their info dictionaries by @Jowan-Spooner in #2215
- Fixing relative margin scale by @coppolaemilio in #2229
- Update TimelineResourceLoader. by @AnidemDex in #2234
- Update CharacterResourceLoader and CharacterResourceSaver. by @AnidemDex in #2235
- Use "contrast_color_1" for now by @Jowan-Spooner in #2239
...
Dialogic 2.0 - Alpha 13
The final alpha??? 😱
Heads up: This version requires Godot 4.2+
Another month has passed, and Dialogic has seen some exciting development. But even more exciting is, that there is barely any reason left for us to still call this an alpha. So be prepared for the first beta release (hopefully) in February.
But for now, let's enjoy all the new goodies in this version! What have we got?
- New Variables editor with typed variables!
- Unit test system introduced!
- Statically typed subsystems! This is a major step towards giving good auto-completion results for all the cool methods Dialogic provides.
- Translation improvements, including glossary translations🤯!
- Choice do not have to be connected to a text event anymore!
- And tons of smaller features, enhancements, fixes and UX adjustments.
We hope you enjoy this version!
PS: When you first update Dialogic, you might see some errors. This should stop after restarting the editor once (sometimes twice). In some cases deleting the .godot folder in the project directory (to trigger a reimport) can help as well.
Breaking changes!!
Once again, there are some breaking changes.
You will require Godot 4.2+ for this version of Dialogic 2.
1. Autoload script changed
When you first update Dialogic, you might see some errors. This should stop after restarting the editor once (sometimes twice). The reason is that Dialogic has to update the path to its autoload as that has been moved.
If you need to manually fix this path, replace Other
with Core
.
2. Subsystem renames
For the typed subsystems to work, a few selected subsystems have been renamed. This might result in errors, especially in layout-scripts you have copied from the Dialogic plugin. The renames are:
- Animation -> Animations
- Input -> Inputs
- Expression -> Expressions
3. Method renames
A few selected methods have been renamed:
Subsystem Text
- hide_text_boxes() -> hide_textbox()
- show_text_boxes() -> show_textbox()
- can_skip_text_reveal() -> is_text_reveal_skippable()
- skip_text_animation() -> skip_text_reveal()
Subsystem Input
- stop() -> stop_timers()
4. Glossary
If you've been using glossaries already, you will have to open each glossary resource (not each entry, though) in the glossary once to avoid getting a crash in-game.
What's Changed
- Change version to "Alpha 13 (WIP! Godot 4.2+)" by @Jowan-Spooner in #1969
- Try new svg imports (again) by @Jowan-Spooner in #1968
- Add a bunch of explicit static typing by @Jowan-Spooner in #1967
- Variables Rework (second PR attempt) by @Jowan-Spooner in #1972
- Add search bar to Unique Reference Manager by @Jowan-Spooner in #1970
- Small UI/UX improvements to character editor by @Jowan-Spooner in #1971
- Add Unit Test GitHub Workflow by @CakeVR in #1980
- Fix Godot version from
4.2.0
to4.2
. by @CakeVR in #1981 - Fix Unit Test CI by @CakeVR in #1986
- Prevent failure when report upload fails by @CakeVR in #1988
- Split workflows into two by @CakeVR in #1990
- Fix empty-choice-indentation bug by @Jowan-Spooner in #1991
- Multi-fix-PR by @Jowan-Spooner in #1999
- Cleanup visual editor field scenes & scripts by @Jowan-Spooner in #2004
- Add check preventing restarting the same audio resource. by @CakeVR in #2002
- Visual editor improvements by @Jowan-Spooner in #2005
- More BG event adjustments by @Jowan-Spooner in #2006
- Improve README.md Organization and Visual Appeal by @psy-lilulu in #2011
- Multiple fixes by @Jowan-Spooner in #2013
- Fix boolean condition not saving the bool state by @Jowan-Spooner in #2015
- Ensure characters can be escaped if they begin with event identifiers by @Jowan-Spooner in #2019
- Add quick-open to timeline editors by @Jowan-Spooner in #2018
- Apply type hints to example scripts to avoid triggering any GDScript warnings or errors by @nlupugla in #1975
- Fix User Input Auto-Advance by @CakeVR in #2024
- fix a function bug in subsystem_variables.gd by @endaye in #2025
- Extend
DialogicPortrait
by custom portraits. by @CakeVR in #2020 - Refactor plugin.gd for improved readability and maintainability by @psy-lilulu in #2012
- Move Unit Tests outside of Dialogic by @CakeVR in #2030
- Improve custom portrait workflow by @Jowan-Spooner in #2027
- 1.x converter "jump" working by prep loop func + character "positions" debugged by @metanoder in #2009
- Fix broken plugin name by @Jowan-Spooner in #2034
- Remove documentation sections from settings pages by @Jowan-Spooner in #2039
- Remove converter by @Jowan-Spooner in #2040
- Statically typed subsystems by @Jowan-Spooner in #2035
- Fix background transitions by @Jowan-Spooner in #2041
- Add Sync Text Reveal to the Playing Voice by @CakeVR in #2010
- Some method renames and code cleanup by @Jowan-Spooner in #2042
- Fix history event by @Jowan-Spooner in #2043
- Fix typo in Subsystem reference by @Jowan-Spooner in #2044
- Add sub-Index for mid-text-event loading by @Jowan-Spooner in #2045
- Make sure custom portrait is reloaded when portrait scene is saved by @Jowan-Spooner in #2046
- Avoid null get_tree() call by @Invertex in #2052
- Allow specifying parent to add layout by @Jowan-Spooner in #2048
- Rename the Other folder to Core by @Jowan-Spooner in #2047
- Allow any Texture type to be assigned as NextIndicator icon by @Invertex in #2054
- Multiple fixes by @Jowan-Spooner in #2056
- Add Translation Support for Glossary by @CakeVR in #1954
- Independent choices by @Jowan-Spooner in #2057
- Pre alpha13 fixes by @Jowan-Spooner in #2058
New Contributors
Full Changelog: 2.0-alpha-12...2.0-alpha-13
Dialogic 1.5.1 - Still alive!
Dialogic laboratories is proud to present this small treat of fixes and improvements which is a must have for all dialogic 1 users.
It's a triumph. Note: "Huge success".
And certainly still alive! Now even more with:
- themes that properly duplicate (#1938)
- a fix for a bug that broke PCK encrypted games using Dialogic (#1974)
- another fix for a bug where the creation buttons wouldn't function if a folder wasn't selected first (#1935)
Huge thanks go out to @zaknafean who is the one responsible for this branch still evolving and who would certainly be happy if you (yes YOU dear reader) would want to contribute to dialogic 1! Come by on emilios discord server if you're interested.
Ciao,
Jowan!
What's Changed
- Fix Android directory errors by @WolfgangSenff in #1801
- Fixed error on button clicks by @zaknafean in #1936
- Fixed character leaves in History by @zaknafean in #1937
- Themes now duplicate by @zaknafean in #1938
- Filter out commands from history by @zaknafean in #1939
- Label anchors now id uniquely by @zaknafean in #1940
- Update DialogicAnimaResources.gd by @TheMeddlingMechanic in #1974
New Contributors
- @WolfgangSenff made their first contribution in #1801
- @TheMeddlingMechanic made their first contribution in #1974
Full Changelog: v1.5...v1.5.1
Dialogic 2.0 - alpha 12
Style layers, background transitions, translations and more!
This alpha release brings a multitude of cool new features and a big bunch of bug-fixes.
- New Style Layers: All styles have been broken down into style layers. This makes it easier to customize them for you and for us to improve them. It also means your existing styles will break… So make a backup/commit before updating. Take a look at the breaking changes below for more help!
- Background Transitions: Dialogic now provides several background transitions. Hopefully, there will be more coming in the future.
- Translations: Another important missing feature for translations — character names — has been tackled by the wonderful @CakeVR!
- Floating Window: Dialogic can now be docked off into a separate window. This functionality is WIP, so try it out and give us your feedback.
- Unique Identifier Changes: Dialogic uses unique identifiers for characters and timelines. Previously, these were fixed (based on the file name), but now you can edit them in the Reference Manager!
- Documentation: And finally, our documentation has seen many improvements (both in content and presentation).
I wish you all a happy end of the year and fun with this release.
❓ Future plans
With the rework of styles, one of the last big points has been ticked off, and in fact, the other feature rework that was listed on the last release — variables — is already close to being finished.
So what's next? Well, it means that it's not unlikely that we have only one more alpha release before the beta. Personally, I will focus mostly on testing, bug-fixing and minor UI/UX improvements from here on. Once I feel we are ready to go into beta, I will start creating tutorials and working on the documentation.
Our beta will likely not mean a full feature freeze until very close to release. We just do not have a fast enough release cycle to push features off until the next release. So if you have a small feature PR, don't worry. However, the beta will be a time of focus on stability and bug-fixing for the core team.
The next release will increase the required godot version to 4.2 so we can benefit from all the cool new additions in that version.
⚠️ Breaking changes!
This release comes with one major breaking change: Styles. Basically, any style and custom layout scene from previous alphas won't be working as expected anymore.
Therefore, before you update to this version, PLEASE COMMIT ANY CHANGES OR MAKE A BACKUP COPY.
However, don't worry:
- You can either recreate your things with the new system, which you can find explained in the docs (Styles & Layouts — Dialogic 2 Documentation) or in a small YouTube walkthrough (Dialogic 2 - New Style System - YouTube).
- Alternatively, you can convert the old layout scenes (or your custom layout scenes) to work with the new system. This mainly means they have to inherit from
DialogicLayoutBase
. Then you can create a new Custom Style and replace the base scene with your custom layout. Do this only if you really need to. I recommend using the new styles as those will be the ones getting improvements in the future.
Any settings from your previous styles won't be able to be transferred.
Regarding styles, a couple of methods have been renamed/moved:
Dialogic.has_active_layout_node()
=>Dialogic.Styles.has_active_layout_node()
Dialogic.get_layout_node()
=>Dialogic.Styles.get_layout_node()
Dialogic.Styles.add_layout_style()
=>Dialogic.Styles.load_style()
Dialogic.find_timeline()
=>DialogicResourceUtil.get_timeline_resource()
This list is incomplete; it's just a selection I thought might be useful to you. If something breaks, and you're not sure why, just hit us up on Discord.
Unique identifiers
There is a small chance the new unique identifiers' system comes up with a different default name for characters or timelines (this should only happen if you have multiple characters/timelines with the same name). In this case, you can simply adjust the auto-generated identifiers in the Reference Manager. You can learn more about unique identifiers in the documentation: Reference Manager - Dialogic 2 Documentation
Portrait Position Containers (z-index)
The z-index is now affecting the order of portrait containers. This means they can no longer be children of (e.g.) a VBoxContainer.
What's Changed
- Fix portrait mirror & [portrait] effect by @Jowan-Spooner in #1905
- Fix Character Speaker changing by @CakeVR in #1914
- Fix
null
assignment toString
by @CakeVR in #1924 - Add Character Name Translation by @CakeVR in #1898
- Style & Layout Rework (adds StyleLayers) by @Jowan-Spooner in #1925
- Various fixes by @Jowan-Spooner in #1933
- Editor UI/UX: Floating window mode by @Jowan-Spooner in #1880
- Speaker highlight improvements by @Jowan-Spooner in #1941
- Fix WAV music bug by @Jowan-Spooner in #1944
- Add prepare() method for styles that should preload scenes by @Jowan-Spooner in #1945
- Fix "Getting Started" in README by @godofgrunts in #1949
- Improve unique-identifier-directory handling by @Jowan-Spooner in #1950
- Make sure character picker is updated when characters are added by @Jowan-Spooner in #1951
- Alternative Background Transition Implementation by @Jowan-Spooner in #1952
- Remove all direct references of Dialogic by @Jowan-Spooner in #1953
- Make sure to free layer scenes used in editor by @Jowan-Spooner in #1955
- Fix/background holder dangling reference by @Pheubel in #1958
- More small fixes by @Jowan-Spooner in #1962
- Restore loading a save when using Styles (#1959) by @sudisk in #1960
- Multiple final fixes/improvements by @Jowan-Spooner in #1964
New Contributors
- @godofgrunts made their first contribution in #1949
- @sudisk made their first contribution in #1960
Full Changelog: 2.0-alpha-11...2.0-alpha-12
Dialogic 2.0 - alpha 11
🖱️ 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
Dialogic 2.0 - alpha 10
🚀 All aboard the alpha train
This release has it all: new features, breaking changes, UI updates, and tons of bug fixes. And it's still not a beta. Damn. But we are getting there: slowly but surely. As always if you have questions or feedback it's best to reach out on emilios discord.
Notable new features include:
- custom default portrait scene
- improved autoadvance system
- built in version-check and downloader
- big update for text speeds
- new Clear event (leaves all characters, fades background & music, resets theme)
Notable bug fixes:
- fixes a bug preventing exports
- fixes problems with changing styles
We hope you enjoy this new version. If you make something cool with dialogic 2, feel invited to show it on emilios discord.
If you are new to dialogic, hey, nice to have you here, here is a good place to start and please keep in mind we are still in alpha ;).
⚠️ Breaking Changes:
-
The syntax of certain events has changed, meaning they will break in existing timelines. However it's easy to fix.
The changes are:- Join, Leave, Update are now lowercase so join, leave, update
- VAR has been changed to set
- Setting is lowercase as well
🛠️How to fix the broken events🛠️
You can either manually change these syntax changes in the text editor or use the Broken Reference Manager.
-
Open the
Broken Reference Manager
in the top right corner (little broken link symbol)
-
Click the "Plus" button in the top right of the window that pops up
-
Fill in e.g. "Update" and "update", whole words+match case, then press
Add
-
Press
Check Selected
-
Check if anything has been detected wrongly (e.g. use of Update inside a text), disable those items
-
Press
Replace
Repeat this process for all syntax changes.
-
As the default layout is still getting updated, custom layouts that just copy this scene might need some reworking.
-
Your text speed might seem super fast, because Settings.text_speed is now a multiplier for the
letter_speed
. However this change in meaning can result in it being still set wrong. To fix this go to the ProjectSettings>Dialogic>Settings and set "text_speed" to 1
What's Changed
- Make left_text and right_text arguments part of info-dict by @Jowan-Spooner in #1696
- Remove invalid symbols from file names before creation by @Jowan-Spooner in #1698
- Many fixes by @Jowan-Spooner in #1701
- Fix input event handling by @iscke in #1693
- Make code completion helper and syntax highlighter global by @Jowan-Spooner in #1697
- More checks to prevent already freed portraits to cause trouble by @Jowan-Spooner in #1702
- Fix for layouts with exports but without an export group by @Jowan-Spooner in #1703
- Fixes for #1712 and #1707 by @Jowan-Spooner in #1713
- NodePath Correction by @mechPenSketch in #1716
- Fix for #1719 by @Jowan-Spooner in #1723
- Fix next indicator texture not being loaded by @Jowan-Spooner in #1724
- Fix regex for expressions with two variables by @Jowan-Spooner in #1736
- Allow setting custom default portrait by @Jowan-Spooner in #1739
- [speed], input & text separation update by @Jowan-Spooner in #1718
- Fix MainExport section having min_y_size by @Jowan-Spooner in #1740
- Multiple improvements and fixes by @Jowan-Spooner in #1744
- Small fixes / improvements to portrait system by @Jowan-Spooner in #1751
- Fix heavy visibility condition by @Jowan-Spooner in #1768
- Fixes conflicts and crashes by @eddieataberk in #1766
- Multiple small features & fixes by @Jowan-Spooner in #1763
- Allow spaces in jump's Label and Timeline regex by @Jowan-Spooner in #1772
- Add an "Open Code" right-click option to events by @Jowan-Spooner in #1769
- Added method to allow for using regex in expressions by @opaintner in #1778
- Change file exists method for CharacterResource by @lamnguyenkhoa in #1773
- Clear event by @Jowan-Spooner in #1756
- Very small fixes for choices and block movement by @Jowan-Spooner in #1787
- Add sound effect settings to default layout by @Jowan-Spooner in #1789
- TextSyntax: Make Join, Leave, Update, Setting lowercase by @Jowan-Spooner in #1788
- Fix portrait animation pausing and signal error by @Jowan-Spooner in #1790
- Make speaker portrait react to [portrait] effect by @Jowan-Spooner in #1795
- Make sure connect_to_change is only called on actual changes by @Jowan-Spooner in #1793
- Add dedicated text-event syntax highlighter by @Jowan-Spooner in #1797
- Fix: Change Style (to different layout scene) breaks by @Jowan-Spooner in #1761
- Add safety check for wrong event path on custom indexers by @Jowan-Spooner in #1796
- Fix another export problem by @Jowan-Spooner in #1800
- Extend Auto-Advance by @CakeVR in #1755
- Implement Version Checker and Downloader by @Jowan-Spooner in #1803
- Adjust Internal Plugin Version by @Jowan-Spooner in #1806
New Contributors
- @iscke made their first contribution in #1693
- @eddieataberk made their first contribution in #1766
- @opaintner made their first contribution in #1778
- @lamnguyenkhoa made their first contribution in #1773
- @CakeVR made their first contribution in #1755
Full Changelog: 2.0-alpha-9...2.0-alpha-10
Dialogic 2.0 - alpha 9
🎉 New alpha, new stuff!
If you are using dialogic 2 alphas then we've got an exciting update. It's not the beta yet, but we are getting closer! As always if you have questions or feedback it's best to reach out on emilios discord.
This alpha brings a couple of very useful new features to dialogic as well as some syntax changes and a design overhaul (and many, many bug fixes).
🎈 Big Additions
New Style Editor
The new style editor allows creating multiple sets of layouts+export overrides (which can inherit settings from other styles). This makes it much easier to create style variations for characters or certain sections of timelines.
New Broken Reference Manager
The new broken reference fixer should make it much easier to rename variables, portrait, timelines and characters and then updating references to those in timelines.
New editor design and new event colors!
The editor now comes with a new design, especially for the settings, but you will find it creeping everywhere... Also the event colors have been made into a nicer palette adding a couple of new ones, for the ever growing number of events!
🪧 Smaller things to mention
- more portrait animations
- useful new shortcuts for the visual editor
- better auto completion & syntax highlighting
- better Character Update event (now alows setting what to update and what not to)
- tons of bug fixes
- autofocusing correct event fields when created
⚠️ Breaking changes
As we are still in alpha these changes have to be corrected manually.
- the
jump
andlabel
events now use the following syntax instead of the shortcode syntax:
label MyLabel
jump MyLabel
# or
jump Timeline/MyLabel
# or (to jump to the beginning of a timeline)
jump Timeline/
- there is also a new
return
event if you want to return to the last jump - the random selection modifier syntax is now <This is one option/And this another/And a third>
- the new portrait_container node replaces the old portrait_position node. This needs no fixing if you used one of the preset layouts
- the new and improved style editor will need reconfiguring of your layout scene and settings
Future
We are still hoping to get to the beta phase soon, but developement goes slowly as it's mainly on me right now (@Jowan-Spooner). We want to go into a beta when we are at least somewhat confident about dialogic 2 being stable and not having any breaking changes planned. So if you are interested in a beta soon, test dialogic, report bugs here and give your feedback on discord!
Huge shoutout to @CristianRos for a lot of feedback, testing and contributions for this version.
Btw, it's pretty easy to test the most up to date version from the main branch by downloading the zip and just copying the addons/dialogic folder into your projects addons folder (after removing the old version and while the project is closed!). Sometimes that version has some bugs, but tbh, so have the alpha releases.
Automatic changelog:
- Fix version and add argument default by @Jowan-Spooner in #1574
- Fix issue #1383: Generic autofocus on event creation with button by @CristianRos in #1573
- Multiple fixes (portraits, backgrounds, glossary) by @Jowan-Spooner in #1577
- Improve start method by @Jowan-Spooner in #1578
- Some fixes to the converter by @Jowan-Spooner in #1576
- Add persistent settings and Settings subsystem/event by @Jowan-Spooner in #1575
- Improve text systems and TextBubble layout system by @Jowan-Spooner in #1579
- Expose next indicator settings to default layout customizer by @Jowan-Spooner in #1580
- Type sound mood editing fixes & Improvements by @Jowan-Spooner in #1581
- Add Settings to text bubble layout by @Jowan-Spooner in #1582
- Improvements to call node event and visual timeline fixes by @Jowan-Spooner in #1584
- Make styles require style.cfg to be detected. by @coppolaemilio in #1585
- Multiple fixes (all over the place) by @Jowan-Spooner in #1586
- Hacky way of fixing glossaries by @Jowan-Spooner in #1588
- Use ResourceLoader.exists() for glossary check by @Jowan-Spooner in #1589
- Portrait modes update (+other stuff) by @Jowan-Spooner in #1591
- Various improvements by @Jowan-Spooner in #1592
- Fixes #1606 logcial_convert function bug fix by @rassweiler in #1607
- Fixed input bugs with event pressed and gamepad (#1609) by @IkutiDev in #1615
- Fix extensions_folder typo by @oddfacade in #1618
- Multiple bug fixes by @Jowan-Spooner in #1622
- Fixed file picker in portrait scene exports by @oddfacade in #1623
- Fix error in DialogicEndTimelineEvent by @naonya3 in #1629
- Fix event deletion in right-click-menu and add Undo support to actions by @Jowan-Spooner in #1630
- Fix variable reset and add reset and has method by @Jowan-Spooner in #1633
- minor name update by @exelia-antonov in #1642
- Dialogic 1.x converter fixes by @exelia-antonov in #1643
- Silence error on get_meta(..., null) by @oddfacade in #1641
- Add skip delay by @KoB-Kirito in #1638
- Fix skip delay of 0 and add short input block after natural text finish by @Jowan-Spooner in #1648
- Change enums to follow style guide (#1547) by @Jowan-Spooner in #1650
- Fix for #1635 and #1593 and random selection highlighting by @Jowan-Spooner in #1649
- Fix missed enum change by @Jowan-Spooner in #1653
- Broken Reference Fixer (alternative to #1605) by @Jowan-Spooner in #1621
- Clear text state when hiding textboxes by @Jowan-Spooner in #1659
- Prevent crash when accessing freed layout scene by @Jowan-Spooner in #1658
- HUGE editor layout update by @Jowan-Spooner in #1655
- Separate CodeCompletion & SyntaxHighligh logic to reuse in MultilineText field by @Jowan-Spooner in #1625
- Small broken reference fix by @CristianRos in #1661
- Rework jump+label+return system by @Jowan-Spooner in #1660
- Make custom animations part of the module system by @Jowan-Spooner in #1662
- Visual timeline editor icons by @CristianRos in #1663
- Further UI changes (timeline editors) by @Jowan-Spooner in #1664
- Modified events color palette by @CristianRos in #1665
- Add shortcuts by @Jowan-Spooner in #1667
- Hotkeys - ALT == Option key 4 mac added by @metanoder in #1668
- Small shortcut bug fix by @CristianRos in #1669
- Fixed variables hyphen symbol issue #1634 by @CristianRos in #1672
- Add new animations by @Jowan-Spooner in #1670
- Fixed ERR_INVALID_PARAMETER in animation.gd by @endaye in #1676
- Add code completion for character event shortcodes by @Jowan-Spooner in #1678
- Remove fit_content_height from Description TextEdit to prevent crash by @Jowan-Spooner in #1677
- Changed some UI and redesigned character editor layout by @CristianRos in #1674
- Huge layout/style update by @Jowan-Spooner in #1685
- Fix character event update mode behaviour by @Jowan-Spooner in #1686
- Fix for #1680 and #1616 and #1688 by @Jowan-Spooner in #1689
- Fix style list defaults (crash) and character text info by @Jowan-Spooner in https://github.com/coppolaemilio/dia...
Dialogic 1.5 - the last in the 1.x era?
Dialogic 1.5 is here - with a major performance boost
While work on the 2.0 version is going steadily (still hoping for a beta soon), many people are still using dialogic 1 in godot 3.x. And some of these amazing people have been working on making dialogic 1 better then ever.
This release brings bug fixes, small additions and most importantly a major performance improvement! This means having many timelines and characters will no longer slow down the editor. Big thanks to @exelia-antonov and @zaknafean for all the work they've put in.
This is likely the last major release on the 1.x branch as core developers have moved to godot 4 and dialogic 2 (on the main branch). But small fixes and improvements will likely keep coming in, so who knows?
As always, feel free to get in touch with us here or on discord.
What's Changed
- Fixes for Timeline End and Timeline Start by @zaknafean in #1297
- Nameplate alignment bug by @zaknafean in #1308
- Fix History.gd [br] resolve. by @eaganlai in #1339
- get_saved_definitions() new loop function to add / delete default definitions by @metanoder in #1334
- Fixed Speed tag resolve in HistoryRow by @eaganlai in #1344
- Dialogic 1.x: Added Portrait Changed Signal by @zaknafean in #1511
- Fix for #469 by @zaknafean in #1512
- Update BackgroundMusic.gd by @zaknafean in #1513
- Anima Fixes by @zaknafean in #1639
- 1.x Speedups by @exelia-antonov in #1271
- Choice disabled view by @zaknafean in #1636
- Import variables fix by @zaknafean in #1626
- Dialogic 1.5 final fixes by @zaknafean in #1640
- Improved support for adding variables to already published games #1278 @Iodinex64
- Option in themes added to show 'disabled' choices @Celthim
New Contributors
Full Changelog: 1.4.5...v1.5