{"id":672,"date":"2020-11-23T11:21:30","date_gmt":"2020-11-23T09:21:30","guid":{"rendered":"https:\/\/dragondreams.ch\/?page_id=672"},"modified":"2025-10-09T14:59:37","modified_gmt":"2025-10-09T14:59:37","slug":"changelog-release-1-3","status":"publish","type":"page","link":"https:\/\/dragondreams.ch\/index.php\/changelog-release-1-3\/","title":{"rendered":"Changelog Release 1.3"},"content":{"rendered":"<div id=\"pl-672\"  class=\"panel-layout\" ><div id=\"pg-672-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-672-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-672-0-0-0\" class=\"so-panel widget widget_sow-image panel-first-child panel-last-child\" data-index=\"0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-image so-widget-sow-image-default-c67d20f9f743-672\"\n\t\t\t\n\t\t>\n<div class=\"sow-image-container\">\n\t\t<img \n\tsrc=\"https:\/\/dragondreams.ch\/wp-content\/uploads\/2020\/09\/dragengine-release-1-3-1.png\" width=\"1000\" height=\"350\" srcset=\"https:\/\/dragondreams.ch\/wp-content\/uploads\/2020\/09\/dragengine-release-1-3-1.png 1000w, https:\/\/dragondreams.ch\/wp-content\/uploads\/2020\/09\/dragengine-release-1-3-1-300x105.png 300w, https:\/\/dragondreams.ch\/wp-content\/uploads\/2020\/09\/dragengine-release-1-3-1-768x269.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" title=\"dragengine-release-1-3\" alt=\"\" \t\tclass=\"so-widget-image\"\/>\n\t<\/div>\n\n<\/div><\/div><\/div><\/div><div id=\"pg-672-1\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-672-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-672-1-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child\" data-index=\"1\" ><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<p style=\"text-align: center;\">Changelog of the 1.3 Drag[en]gine Game Engine and IGDE release.<\/p>\n<p style=\"text-align: center;\"><em>Released: 2020-09-13<br \/>\n<\/em><\/p>\n<\/div>\n<\/div><\/div><div id=\"panel-672-1-0-1\" class=\"so-panel widget widget_sow-editor panel-last-child\" data-index=\"2\" ><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.3<\/h1>\n<h2 style=\"margin-top: 1em;\"><span style=\"color: #0000ff;\">Features Added<\/span><\/h2>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">DragonScript Script Module<\/span><\/h3>\n<ul>\n<li>Improved BaseActorAction and BaseActorAI with activateWhileLoading(). This avoids problems if actions and AIs are loaded from a save states.<\/li>\n<li>Modified ECBehaviorLocomotion.stopMoving() to not reset looking vertically and horizontally. Added an own method for this resetLooking().<\/li>\n<li>Added ECPGuiTheme allowing to add element class property to define GuiTheme.<\/li>\n<li>Improved ECBehaviorRideOn to deal with edge cases of touching a non-ridable element parented to a ridable element. In this case the unmodified code incorrectly assumed the actor is no more riding on anything. With the change the parent element is found.<\/li>\n<li>Added UnicodeString.compare() to conform with Object.compare()<\/li>\n<li>Added LocomotionAttribute.relativeDisplacement which is the same as LocomotionAttribute.displacement but negated if moving backwards.<\/li>\n<li>Added element class properties to configure speed and speed factors for<br \/>\nECBehaviorPlayerInputLook, ECBehaviorPlayerInputMove and ECBehaviorPlayerInputTurn.<\/li>\n<li>Added GlobalEvents to BaseGameApp (getGlobalEvents). Allows to listen to global events like \"start game\" which BehaviorElements do not cover easily.<\/li>\n<li>Added StateMachine classes similar to BehaviorTree including ECBehaviorStateMachine to use it easily on elements. Added to DEExamples project an ECBehaviorStateMachine example class.<\/li>\n<li>Added addListenerFactory(Block) support to all behaviors using listener factories.<\/li>\n<li>Modified WindowDialog convenience dialog creation methods to assign parent window gui theme to created dialog.<\/li>\n<li>Added ECBehaviorSkinSwitcher. Allows switching skins on component or individual textures thereof<\/li>\n<li>Added BooleanBehaviorListener support. Simplifies attaching listeners to behaviors interested only in a generic enabled\/disabled state.<\/li>\n<li>Added ECBehaviorRenderablePanel behavior similar to ECBehaviorRenderableCanvas but using Panel allowing to use full power of GUI ToolKit.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">DragonScript Script Language<\/span><\/h3>\n<ul>\n<li>Array: added newWith() method for up to 10 objects.<\/li>\n<li>Array: added addAll(Array), insertAll(int,Array), +(Array) and +=(Array).<\/li>\n<li>Dictionary: added setAll(Dictionary) and +(Dictionary).<\/li>\n<li>Set: added newWith() method for up to 10 objects.<\/li>\n<li>Set: added addAll(Set) and removeAll(Set).<\/li>\n<li>String: added startsWith(String), startsWithNoCase(String), endsWith(String) and endsWithNoCase(String).<\/li>\n<li>String: changed getAt(int) to accept negative index counting from the end.<\/li>\n<li>Array: modified various block based methods to allow additional block using index. For example forEach(block int index, String value).<\/li>\n<li>String: added format(Array)<\/li>\n<li>Added support for Run-Time optimizations. Added small optimizations for simple functions like getters returning class variable. Preparation work for adding JIT.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Synthesizer Module<\/span><\/h3>\n<ul>\n<li>Removed SoundTouch source code adding instead the SoundTouch distributable as in-tree build. Supports now compiling against system SoundTouch library if present.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">IGDE<\/span><\/h3>\n<ul>\n<li>Added confirmation dialog in new project dialog asking if user wants to create project if he selected no template<\/li>\n<li>Added check in new project dialog preventing creating project in existing directory<\/li>\n<\/ul>\n<h2 style=\"margin-top: 2em;\"><span style=\"color: #0000ff;\">Bug Fixes<\/span><\/h2>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">DragonScript Script Module<\/span><\/h3>\n<ul>\n<li>Fixed ECBehavior using 'null' as default bone name instead of empty string.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">OpenAL Module<br \/>\n<\/span><\/h3>\n<ul>\n<li>Fixed segmentation fault if Microphone moves between Worlds while active.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">OpenGL Module<\/span><\/h3>\n<ul>\n<li>Modified shadow map limit size of rendered environment map to make sky shadows less blocks.<\/li>\n<li>Fixed problems with sky shadow trashing rendering in environment maps.<\/li>\n<li>Fixed lights rendering shadows in environment map of components not matching environment map layer-mask.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Game Definition Editor<\/span><\/h3>\n<ul>\n<li>Fixed regression caused by Debian spelling mistakes fix. Correction causing parts of game definition files to be not loaded.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">World Editor<\/span><\/h3>\n<ul>\n<li>Fixed exception thrown if decals are duplicated<\/li>\n<li>Fixed id-tracking sometimes breaking on changing object class<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">Skin Editor<\/span><\/h3>\n<ul>\n<li>Fixed preview component using empty layer mask setting the correct bit matching igdeWObject render layer mask. Avoids preview component showing up in environment map.<\/li>\n<\/ul>\n<h3 style=\"margin-top: 1em;\"><span style=\"color: #008000;\">IGDE<\/span><\/h3>\n<ul>\n<li>Fixed Path Widget not using Custom File Patterns properly.<\/li>\n<li>Removed deprecated assertion on igdeNativeFoxWindow requiring a parent which is no more required and actually fails on igdeWindowLogger.<\/li>\n<li>Fixed igdeWOSOLight incorrectly showing error skin if no light skin is used.<\/li>\n<li>Modified igdeWOSOComponent to not show error skin if skin is not used. This is allowed if texture replacements are used.<\/li>\n<li>Fixed igdeWOSOEnvMapProbe not using position\/orientation while attaching.<\/li>\n<li>Modified igdeWObject to use 3 separate layer mask bits for all 3 layer masks.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div><\/div><\/div><div id=\"pg-672-2\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-672-2-0\"  class=\"panel-grid-cell\" ><div id=\"panel-672-2-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"3\" ><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>Changelogs Previous Releases<\/h1>\n<ul>\n<li><a href=\"https:\/\/dragondreams.ch\/?page_id=548\">Changelog Release 1.2<\/a><\/li>\n<li><a href=\"https:\/\/dragondreams.ch\/?page_id=438\">Changelog Release 1.1<\/a><\/li>\n<li><a href=\"https:\/\/dragondreams.ch\/?page_id=353\">Changelog Release 1.0<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Changelog of the 1.3 Drag[en]gine Game Engine and IGDE release. Released: 2020-09-13 Drag[en]gine Release 1.3 Features Added DragonScript Script Module Improved BaseActorAction and BaseActorAI with activateWhileLoading(). This avoids problems if actions and AIs are loaded from a save states. Modified ECBehaviorLocomotion.stopMoving() to not reset looking vertically and horizontally. Added an own method for this resetLooking(). [&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":[],"class_list":["post-672","page","type-page","status-publish","hentry","post"],"_links":{"self":[{"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages\/672","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=672"}],"version-history":[{"count":1,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages\/672\/revisions"}],"predecessor-version":[{"id":1816,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/pages\/672\/revisions\/1816"}],"wp:attachment":[{"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/media?parent=672"}],"wp:term":[{"taxonomy":"page-category","embeddable":true,"href":"https:\/\/dragondreams.ch\/index.php\/wp-json\/wp\/v2\/page-category?post=672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}