Drag[en]gine Release 1.23
Released: 2024-09-02
Drag[en]gine
- Added Service Module "Mod.io". Supports "user" and "mods"
- Added Service Module "Microsoft GDK". Supports "user" and "achievements"
- Added Service Module "EOS SDK". Supports "user" and "achievements"
- Added Service Module "Steam SDK". Supports "user" and "achievements"
- Added modification management UI classes: MMWindowModManagement, MMPanelModManagement and more.
- Added Service Interface "mods".
- Added Service Interface "user".
- Added Service Interface "achievements".
- Added Service Module System.
- Moved external sources for building game engine to external cloud drive to reduce repository size.
- Adding support to drop input events temporarily, for example while services show overlays capturing input.
- Added Android as build target covered in Github nightly builds.
- Fixed decString 'long' related conversation functions incorrectly using strtol instead of strtoll cutting of values above int32.
- Fixing threading problem with event queue.
- Added decBase64 encode/decode.
- Added EnableAuralization parameter to Microphone resource.
DragonScript
- Added hiding of script directory from scripts to avoid foreign mod scripts browsing and reading game scripts.
- Modified ECBehaviorTriggered to include broken trigger expression in exception message.
- Hardened WindowDialog.show().
- Added support for automatic initialization of supported service modules using BaseGameServices.
- Clarified attachable behavior setElement() function and ensured setElement() is called while reading element.
- Fixed exception in tooltip manager on dispose if visible.
- Added Attachable Element Behavior support.
- Added VRHandPose debug attachable behavior.
- Added support to ImageDesigner to define image resource using designer overriding widget image.
- Added support to VideoDesigner to define video resource using designer overriding widget video.
- Improvements on handling load-fail elements.
- Hardened persisting dynamic element data in game world.
- Small fix to ensure windows are layouted on show time.
- Added documentation how to create generic scrollable panels to ScrollPanel class documentation since this situation happens often and is tricky to get working correctly.
- Added Widget.getLocalMouseLoccation() to simplify finding the mouse location relative to a widget.
- Added formatting helper class.
- Fixed stack overflow problem with bordered designers.
- Improved design call performance by adding block layoutParent() support similar to block doLayout().
- Fixed TitledTwoColorBorder missing text.
- Modified clicked action listener to clear clicked position after onAction() is called so subclass knows where the click happened.
- Added support for restarting without exiting the application (warm restart).
- Fixed bug in ParameterTableEntry writing string without length.
- Remove Array.remove(int) which should not have existed anymore and fixed code incorrectly using it.
- Added missing getter/setter to CodecPropertyString for the separator parameters.
- Hardened against modify-file-iterator in enterFrame list.
- Fixed decodeStringDictionary to support values containing separator token.
- Fixed CodecPropertyString.decodeStringDictionary to use quoting across the entire key:value pair instead of key and value separately.
- Added convenience calls to BehaviorElementClass.
- Added StubElement.getMatrix() convenience function.
- Added overload for EasyXML.new() and BaseXmlLoader.loadAndParseRootTag() supporting individually disabling parsing comments and cleaning character data.
- Fixed bug in ECBehaviorRenderablePanel skip creating content using listeners if solidity renderable name is empty.
- Added support for BehaviorPreventCreation.
- Added ECBehaviorRandomizeGeometry.
OpenGL
- Fix for segfault in GI code if component switches model in a way the old model is released.
- Fixed vr-camera not properly dropping reference causing segfault with restarting.
- Fixed renderthread potentially deadlocking due to missing vr-camera semaphore signal.
- Fixed bug in component world-compute element not counting required geometry slots correctly in the prepare function.
OpenXR
- Small fixes on passthrough extension to not get in the way until finished.
- Modified vr hand controller pose calculation to get a predictable pose (combine grip and aim pose).
- Adding hand interaction support: XR_EXT_hand_interaction, XR_HTC_hand_interaction.
XInput
- Added partial protection against audio devices suddenly showing up as input devices with libevdev.
DEIGDE
- Fixed edit raw property value not triggering update notification properly.
- Fixed bug in merging XML element classes in game definition overwriting sub components if element class and an inherited class contained components.
World Editor
- Added support to select a background object. Replaces the need for using VirtualElement in worlds that are used as content for another element.
Conversation Editor
- Modified to not switch to conversation camera automatically.
Skin Editor
- Added support to remember last import skin path for faster workflow.
Blender
- Fixed homogenize materials not setting materials only adjusting slot order.
- Fixed export merger problems with linked objects.
- Modified extension to be compatible with Blender 4.2 Extension support.
- Modified extension to allowed embedding in other extensions.