Decker 1.48


Decker 1.48 offers bugfixes, scripting enhancements, and a variety of refinements to example modules.

Fixes (Web and Native):

  • checkboxes set to show.none could be clicked.
  • the image.map[] and sound.map[] functions had odd behavior if supplied with an oversized mapping dictionary.
  • issuing "go[]" (including via the Help menu) while in the Prototype script editor could lead to crashes.

Fixes (Web):

  • Avoid pushing onto the browser's navigation history when updating the url hash to reflect card names.

New Features:

  • Lil now supports chained instances of @. This was previously permitted by the language grammar but a parse-time error in practice.
  • Lil now offers the %J format pattern. The lowercase form %j has always offered the ability to parse/format JSON data, but in some situations this was very clumsy: several of Lil's basic datatypes cannot be represented losslessly in JSON. The %J variant offers a strict superset of JSON, Lil Object-Value Encoding (LOVE). In addition to the features of JSON, LOVE permits non-string keys for dictionary values, table values (enclosed in <> and otherwise represented like a JSON dictionary of columns), and Array, Image, and Sound interface values represented as Base64 DataBlocks as produced by the ".encoded" attribute of each. Storing and transmitting Lil values with LOVE avoids a whole host of nasty programming foot-guns and clumsy packing/unpacking.
  • Cards, prototypes, and widgets now offer the ".parent" attribute for obtaining a reference to their container. For example, the parent of a widget within a contraption instance is that contraption, while the parent of the contraption will be the card upon which the contraption appears.
  • The canonical contents of a field widget is an RText table, accessible via the .value attribute. The .text attribute of fields has always offered a convenient way to obtain or modify the textual content of this table. Along similar lines, fields now offer .images (a list of any inline images contained within the RText table) and .data (arbitrary Lil data crammed into a string as LOVE), both of which can be read or written. These features together can considerably simplify common patterns in scripting, especially when building novel contraptions:


Dialogizer v1.4:

  • The .balign and .bborder style settings can now be used to customize the appearance of buttons within a dd.ask[] dialog:


  • dd.getstyle[] can be used to retrieve a copy of the current style settings.
  • dd.chat[] simplifies certain patterns of using dd.say[] and dd.ask[] together:


WigglyKit v1.1:

  • Misc. internal refinement to components to take advantage of new Decker features.
  • New examples demonstrating how to import and/or export animated GIF images.

Puppeteer v1.1:

  • The !flip command can be issued with only a puppet name as a convenience, reversing the previous facing direction of the puppet.
  • The new !talk command can be used to set up simple "talking" animations when puppets are combined with Dialogizer dialogs.
  • The new !shake command offers screen-shake animation for juicier, more action-packed cutscenes (or perhaps just more broken dishes).


New Module:

- The "path" module offers generic grid-based pathfinding algorithms and supplementary utilities:


Files

Decker-1.48-mac.zip 2.4 MB
31 days ago
Decker-1.48-win.zip 2.2 MB
31 days ago
lilt-1.48.zip 444 kB
31 days ago

Get Decker

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.