Releases: shdwcat/YUI
0.6.4
New Features
YuiScript
-
You can now refer to GM functions/scripts/objects/assets by using
~asset_name
, example:on_click: ~yui_log('button clicked!')
(in the case of scripts/functions you must do this rather than how it was in previous versions, see section below)
This replaces the previous|gm_object
method of referring to game objects (currently still allowed but will generate a warning).
This also works for referring to sprites frombackground
orsprite
properties of YUI elements -- in the future you will need to use this method! -
YUI now logs which functions/scripts/assets you use to
datafiles/logs/yui_asset_use_log.csv
In the future this will help with building a whitelist for what is allowed to be called from .yui files, to avoid tampering
(If you're using a git repo make sure to adddatafiles/logs/
to your .gitignore file!) -
The 'infix call operator'
>>
has been replaced by|>
(though both are currently allowed)
https://github.com/shdwcat/yui-vs-code-support/ extension will be updated in the near future to recognize these changes
Fixes
- Fixed miscellaneous minor crashes
⚠ Breaking(ish) change
- Calling scripts/functions from .yui files must use the new
~
syntax described above
If you really don't want to update your files right now, you can toggle the macroYUI_ALLOW_UNSAFE_FUNCTION_CALLS
totrue
BUT that macro will go away in a future version!
Full Changelog: 0.6.3...0.6.4
0.6.3
Fixes bugs #82 #83 #84 #87 #88
Additional improvements:
image
: Animated sprites will play correctly by default (frame
is now undefined by default instead of 0)image
: now has amirror
property which you can use to mirror/flip an image. Usemirror: x
to mirror across the x-axis ormirror: y
for the y-axistext
: scribble support now includes regions: #90. See the comment there for how to use regions with YUI- .yui strings and binding expressions can now use
[]
without putting the string in quotes
For example you can now do:Previously this would have needed to be in quotes:text: Include [wave]bold[/] scribble tags easily
text: "Include [wave]bold[/] scribble tags easily"
Full Changelog: 0.6.2...0.6.3
0.6.2
0.6.1
This release contains fixes for a number of bugs found by toleressea on the discord!
Full Changelog: 0.6.0...0.6.1
0.6.0
New Features
-
Improved runtime debug support via Inspectron (included with YUI)
Shift+Middle-Click on any YUI element to get a debug overlay with information about the element:
-
Basic Gamepad navigation support when used with the Input library
- Input is not included with YUI, please see the Readme for details on how to enable gamepad support
- Some further improvements to this feature are tracked in the issues list, but if you have a specific need let me know.
Scribble Support Change
- Scribble is now optional
- Scribble is no longer included with YUI.
- YUI is designed to be compatible with Scribble 8.7.0 and future 8.x.x versions, and may be compatible with previous 8.x.x versions.
Other improvements
- Mac support fixed
- Mac doesn't use the same forced lowercase logic that linux does, which was not being accounted for and caused YUI to crash
- Thanks to tom on the GM Kitchen discord for testing!
- Minor polish to the Example Project
- Various bug fixes
Full Changelog: 0.5.0...0.6.0
0.5.1
New Features
-
Improved runtime debug support via Inspectron (included with YUI)
Shift+Middle-Click on any YUI element to get a debug overlay with information about the element:
-
Basic Gamepad navigation support when used with the Input library
- Input is not included with YUI, please see the Readme for details on how to enable gamepad support
- Some further improvements to this feature are tracked in the issues list, but if you have a specific need let me know.
Scribble Support Change
- Scribble is now optional
- Scribble is no longer included with YUI.
- YUI is designed to be compatible with Scribble 8.7.0 and future 8.x.x versions, and may be compatible with previous 8.x.x versions.
Other improvements
- Various bug fixes
- Minor polish to the Example Project
Full Changelog: 0.5.0...0.5.1pre
0.5.0
New Feature
- New animation system! Check the example app to see it in action, and play with the demo
New Widget
expander
widget can expanded (or collapsed) to show/hide nested content
Other Improvements
- Live Reload now works automatically (no more manual configuration)
- and many more
Full Changelog: 0.4.0...0.5.0
0.4.0
What's Changed
Major Bugs Fixed:
- YUI should no longer complain about being unable to find the default theme when downloading the code zip (finally!) (#18 and #29)
New Widgets:
tab_panel
displays a list of tabs with the selected tab's content in the main arealistbox
(experimental!) displays a scrollable list of items with single selection support
General:
- Quick Start - simply place a
yui_document
object in any room to get started with a screen (no more persistent object setup required) - .yui files anywhere - .yui files can go anywhere in your /datafiles folder, they no longer have to be under the included /YUI folder (where default widgets etc live)
- improved error handling for live reload: in some cases the UI will render an error on screen that can be fixed via live reload instead of crashing
- More core events:
on_double_click
on_hover_changed
on_got_focus
on_lost_focus
stretch
andcenter
alignments for vertical and horizontal layouts behave as expected in more casespanel
/border
/button
elements now support live binding the background propertypanel
element now supportsreverse
andcount
for finer control over which items are shownscrollbox
wheel scrolling improvements
YuiScript:
- Can now parse decimal numbers starting with
.
Example Project:
- Layout Example now has additional tabs to demonstrate alignment behavior
- TodoMVC example
- More widgets in Widget Gallery
And many more fixes and improvements
Full Changelog: 0.3.0-b...0.4.0
0.3.0
Note: DO NOT use the source code zip below! It doesn't work currently. Please use the .yymps
file, download code from the code page, or clone the repo. This will be fixed for the next release
New Elements:
text_input
allows text entry with cursor support (left/right/home/end/backspace/delete)viewport
defines a clipped view for inner content, enabling scrolling for content that is larger than the viewport
New Widgets:
slide_toggle
simple on/off switch with customizable labelsscrollbox
automatically applies scrollbars if inner content is too large to displaychild_window
draggable 'fake window' with optional close button (useful for tools like map editors etc.)
General:
- Theme support! Themes can now be defined in
.yui
files like everything else, and can even apply themes to custom widgets- Default theme has been updated to be sleeker and more consistent
- Vertical/Horizontal Layouts now support Flex sizing
- See Layout Example for details
- Large performance boost due to text rendering optimization
text
elements now default toscribble: false
YuiScript:
- Assignment is now supported (
=
operator), e.g@visible = false
Example Project:
- Layout Example now actually displays all the layouts
- (New) Window example demonstrates
child_window
widget
And many more fixes and improvements
Full Changelog: 0.2.0-c...0.3.0-b
0.2.0
This version brings many bug fixes as well as a massive performance boost. The main changes are:
- Streamlined Live Reload configuration, and the example app will now indicate whether Live Reload is correctly configured
- event handlers are now direct YuiScript calls, rather than the old
handler
andparameters
struct - in order to use scribble features in text elements you have to set
scribble: true
on the element in YUI - now includes a number of pre-made widgets like dropdown, menu, slider, switcher, meter_bar etc. Check the Widget Gallery in the example project!
- support for
layout: radial
(see layout section of the example app) - and many other small things!
Full Changelog: 0.1.0...0.2.0-c