This is primarily for personal use. As such it is very specific to my needs, and probably isn't useful for most people. That said, here is some documentation ------- Stream commands (comma indicates new line/item in Textbox.Stream): FONT, [fontIndex] // sets the font. This project has 3 ALIGN, [hAlign], [vAlign] // sets alignments to textbox HALIGN, [hAlign] VALIGN, [vAlign] SCROLL, [scroll] // sets the scroll value for vAlign == 's' BOUNDS, [x1], [y1], [x2], [y2] // sets textbox bounds X, [x1], [x2] // sets X bounds, note x1 < x2 Y, [y1], [y2] // sets Y bounds, note y1 < y2 STYLE, [styleName] // sets style ITERATE, [value] // sets a value, useful for styles that rely on time INSERTION, [amount], [input], ... , [input] // sets the insertion list to the next [amount] of inputs in Textbox.Stream TEXT, [text] // renders [text] to the screen using parameters defined through other commands Inline commands (use these as words or multiple words inside the [text] of TEXT): !style [styleName] !style 0 // resets to the style used when creating the textbox !newLine // creates a new line !insert [index] // gets replaced with the [index] item of the insertion list from INSERTION !space [amount] // creates a "word" comprise of [amount] spaces. Useful because the inline command system likes when there is usually just one space separating words. !concat // removes the space following the preceding word. useful for concatenating an insertion with punctuation. Alignments: Vertical: t // top b // bottom c // center s // scroll, uses value from SCROLL and top alignment Horizontal: l // left r // right c // center j // centers the longest line, left aligns others to it Styles (you can combine styles by concatenating their names) (styles are also pretty easy to make) [white] [yellow] [red] [dia] // standard dialogue style, relies on ITERATE [wave] // wave motion, uses ITERATE [shake] // shaky! [quiet] // halves opacity, only words with [dia] right now ------- Credits: @-Rex- (RGBA stamping) Averia Serif Libre (Font)