Changelog Release 1.5

Changelog 1.5.1 Drag[en]gine Game Engine and IGDE quick fix release.

Released: 2021-08-09

Drag[en]gine Release 1.5.1

Bug Fixes

Dragengine

  • Hardened linked lists against adding items already in another list.

DragonScript Script Module

  • Fixed missing template file due to GIT refused to commit the file properly.
  • Fixed FormLayout not using left padding properly

OpenGL Module

  • Fixed transparent passes incorrectly filtering holed transparent geometry.
  • Changed shader language compiler to not throw exceptions if SSBO support is missing.
  • Fixed potential problem with component moving immediately from one game world to another with no frame delay.

IGDE

  • Fixed auto-fill of project path in new project dialot not working correctly.

Changelog 1.5 Drag[en]gine Game Engine and IGDE release.

Released: 2021-07-05

Drag[en]gine Release 1.5

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.
  • Modified ECBehaviorFootSteps behavior to avoid repeating same footstep sound if possible.
  • Added WindowSettings and settings sheets for EditBindings and EditModuleParameters.
  • Updated to DragonScript v1.3.

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.
  • Added support to edit Texture Replacements on object class level.

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.
  • Added True Dynamic Global Illumination support working on non-DXR/non-RTX GPUs.
  • Various performance optimizations increasing frame rates by 200-300%.
  • Added Shadow Quality module parameter replacing three old parameters into an easy to use parameter.

OpenAL Modul

  • Added Aurealization Quality module parameter.

Drag[en]gine

  • Added mask support to canvas resource.
  • Added support to Camera resource to enable/disable HDRR and Global Illumination. These are best-effort options meaning the Graphic Module should enable them if possible. For backwards compatiblity
    HDRR is by default enabled and Global Illumination is by default disabled.

Blender Scripts

  • Fixes and improvements to make scripts compatible with Blender 2.93 onward.
  • Added export buttons to the tool box. Allows to quickly export without needing to navigate the menu.

Installer (Linux)

  • Added support for "--help|-h" and "--uninstall" command line switches.

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.
  • Fixed particles not being emitted if casting is switched on/off immediately (for example due to pulsing trigger).

Network Module

  • Fixed problem with public address detection picking up localhost as first address.

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.

Drag[eng]gine

  • Fixed potential segfault in image loading due to faulty mutex guard.
  • Fixed mouse capture not being released under Windows when switching to another application.

GUI Launcher

  • Fixed changing active profile in engine dialog did not save.