Skip to content

Releases: viniciusgerevini/godot-clyde-dialogue

v5.0.0 (Godot 4)

11 Sep 21:12
13a70d3
Compare
Choose a tag to compare

Breaking changes

Changed external variables to be requested in runtime instead of set beforehand.
This means now there are two new methods to define the callbacks (on_external_variable_fetch, on_external_variable_update) and
the external variable methods set_external_variable and get_external_variable were removed.

Added

  • External variable fetching/updating callbacks
  • Editor player now supports external variables

Thanks

Thanks @ThePat02 for the discussion that led to the external variable proxy implementation.

v5.0.0 (Godot 3)

11 Sep 21:10
1a2dacb
Compare
Choose a tag to compare

Breaking changes

  • ResourceFormatLoader.load contract changed in Godot 3.6. In order to keep up with the latest LTS this will break compatibility with older versions.
  • Changed external variables to be requested in runtime instead of set beforehand.
    This means now there are two new methods to define the callbacks (on_external_variable_fetch, on_external_variable_update) and
    the external variable methods set_external_variable and get_external_variable were removed.

Added

  • External variable fetching/updating callbacks

Changed

  • Changed ResourceFormatLoader.load override to match godot 3.6

Thanks

  • Thanks @Riordan-DC for the headsup about the breaking change way before the release.

v4.0.0 (Godot 4)

14 Feb 15:04
6e1c1c8
Compare
Choose a tag to compare

Breaking changes

  • Dialogues now return an object when ended. This impacts how you determined if the dialogue has ended.
  • Changed identifier for blocks when persisting so changing block order does not impact already saved files. This will impact variations and single use options on all existing save files.
  • Variation standalone shuffle option does simple random and has no guarantee every item will be returned.

Added

  • Assignment initializer operator ?=. It only assigns if variable was not set before.
  • has_block method helper to check if block exists before starting dialogue. (@HexagonNico)
  • Editor main panel. Edit Clyde files directly in Godot.
  • Dialogue player. Execute and debug dialogues directly in Godot.
  • Id generator tool. Add random ids to lines without ids.
  • CSV exporter tool. Generate a translation CSV for the dialogue.
  • Resource loader and saver to simplify file usage.
  • External variable support. You can set variables that are not included in the persistence object.
  • Implemented helpers: Dialogue config, singleton and fixed and floating dialogue bubbles.

Changed

  • Increment assigment now have default values. i.e. If you run set a += 1 when a is not set, it will be set to 1. Before it would break because value was null.
    • As + is also used for strings, this set a += "abc" also works.
  • Return end object ({ "type": "end" }) instead of null on dialogue end.
  • Make variation shuffle option be really random. There is no guarantee all items will be executed.
  • The importer now saves a ClydeDialogueFile resource instead of PackedDataContainer.
  • Improve dialogue examples.
  • load_dialogue does not accept null as block. It's an optional string.

Fixed

  • Use correct fmod for a %= operations.
  • Fixed crash when exiting editor started via command line (@Rubonnek).
  • Changing block order in file does not impact persisted options and variations anymore.

Thanks

  • Thanks to @Rubonnek for finding and fixing the exit crash.
  • Thanks to @ThePat02 for updating the doc comments to be Godot 4's doc comments.
  • Thanks to @HexagonNico for implementing the has_block helper.

v4.0.0 (Godot 3)

14 Feb 15:03
fd04ebc
Compare
Choose a tag to compare

Breaking changes

  • Dialogues now return an object when ended. This impacts how you determined if the dialogue has ended.
  • Changed identifier for blocks when persisting so changing block order does not impact already saved files. This will impact variations and single use options on all existing save files.
  • Variation standalone shuffle option does simple random and has no guarantee every item will be returned.

Added

  • Assignment initializer operator ?=. It only assigns if variable was not set before.
  • Resource loader and saver to simplify file usage.
  • External variable support. You can set variables that are not included in the persistence object.
  • Implemented helpers: Dialogue config, singleton and fixed dialogue bubble.

Changed

  • Increment assigment now have default values. i.e. If you run set a += 1 when a is not set, it will be set to 1. Before it would break because value was null.
    • As + is also used for strings, this set a += "abc" also works.
  • Return end object ({ "type": "end" }) instead of null on dialogue end.
  • Changing block order in file does not impact persisted options and variations anymore.
  • Make variation shuffle option be really random. There is no guarantee all items will be executed.
  • The importer now saves a ClydeDialogueFile resource instead of PackedDataContainer.
  • Improve dialogue examples.

Fixed

  • Use correct fmod for a %= operations.
  • variable interpolation with value "0" was not being printed, as godot interprets it as falsy
  • Changing block order in file does not impact persisted options and variations anymore.

v3.2.1 Godot 4

07 Sep 12:07
64830bb
Compare
Choose a tag to compare

Fixed

  • Added an override to the importer priority as it seems this was breaking the importer in some machines.

Thanks

Thanks to @RogerRandomDev for reporting and fixing this issue.

v3.2.0 Godot 4

19 Mar 20:42
7d70dc5
Compare
Choose a tag to compare

First Godot 4 release.

v3.2.0

25 Aug 12:21
cb47e20
Compare
Choose a tag to compare

Added

  • Implemented support for id suffixes. dialogue line $id&variable_1&variable_2.
  • Id Suffix Lookup Separator project setttings. Project > Project Settings > General > Dialogue > Id Suffix Lookup Separator.

Fixed

  • Remove prop check warning in Output console

v3.1.0

04 Jul 04:11
0416a3e
Compare
Choose a tag to compare

Added

  • Dialogue source folder project setttings. Project > Project Settings > Dialogue > Source Folder.
    When only the file name is provided, the interpreter will look for files in the folder set on dialogue/source_folder.

Fixed

  • Standalone {set a} would pass parser, but break on interpreter. Now, this is equivalent to { set a = true }.
  • Fix inconsistencies with logic blocks in tab indented files.

v3.0.0

20 Jun 13:37
32c8855
Compare
Choose a tag to compare

(2021-11-22)

Breaking Changes

  • Options won´t print first line as before.
  • Brackets ([]) used for display-only options are not supported anymore.
  • To reproduce previous behaviour, options should contain the new display-option symbol (=)

Here is a sample on how to fix your dialogues for this new version:

Old way:

+ This will be displayed
* This will be displayed
> This will be displayed

+ [This won't be displayed]
  some text...
* [This won't be displayed]
  some text...
> [This won't be displayed]
  some text...

New way:

+= This will be displayed
*= This will be displayed
>= This will be displayed

+ This won't be displayed
  some text...
* This won't be displayed
  some text...
> This won't be displayed
  some text...

Changed

  • Changed options default behaviour. (check breaking changes)

Thanks

Thanks to @jcandres and @verillious for suggestions and input.

v2.0.1

20 Jun 13:35
cd806e3
Compare
Choose a tag to compare

(2021-11-04)

Fixed

  • Used Options and Variations were not loaded correctly after loading previously stringified internal memory.

There is a known related issue with variables that will be fixed in the next major version. Variable names should be string,
but currently their type is not validated. If you define a variable with a number as name, you will only be able to recover it
as string. i.e dialogue.set_variable(1, "blah"), after persistence will only be available through dialogue.get_variable("1").

Thanks

Thanks to @jcandres for spotting this issue.