Version 0.8.2
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, useLIST_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)orLIST_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.1for 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!