Releases: JujuAdams/Chatterbox
2.2.2
2.2.1
2.2.0
- Adds
ChatterboxVariablesResetAll()
CHATTERBOX_DIRECTION_MODE
now defaults to1
(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()
andChatterboxVariablesClearVisitedAll()
<<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 settingCHATTERBOX_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
2.1.0
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
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
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
Two contributions by FaultyFunctions:
- Adds
CHATTERBOX_SINGLETON_WAIT_BEFORE_SHORTCUT
which can be set totrue
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 tofalse
to force all chatterboxes to stop instead of wait before reaching the end of a node or hitting a<<stop>>
instruction
1.1.2
Two contributions by squircledev:
- Adds
chatterbox_get_current()
CHATTERBOX_FUNCTION_ARRAY_ARGUMENTS
can be set tofalse
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:
- Adds
chatterbox_load_from_string()
- Renames
chatterbox_load()
tochatterbox_load_from_file()
- Removed some old unused globals/macros
- Works around HTML5 compatibility issues. Chatterbox should now work properly on HTML5. Please raise an issue if you run into any bugs
1.1.1 Preview
Since 1.0.0:
- Adds
chatterbox_get_current()
- Adds
chatterbox_load_from_string()
- Renames
chatterbox_load()
tochatterbox_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 usingfile_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, ...)
withbuffer_write()
replacement