Skip to content

Releases: relaypro-open/YarnRunner-Python

v0.2.5

Choose a tag to compare

@weaversam8 weaversam8 released this 14 Jun 15:06

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

v0.2.4

v0.2.4 Pre-release
Pre-release

Choose a tag to compare

@weaversam8 weaversam8 released this 31 Mar 21:09

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

v0.2.3 Pre-release
Pre-release

Choose a tag to compare

@weaversam8 weaversam8 released this 21 Feb 20:20

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

v0.2.2 Pre-release
Pre-release

Choose a tag to compare

@weaversam8 weaversam8 released this 16 Feb 19:39

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

Choose a tag to compare

@weaversam8 weaversam8 released this 04 Jan 22:58

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

Choose a tag to compare

@weaversam8 weaversam8 released this 10 Dec 19:24

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

v0.0.1 Pre-release
Pre-release

Choose a tag to compare

@weaversam8 weaversam8 released this 03 Dec 15:03

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