Skip to content

Version 0.8.2

Compare
Choose a tag to compare
@joethephish joethephish released this 16 Aug 06:47
· 330 commits to master since this release

Ink unity integration package coming soon!

  • Added LIST_RANDOM(list): return a random item from a list
  • Added TURNS(): Which turn number are you on? i.e. how many choices have you taken? (starts at zero)
  • Added POW(x, y): Mathematical function to calculate "x to the power of y".
  • Added FLOOR(x): Round down to the nearest whole number, returning a float (or doing nothing if int is passed).
  • Added CEILING(x): Round up to the nearest whole number, returning a float (or doing nothing if int is passed).
  • Added INT(x): Cast float to an int (truncating).
  • Added FLOAT(x): Cast int to float.
  • Repurpose LIST_RANGE(list, min, max) to use a variable list rather than a list definition. To get the previous behaviour, use LIST_RANGE(LIST_ALL(list), min, max). Min and max can either be the int value of list items, or they can be the list items themselves - e.g. LIST_RANGE(cakes, FrenchFondant, ChocolateGateaux) or LIST_RANGE(cakes, 3, 6).
  • {myList:...} now means "if myList contains any items" instead of "if myList contains a non-zero valued item".
  • Better naming collision detection (e.g. between stitch names, checking for reserved words and built in functions)
  • Add string “not contains” operator: “hasnt” and “!?” for checking existence of substrings.
  • Add support for != operator on divert targets.
  • Compiler code tweaks so that it can be included in Unity code (so you can compile ink stories live in your game for user contributed stories etc). Thanks @KumoKairo!
  • Support for pasting a runtime path in the "Go to anything..." box in inky, useful when you have a bug in Unity and only have a runtime path: Play mode in compiler can now take a query of the form DebugPath hello.world.0.1 for looking up runtime paths and returning line numbers from original source files.
  • Fix for major long-standing read count bug, where read counts sometimes weren't correctly incremented when diverting to a gather or choice label if it was already close to the label at the point it diverted.
  • Fix for choices having broken threads when saved/loaded
  • Fix for excessive inline whitespace.
  • Fix for functions being called on tilda logic lines not being appended with a newline when they need one.
  • Fix for RemoveVariableObserver.
  • Fix for a divert target being used as a function parameter incorrectly being seen a normal divert, and therefore being incorrectly ignored as a loose end: e.g. + choice {f(-> g)}
  • Fix for compiler crash when target not found during tunnel onwards (e.g. ->-> onwardPathNotFound)
  • Warn, don’t crash, when there’s a duplicate list item in a list. Error when there's a duplicate item in a list definition.
  • Give sensible error when attempting to pass a knot to a function that takes a variable reference, instead of crashing
  • Clearer error when reporting missing variable - tell us which variable was missing!