Changelog of the 1.1 Drag[en]gine Game Engine and IGDE release.
Released: 2020-05-24
Drag[en]gine Release 1.1
Features Added
OpenGL Graphic Module
- Added support for skin texture properties "outline.color", "outline.color.tint", "outline.thickness", "outline.thickness.screen", "outline.solidity", "outline.emissivity", "outline.emissivity.tint" and "outline.emissivity.intensity".
DragonScript Script Module
- Added ECBehaviorLookedAt which allows elements to track if players looks at them (with listeners).
- Modified ECBehaviorLookAt to operate ECBehaviorLookedAt instance if present on looked at element.
- Added ECBehaviorOutline rendering an outline around an element using an outline skin. Uses dynamic skin to dynamically change color, emissivity intensity and thickness. By default invisible. element class or other behaviors have to show outline when the time is right.
- Added PanelInteractPrompt to show player interact prompts using a ListModel.
- Added ECBehaviorInteractPrompt adding to elements interact prompt information (multiple possible).
- Added ECBehaviorPlayerLookAtInteractPrompt adding to player actor support to hook into ECBehaviorLookAt updating PanelInteractPrompt if look-at element has ECBehaviorInteractPrompt instances.
- Added image/video color transform parameter to DisplayImage/DisplayVideo and DefaultImageDesigner/DefaultVideoDesigner to design them. Applies to image/video canvas in contrary to Widget.setColorTransformation which applies to the entire widget including borders.
IGDE Shared Libraries
- Modified bezier curve xml saving to write less tags for linear and constant interpolation.
- Added support to igdeWObject to set outline parameters.
- Added support for IGDE installed shared game definitions to use "%{DE_SHARE_PATH}" as placeholder token in the base directory parameter. This change allows IGDE to be used in a "pure local directory only" use mode.
IGDE Editor World
- Modified meObject to highlight selected objects using outlining in addition to the existing boundary box.
Bug Fixes
Installer Linux
- Fixed install scripts to test for required binaries inside current search path (PATH environment variable) instead of fixed location.
Drag[en]gine Library
- Fixed deComponent and deHeightTerrainSector not clearing linked-list parameters of decals removed using removeAllDecals. Caused segfaults at random places later on.
OpenGL Graphic Module
- Fixed "constructed skin texture" -> "shape node" -> "shape type" ellipse rendering as rectangle instead of ellipse.
- Fixed pixel alignment problems with "paint canvas" -> "rectangle type" with thickness larger than 1.
- Added missing rendering support for decShapeHull in deDebugDrawerShape.
- Hardened dynamically resolved skin texture parameters to be clamped to sane value ranges. This prevents rendering breaking if user enters for example negative values using dynamic skin renderables or mapped skin parameters.
- Fixed issue #2. Starting OpenGL module failed if glTextureBarrierNV function is not present.
OpenAL Audio Module
- Added extra check to audio thread WaitForFinished() to harden against potential dead-lock situation.
DragonScript Scripting Module
- Fixed Desktop class to not dead-loop if mouse is captured to the desktop while dragging and multiple mouse buttons are pressed.
- Modified Desktop class to allow clicking on window decoration and moving window only using the left mouse button not all mouse buttons.
- Fixed EMPSystem.createEditWidgetBoolean() returning Panel instance which does not implement the required interface.
- Fixed problems with ECBehaviorAvoidCollsion causing walking around obstacles to not work properly.
- Fixed some behaviors with read/write mismatch in persistent state. NOTE: Persistent states from 1.1 are not compatible in 1.0 due to this.
- Added proper persistent state versioning to make 1.1 persisted states properly future compatible.
Bullet Physics Module
- Fixed exception being thrown in debpColliderVolume if shape list has not been yet updated inside the peer.
Drag[en]gine Rig Module
- Fixed writing in *.derig wrong end-tag for hull shape tag creating invalid xml file.
IGDE Shared Libraries
- Fixed igdeSpinTextField not constraining current value range (lower -> upper).
IGDE Animator Editor
- Fixed loading *.deanimator trying to read boolean xml tags as integer value instead of boolean value.
IGDE Game Definition Editor
- Fixed gdeObjectClass having one member not properly initialized in one constructor.
- Fixed renaming snap point not updating tree item. Snap point in tree kept on showing previous name.
IGDE Rig Editor
- Added missing hull shape support.
- Fixed reRig not initializing collider delegate correctly if rig is loaded. Caused rig part visualization to be out of sync while doing physical simulation.
IGDE World Editor
- Fixed attach decal class sometimes causing exception to be thrown when removing
decal from parent object. - Fixed meObject messing up snap point order when object class is changed.
IGDE Skin Editor
- Fixed dynamic skin properties panel incorrectly clamping the lower value boundary to 0.01 instead of 0.