Skip to content

Releases: JujuAdams/Chatterbox

1.1.0 Preview

19 Jan 10:07
Compare
Choose a tag to compare
1.1.0 Preview Pre-release
Pre-release

Since 1.0.0:

  • Adds chatterbox_get_current()
  • 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

1.0.0

29 Dec 13:37
Compare
Choose a tag to compare

Stable version of Chatterbox for v1 of the Yarn spec.

0.5.4

02 Nov 14:24
Compare
Choose a tag to compare

Addresses #27 - chatterbox_goto() can now be given a specific file to go to. Also adds the CHATTERBOX_ERROR_MISSING_FUNCTION macro to control how annoying the missing functions errors are.

YYC Fixes

23 Oct 09:32
Compare
Choose a tag to compare

Fixes chatterbox creation in YYC.

That's all!

Hotswapping

28 Aug 17:56
Compare
Choose a tag to compare

This release implements some extra source file handler functions (issues #4 and #5).

chatterbox_load_from_buffer() allows you to skip reading data from an external file and instead allows you to create source files from simple buffers. chatterbox_unload() will let you remove a source file from memory, and chatterbox_is_loaded() will return if the given source file is in memory.

There is also a change in behaviour for chatterbox_load() - if you try to load a source file using the same name as an existing source file, the old source file will be invalidated. This allows for hotswapping of chatterbox source files which makes iterating on dialogue much easier. Please note that you will need to manually restart any in-progress chatterboxes that are using the hotswapped source file. Hotswapping is also available when using the new chatterbox_load_from_buffer() function.

Additionally, this release also includes changes from the unreleased 0.5.1 version which are mostly bug fixes. However, "internal" variables are now called "yarn" variables to make their behaviour and purpose clearer. Please update your Yarn script accordingly.

New Expressions

22 Aug 21:03
Compare
Choose a tag to compare

This release totally rewrites the expression evaluator which is used for <<if>> and <<set>> actions, amongst other things. This rewrite should lead to faster load times and better reliability when using parentheses in actions. The code is now easier to follow too which will help with maintenance in the future.

Issues addressed:
#9 - The myriad function call syntax found in Yarn is now supported. Why there are three different ways of calling functions when the documentation only specifies one I'll never know, but they should all work
#23 - New expression parser is buffer-based and should be faster than the old one
#24 - Done!

UTF8 Support

14 Aug 20:43
8a8698c
Compare
Choose a tag to compare

The release fixes an in Yarn script decoding where UTF8 characters weren't properly supported. This means every major world language is now supported!

0.4.0

02 Aug 11:46
Compare
Choose a tag to compare

This release addresses a lot of early feedback from Chatterbox devs. Thank you so much for helping to guide development! Let's make this the best narrative tool it can be.

#14 - Removes old error messages
#16 - chatterbox_add_function() can be called on boot in a script body
#17 - Added chatterbox_is_waiting() and chatterbox_continue() to interact with singleton content display and <<wait>> commands. CHATTERBOX_WAIT_OPTION_TEXT has been removed
#18 - Reloading a source file no longer throws an error and instead now creates a debug message instead

Additionally:

  • Adds helper functions for getting chatterbox content and options
  • Local scope is now set when running chatterbox_create() rather than reset by chatterbox_goto() and chatterbox_select()

Refinement

30 Jul 21:19
559a075
Compare
Choose a tag to compare

Fixes numerous small issues discovered by our intrepid testers.

Two new functions have been added: chatterbox_is_stopped() and is_chatterbox(). The former will return if the given chatterbox has hit a <<stop>> instruction (or has ran out of dialogue to display) and the latter will tell you if a given value is actually a chatterbox.

0.3.7 preview 002

28 Jul 19:08
Compare
Choose a tag to compare
0.3.7 preview 002 Pre-release
Pre-release

This is a pre-release preview build.