Skip to content

Releases: JujuAdams/Chatterbox

2.2.2

09 Jan 14:48
Compare
Choose a tag to compare
  • Fixes // and # halting parsing of a line when used inside an <<action>>
  • Fixes // being recognised as a comment when parsing individual text substrings

2.2.1

04 Jan 16:02
Compare
Choose a tag to compare
  • Fixes token-related crash in <<actions>> when trying to use $variables outside of {expressions}
  • Fixes <<actions>> returning unexpected parameters with string-based $variables when setting CHATTERBOX_DIRECTION_MODE to 2

2.2.0

26 Nov 21:39
Compare
Choose a tag to compare
  • Adds ChatterboxVariablesResetAll()
  • CHATTERBOX_DIRECTION_MODE now defaults to 1 (treating directions as expressions to be evaluated)
  • CHATTERBOX_DIRECTION_FUNCTION is now subject to a validity check on boot to help communicate how to set this feature up
  • Adds ChatterboxVariablesClearVisited() and ChatterboxVariablesClearVisitedAll()
  • <<jump>> can now evaluate expression i.e. <<jump ("smooch_" + $love_interest)>> will jump to the node given by the concatenation of "smooch_" and the value stored in $love_interest
  • <<declare>> commands are now evaluated when a file is loaded rather than requiring any specific node in that file to be visited for variables to be declared. This behaviour can be toggled by setting CHATTERBOX_DECLARE_ON_COMPILE. Note that a source must be loaded for variables to be declared; Chatterbox doesn't know what variables exist in files it has not loaded!

2.1.1

27 Sep 14:41
Compare
Choose a tag to compare
  • Fixes a crash in GetOptionMetadata() method

2.1.0

25 Jul 15:15
Compare
Choose a tag to compare

Welcome to Chatterbox v2

Chatterbox is a GameMaker implementation of the YarnScript language, used in games such as Far From Noise, Knights and Bikes, and Night In The Woods.

YarnScript is designed to be accessible to writers who have little or no programming knowledge. It makes no assumptions about how your game presents dialogue to the player, or about how the player chooses their responses. Chatterbox v2 is a full implementation of the YarnScript 2.0 specification.

YarnScript files can be written by hand, but the best way to start with YarnScript is to use an editor. The suggested editor for Chatterbox is Crochet, and you can find builds of Crochet here. Crochet has a web version if you'd prefer.

2.0.2

21 Mar 16:12
Compare
Choose a tag to compare
2.0.2 Pre-release
Pre-release

Welcome to the Chatterbox v2 Alpha!

Chatterbox is a GameMaker implementation of the YarnScript language, used in games such as Far From Noise, Knights and Bikes, and Night In The Woods.

YarnScript is designed to be accessible to writers who have little or no programming knowledge. It makes no assumptions about how your game presents dialogue to the player, or about how the player chooses their responses. Chatterbox v2 is a full implementation of the YarnScript 2.0 specification.

YarnScript files can be written by hand, but the best way to start with YarnScript is to use an editor. The suggested editor for Chatterbox is Crochet, and you can find builds of Crochet here. Crochet has a web version if you'd prefer.

2.0.3

22 May 12:38
4fe225d
Compare
Choose a tag to compare
2.0.3 Pre-release
Pre-release

Adds ChatterboxSourceGetTags() and ChatterboxGetCurrentMetadata() to retrieve metadata from files and nodes respectively.

N.B. ChatterboxSourceGetTags() returns an array whereas ChatterboxGetCurrentMetadata() returns a struct, as per the YarnScript specification.

1.1.3

29 Jan 11:57
Compare
Choose a tag to compare

Two contributions by FaultyFunctions:

  • Adds CHATTERBOX_SINGLETON_WAIT_BEFORE_SHORTCUT which can be set to true to allow chatterboxes in singleton mode to wait before processing a shortcut
  • Adds optional aliasing argument to chatterbox_load_from_file()

 

The following issues have been addressed:

#34 - Negating a function no longer causes a crash during YarnScript compilation
#36 - Adds CHATTERBOX_SINGLETON_WAIT_BEFORE_OPTION which can be set to true to allow chatterboxes in singleton mode to wait before processing an option

 

Additionally:

  • Fixes a crash when using numbers as the first argument in a YarnScript function call
  • Adds CHATTERBOX_WAIT_BEFORE_STOP which can be set to false to force all chatterboxes to stop instead of wait before reaching the end of a node or hitting a <<stop>> instruction

1.1.2

20 Jan 21:54
e32618b
Compare
Choose a tag to compare

Two contributions by squircledev:

  • Adds chatterbox_get_current()
  • CHATTERBOX_FUNCTION_ARRAY_ARGUMENTS can be set to false to pass function arguments from your Yarn script into GML functions as actual arguments (rather than as an array of arguments)

 

FaultyFunctions has been working on a custom visual editor for Chatterbox, including Scribble formatting autocompletion. Give it a try!

 

Additionally:

1.1.1 Preview

19 Jan 12:56
Compare
Choose a tag to compare
1.1.1 Preview Pre-release
Pre-release

Since 1.0.0:

  • Adds chatterbox_get_current()
  • Adds chatterbox_load_from_string()
  • Renames chatterbox_load() to chatterbox_load_from_file()
  • Removed some old unused globals/macros
  • Works around HTML5 compatibility issues as follows:
    • Adds a default font resource because GM requires this and is too stupid to automatically include the native default if there's no font resource in the project
    • buffer_load() is completely broken so we're using file_text_*() functions to strip out a string from source files then writing the string into the buffer, which is dumb, but this is what we're reduced to
    • Swaps out tabs for spaces in JSON strings because GM's HTML5 JSON parser hates them for some reason but doesn't actually tell us (json_decode() silently fails, json_parse() crashes with a generic error)
    • Replaces broken buffer_poke(..., buffer_string, ...) with buffer_write() replacement