Version 0.8.9
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.
General:
- 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.
Novelty Editor:
- 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.
NoveltyML Designer:
- Added ability to change editor font.
NoveltyML:
- Added <Label> to Button.
Scripting:
- Added script access to project settings: Settings
- Added script functions: Novel.IsSkipping(), Novel.IsAutoPlaying(), Novel.GetSettings()
- Added Novel.OnInit event
Version 0.8.8
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.
General:
- 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.
Novelty Editor:
- 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.
Novelty Designer:
- Updated to reflect the changes of NoveltyML.
NoveltyML:
- Added Gradient object type.
Scripting:
- Updated Angelscript engine to version 2.19.1
- Added Novel.OnEnter and Novel.OnExit events.
Version 0.8.7
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.
General:
- Pages can now have textures as backgrounds.
- Dialogue actions can now append text to an existing paragraph.
Novelty Editor:
- 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.
NoveltyML:
- Added "background" meta class.
Scripting:
- 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.
Version 0.8.6
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
General:
- 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.
Novelty Editor:
- 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.
NoveltyML:
- <Template> has been renamed to <Prefab> with added support for screens.
Scripting:
- Added OnMouseWheel event.
Version 0.8.5
Bug fixes:
- 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.
General:
- 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.
Novelty Editor:
- Added integrated help to script editor. Position the caret on a keyword and press F1 to look it up.
Scripting:
- 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.
Old syntax:
Object@ o = GetObject("Sumomo");
o.ChangeState("Crying");
New syntax:
Set@ s = GetObject("Sumomo") as Set;
s.ChangeState("Crying");
- Added keywords: as, foreach
- Deprecated global functions: ShowObject, HideObject, CreateObject.
Version 0.8.4
Bug fixes:
- A crash bug which occured when applying a dialogue trait on a non-text object.
General:
- Added ability for Camera actions to act on individual layers rather than the entire scene.
- Added (missing) opacity value to Set color action.
Version 0.8.3
Bug fixes:
- Asset dependency bugs.
- Object selection bug in editor.
- Fullscreen mode works now.
- Rendering bug with color gradient page transitions.
- Various memory leaks.
General:
- 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)
Novelty Editor:
- 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).
NoveltyML Designer:
- Changes to reflect NoveltyML additions and changes.
NoveltyML:
- 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.
Old syntax:
<Image name="My image">
<Frame rect="0,0,100,100"/>
</Image>
New syntax:
<Image name="My image">
<Animation>
<Frame rect="0,0,100,100"/>
</Animation>
</Image>
Scripting:
- Updated to Angelscript version 2.16.3.
- Added debugging functions.
- Fixed a bug where Object.SetEnabled wouldn't do anything.
Version 0.8.2
Bug fixes:
- Inaccurate rendering of nested Native font text objects.
- Animated text appearance glitch.
- Flicker glitch when using a Fade action.
General:
- 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
Novelty Editor:
- 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.
NoveltyML Designer:
- New model editing mode.
- Now respects <![CDATA[]]> tags (XML-convention).
NoveltyML:
- Scripts can now be entered directly between <Script> and </Script>
- Added type attribute for Audio assets.
Scripting:
- Added method: Object.IsMouseOver()
- Added global function: HideCursor(bool)
- New scripted events: OnMouseClick, OnMouseRelease, OnMouseMove, OnMouseEnter, OnMouseLeave, OnKeyDown, OnKeyUp
Version 0.8.1
General:
- Removed graphical glitch that affected large Set and Canvas objects.
- Improved support for older/lesser hardware
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:
- 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:
- 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:
- 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:
-
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:
- 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)