Bugs and fixes:
- Fixed a rendering bug introduced in 0.8.7 for canvases that uses masks.
- Fixed crash bug when using the Show Menu action.
- Added support for autoplay.
- Implemented volume settings.
- Added object traits: Autoplay indicator, Skip indicator
- Enabled ability to append text with Set text actions.
- Implemented core support for pixel shaders.
- Added ability to remove assets from the library.
- Implemented checksum controls for more reliable save confirmations.
- Included a sample set of pixel shader effects.
- Minor UI changes.
- Added ability to change editor font.
- Added <Label> to Button.
- Added script access to project settings: Settings
- Added script functions: Novel.IsSkipping(), Novel.IsAutoPlaying(), Novel.GetSettings()
- Added Novel.OnInit event
Bugs and fixes:
- Fixed infinite loop during parsing of an incorrectly typed script event.
- Fixed random data being displayed during the first frame of a video.
- Removed support for multisampling. Thise broke the rendering of characters and objects on some computers while never adding much visual fidelity in the first place.
- Fixed crash when running invalid an script.
- Reduced the number of simultaneous videos from 3 to 1. Disabled the channel property.
- Added Change layer visibility action.
- Added Change object visibility action.
- Added ability to localize stand-alone games.
- Added support for 16 bit depth stencil buffer.
- Removed the now obsolete menu item Edit->Make background.
- Implemented previewing for Show menu actions.
- Added ability to comment pages.
- Improved the project settings dialog. You can now customize skipping and default behaviors.
- Updated to reflect the changes of NoveltyML.
- Added Gradient object type.
- Updated Angelscript engine to version 2.19.1
- Added Novel.OnEnter and Novel.OnExit events.
Bugs and fixes:
- Fixed a video memory leak as well as other related rendering bugs.
- Fixed a bug where dollar-sign variables in scripts would get parsed incorrectly.
- Fixed bugs where transitions would render incorrectly more often than not.
- Fixed a bug where a pasted action would not refresh the property inspector.
- Improved the rendering of objects and transitions.
- Pages can now have textures as backgrounds.
- Dialogue actions can now append text to an existing paragraph.
- Added Actors and Backgrounds folders to the Asset library.
- Double-clicking on an audio asset in the library will now play it.
- Added word stepping in the Action mode (Ctrl+arrow keys).
- Various other UI improvements.
- Added Spacebar+Click to pan.
- Added "background" meta class.
- Updated Angelscript engine to version 2.18.2
- The "self" attribute used in scripted events has been renamed to "sender". self will remain a reserved keyword and the script engine will accept it for a few more versions ahead (i.e. your scripts won't break, yet).
- Added Scene method CreateObjectFromNML letting you create objects from raw NoveltyML.
Bugs and fixes:
- Fixed issues with rendering video.
- Made images render more accurately.
- Fixed bug where the stand-alone would crash after exporting with "Compile content into executable" enabled.
- Fixed bug where Novelty could crash after running the Designer.
- Fixed issue where the processor usage would spike when the Novelty window wasn't active.
- Copying and pasting layers now works.
- Copied objects now maintain their correct order.
- Fixed an issue with global layers.
- A page's backgound color is now respected in game state thumbnails
- New text rendering implementation. Text objects can now display both bitmap and native fonts with equal capabilities. The native text object is kept for backwards-compatibility and as an alternative.
- Added ScrollCanvas and Slider object types.
- Added property binding.
- Added Show story log trait for displaying story logs.
- A border's corners are now sized correctly if the border is smaller than the source texture.
- Added ability to rename actors with a Get user input action.
- Deprecated the Show object at action.
- Added support for antialiasing.
- Added a start-up screen for displaying live news & help topics.
- Rewrote the Action window and Action catalogue. Put the latter in a separate window.
- Imported GIF-images now maintains their transparency.
- The object traits menu has been partitioned into categories.
- Removed the need for holding Ctrl to resize certain objects.
- Users must now hold Ctrl to zoom and pan the scene during play (or else it may conflict with scripts).
- Added option to copy external resources (videos) when exporting stand-alones.
- Added "Create object from NoveltyML" to the Create menu.
- <Template> has been renamed to <Prefab> with added support for screens.
- Added OnMouseWheel event.
- Fixed crash bug with interactive menus with conditions.
- Fixed minor bug where the Ctrl-key would occasionally appear to remain pressed.
- Fixed bug where deleting multiple actions would keep the property inspector from showing action properties.
- Greatly improved the Novelty scripting interface.
- Added 'Preceding page' to list of destinations in some actions.
- Change visibility actions now defaults to fading when a scripted transition isn't avaiable.
- Dialogue actions can now display text in multiple text objects with the Show dialogue trait.
- Added option to disable scripts in pages.
- Internal variables are now stored in game saves. Scripts that are running when the game is saved will resume when the game is loaded.
- Added integrated help to script editor. Position the caret on a keyword and press F1 to look it up.
- Updated Angelscript to version 2.17.2
- Some class members have been changed into properties. (See: Members vs. properties)
- Some scripted events can now be written in a global scope.
- Object events OnEnter and OnExit have been changed to OnCreate and OnDestroy.
Consequentially OnEnter and OnExit is no longer being passed an Object handle (self).
- The value argument that was passed to OnShow and OnHide events has been renamed to progress.
- Added a new OnParagraph event for manipulating dialogue paragraphs before they're displayed.
- Types that have been added or modified: array<T>, BlendingMode, Button, Camera, Chapter, Color, Image, Mask, MouseButton, Novel, Object, Page, Scene, SceneLayer, ScreenPage, Set, Text, Vector2, Vector3, Vector4, Video, UID
- Object handles now need to be explicitly cast to the corresponding subclass before accessing type-specific methods.
Object@ o = GetObject("Sumomo");
Set@ s = GetObject("Sumomo") as Set;
- Added keywords: as, foreach
- Deprecated global functions: ShowObject, HideObject, CreateObject.
- A crash bug which occured when applying a dialogue trait on a non-text object.
- Added ability for Camera actions to act on individual layers rather than the entire scene.
- Added (missing) opacity value to Set color action.
- Asset dependency bugs.
- Object selection bug in editor.
- Fullscreen mode works now.
- Rendering bug with color gradient page transitions.
- Various memory leaks.
- Major improvements to the core graphics engine.
- Added "Screens" to novel structure. A Screen is an ad hoc page that can be brought up on top of other pages.
- New object traits: AnimateTextureX, AnimateTextureY, GameStateInfo, GameStateThumbnail.
- New actions: Change object color, Set switch.
- Removed need for an external Config.xml file for stand-alone games.
- Removed need for Visual Studio 2005 redistributable to be installed on the machine.
- Rewrote game state system (load/save games)
- Added Author mode to the Action window.
- Added automatic option for portraits in dialogue actions.
- Added ability to save and restore workspaces.
- Added custom background color for pages.
- Added option to compile content into stand-alone executable (no external nvz-file).
- Changes to reflect NoveltyML additions and changes.
- Added SmartCanvas object type.
- The contents of a Set state is now rendered as a SmartCanvas instead of a Canvas.
You can still get the original rendering by using the "new" CanvasSet object type.
- Added class attribute to <Meta> tag.
- Inline animations in images must now be defined within an <Animation> tag.
<Image name="My image">
<Image name="My image">
- Updated to Angelscript version 2.16.3.
- Added debugging functions.
- Fixed a bug where Object.SetEnabled wouldn't do anything.
- Inaccurate rendering of nested Native font text objects.
- Animated text appearance glitch.
- Flicker glitch when using a Fade action.
- Click and hover sounds for buttons.
- New clickable hotspot objects.
- New camera controls.
- New actions: End novel, Transform object, Resize, Scale, Rotate, Mirror, Flip, Enter actor, Withdraw actor, Rename actor, Seek video, Adjust camera, Reset camera.
- Added portraits
- Improved hardware support
- Undo history is now cleared when playing in editor to avoid crashes.
- New actor feature with cast manager.
- Coordinates for transform actions (Move, Rotate, Scale, etc..) have mouse controls.
- Added ability to change font on bitmap font text objects.
- Various UI improvements.
- Added ability to load/save script files in Script editor.
- Video objects returned to objects folder in Asset library.
- Added character portrait functionality.
- Added inline NoveltyML editor for objects.
- New model editing mode.
- Now respects <![CDATA]> tags (XML-convention).
- Scripts can now be entered directly between <Script> and </Script>
- Added type attribute for Audio assets.
- Added method: Object.IsMouseOver()
- Added global function: HideCursor(bool)
- New scripted events: OnMouseClick, OnMouseRelease, OnMouseMove, OnMouseEnter, OnMouseLeave, OnKeyDown, OnKeyUp
- Removed graphical glitch that affected large Set and Canvas objects.
- Improved support for older/lesser hardware
- 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.
- 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.
- 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.
- 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.
New <Video> object type.
New %-operator for setting relative values.
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.
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.
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.
<Behaviour type="spin" speed="2.0"/>
Object attribute rgb has been renamed to color and now supports string-based colors.
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.
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.
- 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");
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)