Changelog Release 1.23

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.