Woooowie. It's been a while and I've barely had any time for Dialogic these past months (again). But this project keeps moving and so does Godot. This release fixes things that broke in Godot 4.7, it introduces a first batch of breaking changes, mostly around the subsystems and brings lots of small fixes and improvements. As always, please make a backup or commit your changes before upgrading!
Here's the stuff you should know:
- Portrait animations can now infinitely repeat (until a different animation is set)
- State is implemented differently, meaning custom subsystems will most likely break and old saves won't work anymore. This means custom portrait scenes can now save and load (e.g. Layered Portrait) and textboxes can have identifiers.
- Picking files now much more cleverly remembers folders for different types of files (e.g. portraits, timelines, backgrounds, etc.)
- There's better controls for texture filtering for backgrounds, enabling pixelated or high res backgrounds.
📣🙏 Huge thanks to my patreons Tim Krief, Keko Ponte, Jeff Rigot, Brandon Carbaugh and MilkShakeIntake, some of which probably just forgot to cancel :)
And some more thanks to all the new contributors as well as the old ones for keeping this boat afloat while I'm away.
⚠⚠ Breaking Changes 🔥🔥
The main breaks are around subsystems and their save/load logic. Dialogic.custom_state_info is a thing of the past. If you have a custom subsystem, custom portrait or custom background you might have to rewrite it. Many method names and implementations changed. Take a look at the built in subsystems and the PR to find out more.
It also breaks old save states. If you are late into production I recommend sticking with your godot and dialogic version.
Also this release only works on Godot 4.5 and upwards, godot 4.6 or higher is recommended.
What's Changed
- Striping PNGs from project exports by @zaknafean in #2717
- Settings Fixes / Improvements by @Jowan-Spooner in #2723
- Background Layer options by @zaknafean in #2722
- Fixes and More by @Jowan-Spooner in #2725
- Save system cleanup by @Jowan-Spooner in #2695
- Update version + small fixes by @Jowan-Spooner in #2727
- Next indicator no longer blocks mouse clicks by @zaknafean in #2729
- Add infinite repeat as a QOL option to update animations by @zaknafean in #2719
- Various fixes by @Jowan-Spooner in #2737
- Fix Wait Event not pausing when Dialogic is paused by @salianifo in #2735
- fixed 'Not all code paths return a value.' error for godot 4.7 by @da-pwo in #2769
- fix for GDC files by @zaknafean in #2775
- Fix for when calling start in physics process by @oxters168 in #2749
- Fix subsystem memory leak by @3cxc in #2759
- Assign button sounds to the correct audio bus by @mrspeaker in #2754
- Support and Hooks for custom subsystems by @zaknafean in #2730
- Fix background subsystem changed emit with invalid argument field by @Scrawach in #2783
- Fix infinite loop after jumping to non-existent label by @Scrawach in #2784
- Alpha 20 Preparations by @Jowan-Spooner in #2787
New Contributors
- @da-pwo made their first contribution in #2769
- @oxters168 made their first contribution in #2749
- @3cxc made their first contribution in #2759
- @mrspeaker made their first contribution in #2754
- @Scrawach made their first contribution in #2783
Full Changelog: 2.0-alpha-19...2.0-alpha-20