NVList v2.7

The biggest new feature is the inclusion of a registerSpeaker function that offers an alternative way of changing the currently active speaker:

@function sayWi() return say("William") end
@sayWi()
Hello
World

#Using the new registerSpeaker function
@registerSpeaker("wi", "William")
$wi Hello
$wi World

The text log screen has gotten a visual upgrade (there’s a proper scroll bar now), and it’s now possible to use the mouse wheel to scroll up/down. The save screen now remembers the last-used page and the most recent save is marked with a "new" indicator.

The most significant GUI update is for the image gallery. It now supports image sequences, for example if you have 5 variants of the same CG they can be grouped together. Just put the images together in a sub folder and they’re automatically grouped.

Blur shader with configurable strength

A new tutorial was added demonstrating the blend/wipe/shutter/blur/distort shaders. The blur shader couldn’t be instantiated from Lua before, but from 2.7 onwards it can. Completely new is the distort shader which can be used to create wave/twirl/ripple effects.

It’s now also possible to merge several image files together to create a new texture. This can be useful for creating layered sprites by merging a base sprite, clothing and expression at runtime. Merging sprites is an expensive operation that can take a few hundred milliseconds for larger sprites on slow hardware — having the sprites as pre-merged images usually offers better performance. Sometimes pre-merging is impractical/impossible, that’s where this new ImageFx.composite() function can come in handy.

Changelog:
2012/08/11 — 2.7 (r32)

enhancements:
– The $syntax for inserting variables into text now supports local variables.
– Added a sayLine function that automatically resets the speaker at the end of
  the paragraph.
– Added a registerSpeaker function that registers a stringifier function and
  companion global say_XXX function to change the current speaker. See
  documentation (ch 3.1) and text/basics tutorial for more details. 
– Added a new chunk to the save format, containing a savepoint-like IStorage
  object. This object can contain user-supplied metadata for the save file.
– The most recently saved slot is now marked as ‘new’ on the save/load screen.
– Last used page on the save/load screen is now persisted.
– New DistortGS shader that renders images using a distorted uniform grid.
– BlurGS is now instantiable from within Lua code.
– Added a tutorial demonstrating the use of IGeometryShader/IPixelShader
– Renamed systemVars to sharedGlobals. The old systemVar functions are still
  available for VNs targeting NVList version 2.6 or earlier.
– Added support for using the mouse wheel to scroll the text log.
– Implemented auto cursor scaling based on the default text style’s font size.
– Added ImageFx.crop()/ImageFx.composite() functions to combine sprites at
  runtime. This allows you to use 
– Added support for image sequences (for example, event CG variants) to the
  image gallery, see script/gui/gallery.lua for more information.
    
bugfixes:
– Name tags in NVL mode were accidentally being styled with the current
  speaker’s text style as well. Fixed to only use the name style.
– Fixed unintended brightness decrease when using BlendGS in combination with
  drawables with alpha less than one.
– Build.jar was supposed to update prefs.ini, but instead wrote prefs.ini.txt
– Fixed an off-by-one error for the cropping in the blur function.    
– Auto read mode broke when a line doesn’t fit on the screen and a panic line
  wrap is necessary.
– Image optimizer now pads resized subimages with a scaled version of its
  former neighbor pixels instead of always with transparent pixels, thereby
  maintaining the same edge behavior when rendered with linear interpolation.
– Create project button (and some others) in Build.jar are now disabled at
  times when using them could potentially cause problems.
– Spurious error in build-game.xml:301 when no default video folder exists.
– Under rare circumstances, a repaint would not be issued after resizing,
  leading to image corruption.
– Fixed a bug in BaseImageTween that would replace the imageAlignY with
  imageAlignX if no specific anchor/imageAlignXY set.

→ NVList project page

Leave a comment

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>