Skip to content

Releases: inkle/ink

Version 0.7.2

05 Jun 10:33
Compare
Choose a tag to compare
  • New constructor for InkList to make it easy to construct a new list from a particular origin at runtime.
  • Compiler checks weaves for weave point (gather/choice) naming collisions.

Version 0.7.1

09 Mar 17:38
Compare
Choose a tag to compare

In rough order of coolness, from "um?" to "yawn":

  • Ability to pass arguments to knots (or functions) from the game.
  • Exposed list functionality to game so that you can work with InkListItem objects that the engine uses internally.
  • Multi-line sequence elements can now contain weaves (with choices) - previously they could only contain simple content.
  • Made != operator work on strings.
  • ink-engine-runtime.csproj converted to a PCL (Portable Class Library) (thanks @iainmerrick!)
  • Unity integration: Auto-generated InkLibrary.asset has been split up into InkLibrary and InkSettings.
  • Fixes for calling ink functions from game code
  • Fix for native functions that take arguments that need to have references resolved
  • Fix for compiler crash when there's an empty thread
  • Fix for thread IDs not being correct, especially for very first created thread - affected save/load of game state.
  • Fix for crash when assigning a list from another list, where neither have origins
  • More miscellaneous compiler fixes

Version 0.7.0 - Lists!

10 Jan 17:53
Compare
Choose a tag to compare

This version brings support for a brand new powerful ink feature - Lists - see the documentation.

Unity users: What should you download?

If you're using Unity, the UnityInkIntegration package is all you need!

Version 0.6.4

20 Dec 16:34
Compare
Choose a tag to compare
  • The ink runtime engine is no longer compiled directly into inklecate (the ink compiler), and is instead a separate DLL. This required some tweaks to the structure of how the Unity plugin is structured slightly, though hopefully shouldn't affect anything noticeably!
  • Big optimisation for when you do a large contentless calculation after a line of content (ending in a newline).
  • Force choices to always come after content - this was possible to get around previously with threads.

Version 0.6.3

28 Oct 14:14
Compare
Choose a tag to compare

Various bug fixes, including several from @Stratege, and one to fix left/right glue matching.

Version 0.6.2

16 Oct 09:35
Compare
Choose a tag to compare

This version fixes the issue with getting tags: #209

Version 0.6.1

11 Oct 14:04
Compare
Choose a tag to compare
  • Ability to divert elsewhere immediately after a tunnel return ->-> like.this. See #199.
  • Optimisation and improvements for how runtime code gets generated, mainly to flatten down containers into their parents, aka "inlining".
  • You can now get the sourcePath from a Choice, which tells you exactly where in the story it was generated.

Unity users: What should you download?

If you're using Unity, the UnityInkIntegration package is all you need!

Version 0.6.0

07 Oct 12:09
Compare
Choose a tag to compare
  • Tags! As described in #122:

    Allows you to include metadata in your story. It can be used statically, so that you can grab data from your story without actually running it, or in the content itself, so that you can add markers on a line-by-line basis. For example, you can include this at the top of your story, and then grab them as a list of strings using the story.globalTags property

# title: My Great Story
# author: Joe

Or on a knot, which you can get using story.TagsForContentAtPath("myKnot"):

== myKnot ==
# tag at the top of the knot
Your usual content

Or on a line by line basis, which you can get after calling story.Continue() using story.currentTags:

A line in my story. # audio: a_line.wav

or:

Joe: This is great! # smiling

or:

A line in my story. #loc:12345 // localisation code for other languages

  • BREAKING CHANGE: ink no longer steps directly into a knot when no other content is defined above it. Although this seemed like useful behaviour, it's extremely confusing if you simply add a variable and then are confused at why your ink no longer works.
  • Allow CONST values to be redefined, so long as they're given the same value. Useful for putting the same value in multiple files to reduce dependencies and make them visible to the writer.
  • Throw an error if you try to set a variable from the game that hasn't been declared in ink.

Version 0.5.1

20 Sep 13:53
Compare
Choose a tag to compare
  • When diverting to specific knots repeatedly from game code, the visit count now gets updated correctly, so long as your knot has fully completed with an -> END. If it hasn't, you can also now call myStory.state.ForceEnd() to mark the flow complete. Thanks for the report @AdamNashGames!
  • A call to -> DONE now ensures that flow actually stops, rather than marking it "safe to exit". (oops!)
  • RANDOM(min, max) and SEED_RANDOM(intSeed) now available! Random's min and max bounds are inclusive, e.g. I rolled a {RANDOM(1,6)}..
  • Warning for using else: rather than - else:.
  • Show error when passing -> myVar as a divert target rather than just myVar. (Slightly confusing)

Unity users: What should you download?

If you're using Unity, the UnityInkIntegration package is all you need!

Version 0.5

08 Sep 14:04
Compare
Choose a tag to compare
  • API to evaluate a function in ink from C#: EvaluateFunction(...).
  • API to check whether an ink function exists from C#: FunctionExists(...)
  • Fix to threads that wasn't cloning temporary variables by simply copying references, causing subtle bugs (thanks @cduquesne)
  • Fix for type coercion (thanks @cduquesne)
  • Fix for float parsing in non-English locales (or at least, those that use a comma natively rather than a dot) - wow, you're on a roll, thanks again @cduquesne!

Unity users: What should you download?

If you're using Unity, the UnityInkIntegration package is all you need!