Releases: JujuAdams/Chatterbox
1.1.0 Preview
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 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
1.0.0
0.5.4
YYC Fixes
Hotswapping
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
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
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
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 bychatterbox_goto()
andchatterbox_select()
Refinement
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
This is a pre-release preview build.