Changelog Release 1.19

Drag[en]gine Release 1.19

Released: 2023-10-31


  • Added EnableGI and HintGIImportance to deComponent. This allows to prevent individual components affecting GI.
  • Removed deprecated and unused external libraries.
  • Added TexMatrix2.CreateCenterRotation function.


  • modified DebugBehaviorLookAt to format distance as 1mm precision for convenience.
  • Added map value support to LoadSkinAnnotations.
  • Modified LoadSkinAnnotations to support nested list/map values.
  • Added point3 and borderSize type to all places in LoadElementClass.
  • updated to 1.4 version and added String.splitExacty() patch.
  • Added BaseGameApp.createScreenshotCreator() to allow subclasses to replace screenshot creator with extended versions.
  • Added support to set optional settings property to ECBehaviorInteractPrompt. This can be used by custom prompt widgets to modify the display or placement.
  • Added visible-if-empty to prompt display behaviors. This allows to keep prompt widgets visible if there is no prompt.
  • Prevent ECBehaviorTriggered from triggering listeners while loading if trigger expression is true.
  • Fixed ECBehaviorActorCutscene throwing exception on saving after having played a cutscene.
  • Fixed ECBehaviorParameterTable not persisting table.
  • Avoid exception if action has not been activated yet if isActive/isNotActive is called.
  • Added getPartCount() and getPartAt(int) to ECBehaviorActorTransmission for easier use by subclasses.
  • Added getTestBone to ECBehaviorLookAt.
  • Hardened behaviors against stateChanged() called during construction time accessing elements created during init().
  • Added support to ECBehaviorAnimated (via ECCComposeAnimator) to create an animator playing back a move. This way it is not required to create an animator resource just to play back a simple move.
  • Fixed ECBehaviorEvaluate not firing target properly if trigger is true while being added to game world.
  • Added toggle() function to TSNamedTriggerTarget.
  • Modified ECBehaviorActorTransmission to allow sub classes to overwrite the sub title creation process.
  • Hardened WindowGameWorld against camera/microphone being removed from world before dispose.
  • Modified ECBehaviorActorTransmission to hide subtitle if part to display has empty text.
  • Added and RepeatMode.stretchRatio.
  • Modifications on ECBehaviorAvoidCollision to avoid actors clogging up.
  • Modified ECBehaviorAvoidCollision to avoid problems with two actors walking straight into each other and both deciding to back off a bit.
  • Hardened ECbehaviorTouchSensor, ECBehaviorHearSound and ECBehaviorGrabber against collider/speaker loosing their owner before the collider is notified to leave. The behaviors now also track the collider/speaker and store the owner at enter-time to make sure the owner is properly removed when the collider leaves at all times.
  • Modified ignoring special IGDE element class property names.
  • Added ECBehaviorShowElement and HiddenElement.
  • Improved ECBehaviorSkinSwitcher.
  • Added use-orientation support to ElementCameraDirector.
  • Hardened GameWorld requiresThinkChanged against modify-while-use array.
  • Modified LoadWorld to better report object with missing classname.
  • Improved BTContext debug output.
  • Added behavior tree flags behavior.
  • Added path accessors to ECPSkinList.
  • Hardened ECBehaviorTwoStateAnimated reverseActivating() and reverseDeactivating() against unfortunate setup of listener by doing proper state changes instead of the shortcut version.
  • Fixed animation and animation difference rule using the static time value as relative value instead of absolue time value.
  • Modified conversation importing to lock topic groups. This avoids the need for shallow copies for every imported topic group even if it is never changed.
  • Added ECBehaviorActorMoverUnstuck to force actors using ECBehaviorActorMover to recalculate path if they are stuck near walls or in corners due to whatever reason.
  • Added behavior tree conditions to ECBehaviorConversationActor.
  • Added ECBehaviorBehaviorTreeTimer to added timer support to behavior tree rules.
  • Removed caching BTAction and BTCondition in behavior tree rules since this could lead to tricky problems in certain legit use cases. Slower than uncached but always valid.
  • Fixed bug in saving BTContext state.
  • Fixed bug in behavior tree choice and sequence rule.
  • Fixed bugs in behavior tree loading related to relative ids.
  • Added BTRuleRunning.
  • Added setBehaviorTree to BTContext.
  • Fixed bug in DefaultMousePointerFactory not assiging offset parameter correctly.
  • Added CopySTDNodeVisitor.


  • Fixing invalid path not being correctly returned as empty path.


  • Fix for NaN problem in GI shaders due to opengl requiring a memory barrier when rendering materials for ray tracing.
  • Harden shaders against div-by-zero.
  • Fixed seams in relief mapping.
  • Fixed Component.Texture.SetTransform not causing shader parameter blocks to be updated.
  • Fixed problem with GI calculation if sky has 0 light intensity and non-zero ambient intensity.


  • Fixed segfault with warmstarting particle emitter instance after loading save states.
  • Modified behavior on collider leaving world and disposing to force removing from touch sensors instead of queuing up leaving. This avoids tricky problems with game scripts having collider owners die before they get the notification.
  • Modified attachments to apply collider linear velocity as velocity to attached microphone and speaker resources.
  • Fixed touch sensor peer not clearing tracked colliders if touch sensor is disabled.


  • Fixed problem with removed speakers not properly dropping source.

Conversation Editor

  • Added support to attach language pack file to allow adding/editing translation entries while editing conversations.

World Editor

  • Added support to play music to balance volumes.
  • Added support to find (and activate) object by id.
  • Fixed changing object class not updating properties verify.
  • Modified info bubble to hide if mouse leaves widget.
  • Modified info bubble position to flip position near right or top edge.

Game Definition Editor

  • Fixed changing component texture parameters switching active texture.


  • Fix for problems with custom property values violating data type. This helps in situations where calculated values are used for data types not allowing strings.
  • Added support to limit inheritance of sub objects in game definition object classes.
  • Added support to set animation and move in object class property to support animation only animator creation.
  • Fixed wrong property prefix order resolving in object wrapper sub objects.

Blender Scripts

  • Fixed exporting of curves not working for 3d-curves.