Skip to content

Releases: viniciusgerevini/godot-clyde-dialogue

v5.1.0 (Godot 4)

08 Oct 00:33
Compare
Choose a tag to compare

Added

  • Allow defining speaker to multiple lines at once by indenting them.
    i.e
Vinny:
    Multiple lines can be set with same speaker.
    You just need to indent them after the speaker line.
    Grouping lines also work this way
        by indenting the line further.
  • Support linking files using @link dn divert to blocks in them.

Changed

  • Tags now also accept . and -.
  • Variables now can start with _.

v5.1.0 (Godot 3)

08 Oct 00:32
Compare
Choose a tag to compare

Added

  • Allow defining speaker to multiple lines at once by indenting them.
    i.e
Vinny:
    Multiple lines can be set with same speaker.
    You just need to indent them after the speaker line.
    Grouping lines also work this way
        by indenting the line further.
  • Support linking files using @link and divert to blocks in them.

Changed

  • Tags now also accept . and -.
  • Variables now can start with _.

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.