Changelog Upcoming Release

Changelog of the upcoming Drag[en]gine Game Engine and IGDE release.

Last Updated: 2021-01-21

Drag[en]gine Release 1.5 (upcoming)

Features Added

DragonScript Script Module

  • Added bone-mapping support to ECBehaviorConversationActor. Allows to use virtual bone names in conversation targets potentially changing during conversations.
  • Changed DefaultListModel to support disabling Auto-Select.
  • Improved ECBehaviorAlignActor to better handle various usage situations with or without look-at playback.
  • Added ClickedActionListener to allow easily adding click-release action to widgets not providing this interaction. This can be used for example on Label to make them clickable.
  • Modified BehaviorElement to tell behaviors if the element is in progress of being added to or removed from a game world.
  • Added DebugLogThinkers to help located potential performance problems if elements or behaviors are thinking although they should not.
  • Added same element classes to InteractiveMainMenu that are added to BaseGameApp.
  • Added ECBehaviorCustomColor and ECBehaviorRenderableCustomColor to provide easy colorize support for player actors using flat and colorized mode for all kinds of easy to complex setups.
  • Added Testing System. Allows testing the Game Engine and Game Projects. New project template now contains a testing profile providing an example test suite running out of the box.
  • Added Drag[en]gine Testing Repository. This project tests the Drag[en]gine Game Engine itself.
  • Added WindowDialog.inputPropose() extending WindowDialog.input() with list model of proposed values. Shows ComboBox instead of TextField.
  • Modified BehaviorElement.forEachInstance(), BehaviorElement.findInstance(), BehaviorElementClass.forEachBehavior() and BehaviorElementClass.findBehavior() to use castable version of block handling. This simplifies common tasks. Adjusted existing behavior classes to use this new version.
  • Added support for widgets to detect hover changes in parent container similar to ButtonWidget designer. Added parameter in Container to mark it as "notify children" if state changes to avoid performance loss.
  • Fixed PanelPlayerChoiceEntry not allowing to show image as it should. Required a breaking change of base class from Label to Panel.
  • Fixed FlowLayout using wrong width causing layout to break if padding is used.
  • Modified BehaviorElement to support persisting behavior data in a backwards/future compatible way.

IGDE

  • Changed load project failure dialog to contain only the error description and added question to use to remove such projets from the recent files list.
  • Added EditDVector widget similar to EditVector.
  • New project generates default ".gitattributes" to add support for GIT LFS to store game and development content.

Conversation Editor

  • Fixed paste snippet dialog to not create empty camera shots if no camera shot name is given. allows to skip adding camera shots altogether.
  • Improved paste snippet dialog to allow setting delays for created camera shot and actor speak actions.
  • Added support to set spoken word scaling to adjust outcome.

World Editor

  • Added support to copy/paste selected/all properties. Valid in all properties panels.
  • Added support to export/import properties to text format (key=value).

OpenGL Modul

  • Improved performance of octree testing during syncing of components against lights if components changed.

Drag[en]gine

  • Added mask support to canvas resource.

Bug Fixes

OpenGL Modul

  • Fixed problem with sky shadow map optimization intended to not render models in shadow map if model and shadow cast area are hidden by camera occlusion map.

DragonScript Script Module

  • Fixed Conversation*Playback missing to apply animation if called multiple times between two calls of update(). This fix avoids animations missing gesture playback for a single frame update if actions are switched.
  • Fixed ConversationPlaybackLookAt.setCustomTarget not working correctly.
  • Fixed Label widget mismatch between text layout calculated by changing text and minimal width calculation if word wrapping is used.

Bullet Module

  • Fixed ColliderComponent.ComponentChanged() not causing component position/orientation/scale to be updated from collider.
  • Fixed animation only components not updating attachments.

Animator Editor

  • Fixed sub animator not loaded using relative path.

Conversation Editor

  • Fixed segfault in missing words search if actor is not present.
  • Fixed camera shot not evaluating targets properly in sub-conversations.
  • Fixed filtered combo box widgets not storing filtered list causing lists to become empty if filter string is entered.

Game Definition Editor

  • Fixed incorrect tag name in saving *.degd files.

World Editor

  • Fixed copy/paste objects using size instead of scale which is more stable.
  • Changed use of EditorVector into EditorDVector where decDVector is used. This fixes strange problems in moving objects causing tons of undo actions to be generated because compiler auto-converted decDVector/decVector in a bad way.

IGDE

  • Fixed attach position/rotation not working correctly for components in WObject.
  • Fixed animator loader class not handling relative sub animator path correctly.
  • Fixed WObject not applying SetScaling to deComponent which is now required to support the various scaling cases.