{"id":1620,"date":"2024-09-02T20:57:26","date_gmt":"2024-09-02T20:57:26","guid":{"rendered":"https:\/\/dragondreams.ch\/?page_id=1620"},"modified":"2025-10-09T15:52:28","modified_gmt":"2025-10-09T15:52:28","slug":"changelog-release-1-23","status":"publish","type":"page","link":"https:\/\/dragondreams.ch\/index.php\/changelog-release-1-23\/","title":{"rendered":"Changelog Release 1.23"},"content":{"rendered":"<div id=\"pl-1620\"  class=\"panel-layout\" ><div id=\"pg-1620-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1620-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1620-0-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h1>Drag[en]gine Release 1.23<\/h1>\n<div><em>Released: 2024-09-02<\/em><\/div>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Drag[en]gine<\/span><\/h3>\n<ul>\n<li>Added Service Module \"Mod.io\". Supports \"user\" and \"mods\"<\/li>\n<li>Added Service Module \"Microsoft GDK\". Supports \"user\" and \"achievements\"<\/li>\n<li>Added Service Module \"EOS SDK\". Supports \"user\" and \"achievements\"<\/li>\n<li>Added Service Module \"Steam SDK\". Supports \"user\" and \"achievements\"<\/li>\n<li>Added modification management UI classes: MMWindowModManagement, MMPanelModManagement and more.<\/li>\n<li>Added Service Interface \"mods\".<\/li>\n<li>Added Service Interface \"user\".<\/li>\n<li>Added Service Interface \"achievements\".<\/li>\n<li>Added Service Module System.<\/li>\n<li>Moved external sources for building game engine to external cloud drive to reduce repository size.<\/li>\n<li>Adding support to drop input events temporarily, for example while services show overlays capturing input.<\/li>\n<li>Added Android as build target covered in Github nightly builds.<\/li>\n<li>Fixed decString 'long' related conversation functions incorrectly using strtol instead of strtoll cutting of values above int32.<\/li>\n<li>Fixing threading problem with event queue.<\/li>\n<li>Added decBase64 encode\/decode.<\/li>\n<li>Added EnableAuralization parameter to Microphone resource.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">DragonScript<\/span><\/h3>\n<ul>\n<li>Added hiding of script directory from scripts to avoid foreign mod scripts browsing and reading game scripts.<\/li>\n<li>Modified ECBehaviorTriggered to include broken trigger expression in exception message.<\/li>\n<li>Hardened WindowDialog.show().<\/li>\n<li>Added support for automatic initialization of supported service modules using BaseGameServices.<\/li>\n<li>Clarified attachable behavior setElement() function and ensured setElement() is called while reading element.<\/li>\n<li>Fixed exception in tooltip manager on dispose if visible.<\/li>\n<li>Added Attachable Element Behavior support.<\/li>\n<li>Added VRHandPose debug attachable behavior.<\/li>\n<li>Added support to ImageDesigner to define image resource using designer overriding widget image.<\/li>\n<li>Added support to VideoDesigner to define video resource using designer overriding widget video.<\/li>\n<li>Improvements on handling load-fail elements.<\/li>\n<li>Hardened persisting dynamic element data in game world.<\/li>\n<li>Small fix to ensure windows are layouted on show time.<\/li>\n<li>Added documentation how to create generic scrollable panels to ScrollPanel class documentation since this situation happens often and is tricky to get working correctly.<\/li>\n<li>Added Widget.getLocalMouseLoccation() to simplify finding the mouse location relative to a widget.<\/li>\n<li>Added formatting helper class.<\/li>\n<li>Fixed stack overflow problem with bordered designers.<\/li>\n<li>Improved design call performance by adding block layoutParent() support similar to block doLayout().<\/li>\n<li>Fixed TitledTwoColorBorder missing text.<\/li>\n<li>Modified clicked action listener to clear clicked position after onAction() is called so subclass knows where the click happened.<\/li>\n<li>Added support for restarting without exiting the application (warm restart).<\/li>\n<li>Fixed bug in ParameterTableEntry writing string without length.<\/li>\n<li>Remove Array.remove(int) which should not have existed anymore and fixed code incorrectly using it.<\/li>\n<li>Added missing getter\/setter to CodecPropertyString for the separator parameters.<\/li>\n<li>Hardened against modify-file-iterator in enterFrame list.<\/li>\n<li>Fixed decodeStringDictionary to support values containing separator token.<\/li>\n<li>Fixed CodecPropertyString.decodeStringDictionary to use quoting across the entire key:value pair instead of key and value separately.<\/li>\n<li>Added convenience calls to BehaviorElementClass.<\/li>\n<li>Added StubElement.getMatrix() convenience function.<\/li>\n<li>Added overload for EasyXML.new() and BaseXmlLoader.loadAndParseRootTag() supporting individually disabling parsing comments and cleaning character data.<\/li>\n<li>Fixed bug in ECBehaviorRenderablePanel skip creating content using listeners if solidity renderable name is empty.<\/li>\n<li>Added support for BehaviorPreventCreation.<\/li>\n<li>Added ECBehaviorRandomizeGeometry.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">OpenGL<\/span><\/h3>\n<ul>\n<li>Fix for segfault in GI code if component switches model in a way the old model is released.<\/li>\n<li>Fixed vr-camera not properly dropping reference causing segfault with restarting.<\/li>\n<li>Fixed renderthread potentially deadlocking due to missing vr-camera semaphore signal.<\/li>\n<li>Fixed bug in component world-compute element not counting required geometry slots correctly in the prepare function.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">OpenXR<\/span><\/h3>\n<ul>\n<li>Small fixes on passthrough extension to not get in the way until finished.<\/li>\n<li>Modified vr hand controller pose calculation to get a predictable pose (combine grip and aim pose).<\/li>\n<li>Adding hand interaction support: XR_EXT_hand_interaction, XR_HTC_hand_interaction.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">XInput<\/span><\/h3>\n<ul>\n<li>Added partial protection against audio devices suddenly showing up as input devices with libevdev.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">DEIGDE<\/span><\/h3>\n<ul>\n<li>Fixed edit raw property value not triggering update notification properly.<\/li>\n<li>Fixed bug in merging XML element classes in game definition overwriting sub components if element class and an inherited class contained components.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">World Editor<\/span><\/h3>\n<ul>\n<li>Added support to select a background object. Replaces the need for using VirtualElement in worlds that are used as content for another element.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Conversation Editor<\/span><\/h3>\n<ul>\n<li>Modified to not switch to conversation camera automatically.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Skin Editor<\/span><\/h3>\n<ul>\n<li>Added support to remember last import skin path for faster workflow.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Blender<\/span><\/h3>\n<ul>\n<li>Fixed homogenize materials not setting materials only adjusting slot order.<\/li>\n<li>Fixed export merger problems with linked objects.<\/li>\n<li>Modified extension to be compatible with Blender 4.2 Extension support.<\/li>\n<li>Modified extension to allowed embedding in other extensions.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Drag[en]gine Release 1.23 Released: 2024-09-02 Drag[en]gine Added Service Module &#8220;Mod.io&#8221;. Supports &#8220;user&#8221; and &#8220;mods&#8221; Added Service Module &#8220;Microsoft GDK&#8221;. Supports &#8220;user&#8221; and &#8220;achievements&#8221; Added Service Module &#8220;EOS SDK&#8221;. Supports &#8220;user&#8221; and &#8220;achievements&#8221; Added Service Module &#8220;Steam SDK&#8221;. Supports &#8220;user&#8221; and &#8220;achievements&#8221; Added modification management UI classes: MMWindowModManagement, MMPanelModManagement and more. Added Service Interface &#8220;mods&#8221;. Added [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"page-category":[10],"class_list":["post-1620","page","type-page","status-publish","hentry","page-category-dragengine-change-log","post"],"_links":{"self":[{"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages\/1620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/comments?post=1620"}],"version-history":[{"count":1,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages\/1620\/revisions"}],"predecessor-version":[{"id":1621,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages\/1620\/revisions\/1621"}],"wp:attachment":[{"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/media?parent=1620"}],"wp:term":[{"taxonomy":"page-category","embeddable":true,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/page-category?post=1620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}