Version 0.8
Bug fixes:
- Fixed dependency bug with animations that uses more than one texture.
- Editors now logs into separate log files.
- Fixed specific scripting bug which would cause a compile error when there was none.
General changes:
- Added support for playing video. (New <Video> object type, actions and script functions).
- Improved user experience when attempting to run Novelty on unsupported hardware.
- Default NoveltyML-extension is now .nml, not .xml.
- Designer and Editor now associates with .nml and .nov-files respectively.
Novelty editor changes:
- Properties in the property window are now organized in collapsable groups.
- New custom combo box controls for some properties for a better user experience.
- Audio-folder in asset library renamed to include Video.
- Now prompts for saving before shutting down.
NoveltyML Designer changes:
- Designer now hides the otherwise mandatory <Resources>-tag.
- The <Requires>-tag is no longer required and has been removed from the language (ironic, I know!)
- Added controls for loading and playing Video (for accurately previews of <Video> objects).
- Added option to auto-preview object based on caret position (enabled by default).
- Added most recently used (MRU) file list to File-menu.
- Enabled windows to be closed.
- Added about box.
NoveltyML language changes:
-
New <Video> object type.
-
New %-operator for setting relative values.
Example:
position="100,50%" (x is 100 (pixels), y is 50% of parent's height)
opacity="50%" (same as to opacity="0.5") -
Removed object attributes: parent-size and parent-position.
Old syntax:
parent-size="100%,100%"
New syntax:
size="100%" (single percentage for n-dimensional values will apply for all dimensions) -
Object pivot point can now be set relatively to object's current dimensions.
pivot="50%,25%" -
Added tile attribute to Image, Canvas, Mask for custom repeating (tiling) of textures.
-
Canvas' canvas-size can now be set to "auto" for automatic sizing.
-
Changes were made to <Mask>-tag to make it more straight-forward to use.
-
Object behaviours is now called Traits and only valid within <Traits>-tag.
Old syntax:
<Behaviour type="spin" speed="2.0"/>
New syntax:
<Trait>
<ConstantRotation speed="2.0"/>
</Trait> -
Object attribute rgb has been renamed to color and now supports string-based colors.
Old syntax:
rgb="1,0,0"
New syntax:
color="1,0,0" or color="Red" or color="#FF0000" -
New <Shape> resource type for defining custom shapes.
-
Asset names are now case insensitive.
-
Removed Sway behaviour. Use AnimateRotation instead.
-
Image rect attribute renamed to clip, accepts 2-dimetional coordinates.
Old syntax:
rect="0,0,150,150"
New syntax:
clip="0,0,150,150" or clip="150,150" -
Image texture attribute can now be set to "null" in case you do not wish to use a texture resource. The object will be blank (white) but can still be shaped, colored, masked, etc.
Scripting changes:
- Upgraded script engine to Angelscript 2.15.1
- Added script funtion: Object.SetColor() (Object.SetRGB and Object.SetRGBA are deprecated)
- Added script funtion: Object.SetEnabled() (only applies to Buttons)
Due to Angelscript language changes, you must now use the is-operator when comparing handles with null.
Object@ obj = GetObject("My object");
Old syntax:
if (obj == null)
From now on, the condition above will always fail. Here is the new correct syntax:
if (obj is null)
or (is not null)
if (obj !is null)