Releases: relaypro-open/YarnRunner-Python
v0.2.5
This release includes @josefalanga's PR #3 for line substitutions. Thanks Jose!
v0.2.4
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
andYarnInstruction
protobufs
v0.2.3
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
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
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
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:
- Inline expressions (see Yarn docs)
- Localisation tags and Format functions (see Yarn syntax reference)
v0.0.1
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