Changelog of the 1.2 Drag[en]gine Game Engine and IGDE release.
Released: 2020-07-18
Drag[en]gine Release 1.2
Features Added
DragonScript Script Module
- Modified BehaviorElement.enterFrame() to remember if attachToParent has been done already. Avoids re-attach exceptions if elements move between game worlds. Not a problem if stub.setAttachTo(null) is called.
- Added support for Listener Factories. For use in situations where you do not want to write custom behaviors to add reusable small actions to BehaviorElement subclass (example class).
- Added ImagePixels script class allowing to read pixels colors from loaded image resources.
- Added EditableImage script class allowing to create editable in-memory image resources for example for dynamic height terrains or pixel-precise dynamic in-game images not using CanvasView.
- Modified ImageBorderCanvasCreator to support attachments on sides.
- Added PanelHud class providing typical 10-area HUD support (9 areas surrounding center area). BaseGameApp creates now such a PanelHud by default.
- Added ForwardKeyPressListener to handle enter-accept-button situations and improved WindowDialog with support to set accept-widget used if enter key is pressed.
- Added normalize() method to all matrix classes. Removes scaling from matrix ensuring getEulerAngles() and toQuaternion() returns the correct result when scaled matrices are used.
- Added Rig.save(String) method allowing to save rigs build with RigBuilder to file. This allows creating dynamic rigs caching them for reuse during future runs of the game.
OpenGL Graphic Module
- Added rim.* Texture Properties.
FBX Modules
- Added FBX modules to load FBX files as model resource, rig resource and animator resource.
IGDE Project Editor
- Improved button icons and grouping to improve clarity.
- Added actions to browse project content, run-time config and run-time overlay directory as well as quick opening run-time log file.
Launchers + IGDE
- Added Linux Man Pages
IGDE Shared Libraries
- Full separation of ToolKit code. It is now possible to change ToolKit to use OS native ToolKits.
Bug Fixes
OpenAL Audio Module
- Fixed potential segfault in doalSpeaker if no active microphone is set.
DragonScript Script Module
- Fixed ECBehaviorPlayerInputMove not respecting setCanMove(false) correctly.
- Fixed key-repeat-listener being started on widget without focus.
- Fixed RigBuilder replacing addShapeProperty functions with setShapeProperties functions. Former is not possible with the game engine checking property count matches shape count.
OpenGL Graphic Module
- Fixed spot light shadow rendering trying to use non-existing shadow-map due to a wrong check verifying cube-map presence instead of shadow-map presence.
- Fixed problem in SSR shader not marking non-calculatable results 0 causing streaks to appear.
Animator Editor
- Fixed exception/segfault potentially caused by AnimatorInstance.Apply() being called fast enough.
- Fixed problems with loading sub animators and missing connections.
- Fixed attach camera relative position value entered.
- Fixed Rule Target Link List Remove Action incorrectly using ComboBox selection instead of ListBox selection.
World Editor
- Fixed problems with decals vanishing on reloading game-definition. Decals now also properly recalculate if objects move, rotate or scale.
IGDE Shared Libraries / Editors
- Fixed recent files of the current project spilling over to newly created project.
- Fixed igdeTreeList::RemoveItem() behavior to select next possible action in a logical way instead of clearing the selection altogether
Conversation Editor
- Fixed topic action tree handling to solve multiple problems with shifting action selection in responsive to various possible actions