Skip to content

Releases: relaypro-open/YarnRunner-Python

v0.2.5

14 Jun 15:06
Compare
Choose a tag to compare

This release includes @josefalanga's PR #3 for line substitutions. Thanks Jose!

v0.2.4

31 Mar 21:09
Compare
Choose a tag to compare
v0.2.4 Pre-release
Pre-release

Not recommended for use in production.

  • Experimental: the runner now maintains a stack of nodes visited and
    can climb the stack upon request to return to a previously visited node
  • Tests for this new functionality have been added
  • The package now exports YarnProgram and YarnInstruction protobufs

v0.2.3

21 Feb 20:20
Compare
Choose a tag to compare
v0.2.3 Pre-release
Pre-release

Bug fix release: Google's protobuf runtime library was present in requirements.txt but not in setup.cfg, so installs of this package wouldn't correctly install protobuf as a dependency.

Otherwise identical to v0.2.2.

v0.2.2

16 Feb 19:39
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

This is an incremental release containing a few bug fixes and experimental features. Use in production is not recommended.

  • Spaces, special characters, and quoted segments of text are now permitted as arguments to commands
  • It's now possible to jump a JSON representation of the compiled Yarn program by calling a debugging function
  • "Experimental newlines" support has been added, enabling consecutive newlines to be inferred from Yarn source, even though they're trimmed from the string tables generated during the ysc compilation process.

Full Changelog: v0.2.1...v0.2.2

v0.2.1

04 Jan 22:58
Compare
Choose a tag to compare

This version YarnRunner-Python provides basic support for the changes made to Yarn Spinner as part of their 2.0 release. It is by no means feature complete, but should be a good starting point.

The known features currently missing are:

  • Inline expressions (see Yarn docs on "Using Variables in Lines")
  • Line conditions and the IsAvailable flag on options (see Yarn Docs on "Conditional Options")
  • Localisation and Line IDs (see Yarn's Localization docs)
  • An appropriate replacement for the distinction Yarn makes between Functions and Coroutines in Unity (to allow users to register blocking command handlers via this Python runner independent of Unity)
  • Complete implementation of YS2's type system, specifically when performing operations on mismatching types
    • This may be challenging, due to Python being a dynamically typed language

v0.0.2

10 Dec 19:24
Compare
Choose a tag to compare

This version of the library has all Yarn Spinner opcodes implemented, as well as Yarn's internal standard library of functions and operators.

The current missing features are:

v0.0.1

03 Dec 15:03
Compare
Choose a tag to compare
v0.0.1 Pre-release
Pre-release

The first version of this library. Very basic features for story navigation.

Current implemented opcodes:

OpCode Status
JUMP_TO 🚫  Not Implemented
JUMP 🚫  Not Implemented
RUN_LINE ✅  Implemented in runner.__run_line
RUN_COMMAND ✅  Implemented in runner.__run_command
ADD_OPTION ✅  Implemented in runner.__add_option
SHOW_OPTIONS ✅  Implemented in runner.__show_options
PUSH_STRING 🚫  Not Implemented
PUSH_FLOAT 🚫  Not Implemented
PUSH_BOOL 🚫  Not Implemented
PUSH_NULL 🚫  Not Implemented
JUMP_IF_FALSE 🚫  Not Implemented
POP 🚫  Not Implemented
CALL_FUNC 🚫  Not Implemented
PUSH_VARIABLE 🚫  Not Implemented
STORE_VARIABLE 🚫  Not Implemented
STOP ✅  Implemented in runner.stop
RUN_NODE ✅  Implemented in runner.__run_node

Full Changelog: https://github.com/relaypro-open/YarnRunner-Python/commits/v0.0.1