Skip to content

Releases: YarnSpinnerTool/YarnSpinner-Godot

v0.3.0-beta2

06 Jan 23:39
Compare
Choose a tag to compare
v0.3.0-beta2 Pre-release
Pre-release

Welcoming testing of this updated version of the plugin.

⚠ Although no destructive bugs have been discovered in this beta, I highly recommend backing up / committing to version control any existing projects before testing this upgrade.

Let me know any feedback here or in the discord.

Changes

  • All changes from beta 1: https://github.com/YarnSpinnerTool/YarnSpinner-Godot/releases/tag/v0.3.0-beta
  • Eliminate the need to check in DLL files with the plugin in favor of using Nuget, now that the YarnSpinner DLL files function properly with this plugin. You can delete any .dll files under addons/YarnSpinner-Godot that you might have from a previous release
  • Restructure the AsyncOptionItem script (replaces OptionView from v0.2). The node that the AsyncOptionItem script is attached to can now be a Control rather than needing to be a button. The button component that will handle option selection can be a different node if desired. Assign the button in the AsyncOptionItem's inspector.

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.3.0 beta1

15 Dec 02:28
Compare
Choose a tag to compare
v0.3.0 beta1 Pre-release
Pre-release

Welcoming testing of this updated version of the plugin.

⚠ Although no destructive bugs have been discovered in this beta, I highly recommend backing up / committing to version control any existing projects before testing this upgrade.

Let me know any feedback here or in the discord.

Changes

  • Updated YarnSpinner DLLs to support version 3 of the Yarn Language, which supports many new features, similar to the feature set described for the Unity plugin here:
  • [YarnCommand] and [YarnFunction] have been updated to generate a class called YarnSpinnerGodot.Generated.ActionRegistration. This class will register all of your commands and functions without relying on reflection, which was the cause of some performance hiccups when starting a scene with a DialogueRunner in v0.2.* of the plugin
  • To enable new features for an existing .yarnproject, edit the .yarnproject file to change the projectFileVersion to 3.
  • If you keep your .yarnproject at projectFileVersion 2, you will have to re-compile the scripts in your yarn project to work with this version of the plugin.
  • Update views to be async Task based, like the Unity plugin version 3.
  • The existing DialogueViewBase interface is deprecated in favor of AsyncDialogueViewBased. Updated example views are provided.
  • GDScript nodes that have methods that are the snake_case version of methods on AsyncDialogueViewBase can be added directly in YarnProject.dialogueViews
    without requiring GDScriptViewAdapter. Supported methods: on_dialogue_start_async() -> void, on_dialogue_complete_async() -> void, run_line_async(line: Dictionary) -> void, run_options_async(options: Array, on_option_selected: Callable) -> void. You can still use await statements in your GDScript view methods. AddCommandHandlerCallable on DialogueRunner has been re-tested to ensure that commands can still be registered from GDScript. Also, the GDScriptIntegration sample has been updated with these changes.
  • ⚠ Breaking change: LineProviderBehaviour has changed to require different methods and fields. If you have a custom line provider, please see the updated TextLineProvider as an * example of how to implement the updated class. Also notice that you must now set the yarn project on TextLineProvider instances, either via script or in the inspector.
  • ⚠ Breaking change: Use DialogueRunner.VariableStorage, not DialogueRunner.variableStorage, nor DialogueRunner.SetDialogueViews (removed) to get/set the variable storage associated with a DialogueRunner. Previously there were two properties with different case that were both publicly accessible.
  • ⚠ Breaking change: MarkupPalette renamed ColourMarkers to FormatMarkers, supporting new functionality like bold, underline, italics, as a way to demonstrate the updated formatting
  • ⚠ Breaking change: the field DialogueRunner.verboseLogging has been removed.
  • New functionality on YarnProject - optionally generate a C# variable storage class which has getters and setters for each variable declared in your yarn scripts. You can control the class that the generated file inherits from, the namespace it will be in, and the name of the class and file.

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

v0.2.14

02 Nov 15:13
b2ecac8
Compare
Choose a tag to compare

[0.2.14] 2024-11-02

  • GDScript: Add GDScriptViewAdapter, a C# Script which allows you to write custom dialogue views in GDScript. See GDScriptViewAdapter.cs for more details.
  • GDScript: Add new method AddCommandHandlerCallable to DialogueRunner, allowing commands to be registered from GDScript. GDScript command handlers that use asynchronous await functionality are also supported as blocking YarnSpinner commands, similar to using async Task commands in C#.
  • Samples: A new sample has been added called GDScriptIntegration, which demonstrates making a simple custom view in GDScript, and using cross-language scripting to access methods on C# components such as the DialogueRunner and InMemoryVariableStorage
  • Add new method to InMemoryVariableStorage: public Variant GetVariantValue(string variableName). An example of a method that allows you to retrieve YarnSpinner story variables from GDScript.
  • Thanks to @dbaz for taking my old code from the gdscript_integration branch and making sure it compiles with the current version of the plugin

Full Changelog: v0.2.13...v0.2.14

See here for installation.
You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.
If you open the complete repository as a Godot project, you can try a variety of samples demonstrating code and end results of various features of YarnSpinner for Godot.

👩‍🚒 Getting Help

There are several places you can go to get help with Yarn Spinner.

Support Development

  • If you would like to support the development of this plugin, other open source contributions, and video games by the maintainer,
    consider donating at ko-fi.com/decrepitgames.

v0.2.13

15 Sep 19:20
526767b
Compare
Choose a tag to compare

What's Changed

  • Code cleanup by @valkyrienyanko in #69
  • Potential breaking change: DispatchCommandToNode on DialogueRunner has been marked static. Users generally do not need to call this method directly, so it shouldn't affect most or possibly any projects.

Full Changelog: v0.2.12...v0.2.13

See here for installation. You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.

v0.2.12

15 Sep 12:48
b12dac5
Compare
Choose a tag to compare

[0.2.12] 2024-09-15

  • Use file-scoped namespaces in all plugin scripts to reduce indentation, by @valkyrienyanko

See here for installation. You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.

v0.2.11

13 Sep 23:31
2a82989
Compare
Choose a tag to compare

[0.2.11] 2024-09-13

  • Fix an issue where the OptionsListView did not fade in properly and instead suddenly appeared at the end of the fade time. (Fix #62)
  • Effects.Fade now uses a Godot Tween.
  • Grab focus of the first visible option in OptionsListView.cs, rather than the first option which may be hidden due to being unavailable.

See here for installation. You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.

v0.2.10

11 Jul 22:23
c88bb90
Compare
Choose a tag to compare

[0.2.10] 2024-07-11

  • Update System.Text.Json to 8.0.4 based on CVE-2024-30105 GHSA-hh2w-p6rv-4g7w
  • Fix references to RoundedViewStylebox.tres that were in the wrong case in resource files, which could cause an issue on case-sensitive platforms.

v0.2.9

30 Jun 18:02
cb03496
Compare
Choose a tag to compare

[0.2.9] 2024-06-30

  • Set LineView's MouseFilter to 'ignore' to avoid interfering with clicks.
  • Fix an issue where 'use fade effect' would cause the ConvertBBCodeToHTML feature to stop working while the text was fading out.
  • Set the LineView to Visible=False when marking its alpha as 0.

See here for installation. You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.

v0.2.8

24 May 21:30
d0c95d7
Compare
Choose a tag to compare

[0.2.8] 2024-05-24

  • Fix Yarn commands not supporting methods with optional arguments (by @spirifoxy)
  • Update Visual Novel sample to make use of this fix

See here for installation. You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.

v0.2.7

11 May 17:26
d6a2185
Compare
Choose a tag to compare

[0.2.7] 2024-05-11

  • Add an explicit dependency on System.Text.Json v8.0.1 to fix compiler warnings and incompatibility with DotNet SDK versions below 8. The symptom in 0.2.6 was failing to create a .yarnproject file from the editor.

See here for installation. You can clone the repo at this tag, or download the below zip and use the addons/ folder inside it to follow the setup instructions.