Skip to content

Releases: shdwcat/YUI

0.6.4

13 Oct 22:29
Compare
Choose a tag to compare

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 from background or sprite 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 add datafiles/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 macro YUI_ALLOW_UNSAFE_FUNCTION_CALLS to true
    BUT that macro will go away in a future version!

Full Changelog: 0.6.3...0.6.4

0.6.3

26 Aug 00:45
Compare
Choose a tag to compare

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 a mirror property which you can use to mirror/flip an image. Use mirror: x to mirror across the x-axis or mirror: y for the y-axis
  • text: 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:
    text: Include [wave]bold[/] scribble tags easily
    Previously this would have needed to be in quotes:
    text: "Include [wave]bold[/] scribble tags easily"

Full Changelog: 0.6.2...0.6.3

0.6.2

16 Jun 19:02
Compare
Choose a tag to compare

Fixes bugs: #76 #78 #80 #81
Also fixes crash if filesystem sandbox is not disabled

Full Changelog: 0.6.1...0.6.2

0.6.1

17 Mar 20:36
Compare
Choose a tag to compare

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

14 Mar 17:46
Compare
Choose a tag to compare

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:
    image

  • 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

03 Mar 07:00
Compare
Choose a tag to compare
0.5.1 Pre-release
Pre-release

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:
    image

  • 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

18 Dec 01:42
Compare
Choose a tag to compare
0.5.0 Pre-release
Pre-release

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

04 Dec 00:34
d8e1173
Compare
Choose a tag to compare
0.4.0 Pre-release
Pre-release

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 area
  • listbox (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 and center alignments for vertical and horizontal layouts behave as expected in more cases
  • panel/border/button elements now support live binding the background property
  • panel element now supports reverse and count for finer control over which items are shown
  • scrollbox 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

18 Jun 22:34
3353378
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release

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 labels
  • scrollbox automatically applies scrollbars if inner content is too large to display
  • child_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 to scribble: 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

23 Apr 22:48
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release

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 and parameters 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