Changelog Release 1.4

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

Released Updated: 2020-11-23

Drag[en]gine Release 1.4

Features Added

Drag[en]gine

  • Added scaling and no-scaling parameter to collider attachments.
  • Added Multiply() to vector classes doing component wise multiplication.
  • Added bit-count parameter to Skin Constructed Texture Property. This allows to create high definition skins using 16 or 32 bit color depth. Uses for this are modifying IES images, emissivity or environment based textures properties.
  • Switch default camera lowest intensity from 10 to 1. Camera do now adjust between intensity range from 1 (living room at night) to 20 (cloudless bright day light) by default instead of a limited range.

DragonScript Script Module

  • Modified TitledTwoColorBorderFactory to support text parameter.
  • Added support to import conversations into conversations. this allows to split conversation files into smaller parts which can be composed and reused.
  • Adjusted collider attach methods to fetch scale from to-be-attached resource to set attachment scale.
  • Added default pack of light materials using IES profiles.
  • Added ECBehaviorStepAside and ECBehaviorClearPath to allow actors to moving other actors in their path out of the way. Useful to avoid actors getting stuck (NPC/NPC or NPC/Player).
  • added support to ECBehaviorLight to add ECBehaviorComponent to ignore while casting shadows. This allows to add ECBehaviorLight to an element class with ECBehaviorComponent without the ECBehaviorComponent casting shadows by the added light.
  • Added convenience method to BaseActorAI and BaseActorAction to check if the action or AI is the active one. this allows for sub classes to cancel processing if a super class can switch AI or action.
  • Added reset adapted intensity method to Camera class. Allows to force graphic module to reset the camera exposure adaption to the perfect adaption right now. Useful when the camera switches location or during cutscenes to switch between day/night time.
  • Added ECBehaviorInteractionSpot and ECBehaviorOccupier. Updated ExampleApp: InteractionSpotExampleClass.ds, BehaviorInteractToggle.ds, PlayerActionInteractToggle.ds

Bullet Physics Module

  • Improved collider attachment handling with scaling.

IES Image Module

  • Added IES Image Module able to load *.ies files (IESNA LM-63 Photometric Data File). This allows using photometric measurement of luminaries to increase realism of light sources with little extra effort. Profiles are loaded as equi-rectangular images for optimal use and storage.

OpenGL Module

  • Improved spot lights to support omni-direction textures.
  • Added omnidir.rotate texture property to rotate omni-direction textures.
  • Added omnidir.rotate.spot texture property to rotate omni-direction textures. For use with IES images on spot lights requiring 90° X-Axis rotation.
  • Replace Reinhard tone map operator with Uchimura operator. Improves image quality due to better shapes tone mapping curve. This is like Filmic Tone-Mapping Curve but without the annoying black-out of existing versions.
  • Improved tone mapping scene key calculation to be more stable. Solves the typical problem of the screen brightening up if looking at dark materials. The adaption works now stable across wide intensity ranges without needing manual tuning of tone mapping parameters while staying  stable in areas of similar lighting intensity.
  • Added support for emissivity.camera.adapted. This allows emissivities to be relative to camera adapted intensity (aka maximum intensity). This solve various problems with emissivity in varying lighting conditions.

Skin Editor

  • Added support to preview light materials.

World Editor

  • Improved browser skin context menu to support setting properties of type path with pattern type skin.

Conversation Editor

  • Changed icon of Actor Command/Condition to be distinguishable in the Action Tree.

IGDE Shared Library

  • Changed object class default scale mode to uniform instead of fixed

Bug Fixes

AI Module

  • Added missing implementation of deNavigator::LineCollide().
  • Added missing implementation of deNavigator::NearestPoint() for Grid Type.
  • Hardened against 0-length vector normalization.
  • Fixed bug in navigation space splitting by blockers producing incorrect split mesh in some edge cases.

DragonScript Script Module

  • Hardened scripting peer against segfault due to peer vanishing too early under exception cleaning up conditions.
  • Fixed widget not forcing parent to layout if document changes.
  • Fixed layout problems with styled text span using image.
  • Fixed styled text converted not copy image on styled text span.
  • Fixed igde game-def light-image property incorrectly using image file pattern instead of skin file pattern.

OpenGL Module

  • Fixed light images not using "color.gamma".
  • Fixed render artifacts with equi-rectangular textures.
  • Fixed sky layer not using color transparency correctly.

Conversation Editor

  • Fixed player-choice and if-else action not properly updating on reordering options/if-cases.
  • Fixed changes to conditions not updating condition widgets.

World Editor

  • Fixed deleting objects undo action not updating attach-to state of non-deleted world objects if the attach-to is any of the deleted objects.
  • Fixed changing properties creating two undo actions of which the first is useless.
  • Fixed resource browser resetting entire list if new world is loaded. Changes now only if game project changes.
  • Fixed resource browser dropping selection if game definition changes, for example while reloading XML Element Classes.