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.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!