Breaking Changes
Y Origin
ofBaseline
now uses the baseline of the bottom-most line of parent's text rather than being affected by the parent's height. Any projects using Baseline will not be affected by this since this modifies the behavior so it works as expected when the height of the text doesn't match the number of lines. More info here: https://docs.flatredball.com/gum/readme/gum-elements/general-properties/y-units#pixels-from-baseline
Biggest Changes
- Added gamepad support in MonoGame Gum projects
https://github.com/user-attachments/assets/bde3bbe3-9a6d-4703-be29-81584283468b CTRL + (plus)
andCTRL - (minus)
now zoom the tool in and out (thanks @kaltinril )
- Nullable values now have a checkbox for controlling whether they are null
- Alpha, Red, Green, and Blue values now use sliders
Gum Tool
- Lots of fixes to adding/editing variables:
- Add variable to component/screen now properly sets a default value rather than null
- New variable window now accepts ENTER and ESC for OK and Cancel buttons
- New variables are now sorted in the element's XML file immediately
- All variable operations (add, remove, and rename) produce undo's in the History tab
- Editing a variable no longer says "Add Variable" in the title
- Adding variables are now verified against existing variable names
- Added documentation link to the Help menu item (thanks @kaltinril )
- When creating a new project you are now immediately prompted on where to save it (thanks @kaltinril )
- Fixed invalid recursive warning when changing base type on an instance in a behavior
- Fixed bug where behavior tab wasn't showing properly for screens
- Referencing a URL or invalid file name on a sprite no longer crashes gum
- Drag+dropping a behavior now shows the behavior tab on the Component with the behavior
- Changing the base type on an element now updates visuals immediately
- 🔴shows on the Errors tab if a component has errors
- 🟢shows on the Errors tab if a component has no errors
- Fully generated screens now show up correctly
- Selecting a behavior now shows highlights for states and components owned by that behavior
- Renaming components no longer allows duplicate names
- Added F2 shortcut for renaming screens and components
- Fixed right-click menu in editor not showing up immediately
- Fixed right click menu showing no options when no instances are selected
- Animations play way more smoothly now (improved editor performance)
- Fixed bug where newly-added behaviors which added states and categories didn't immediately show those variables on instances
- Fixed crash when setting Text instance color values outside of 0-255 range
- Tabbing out of file assignment no longer explicitly sets ""
- Changing source file on a sprite no longer refreshes the entire editor tab (performance improvements)
- Editor handles are now hidden when an animation is playing
- Fixed possible crash on startup due to missing Add cursor
- Textures tab now updates immediately when changing a Sprite's source file
- Generated screens now inherit from BindableGue
- Fixed possible crash on file watch
- Only generate runtime associations if using FindByName
- Fixed height relative to children when using auto grid (this also affects runtimes)
- Fixed crash when changing Y on a child which is percentage height when the parent has a height of 0
- Values like Relative to Container and Percentage of container no change "Container" to "Parent" to clarify the real behavior.
- Fixed bug where some items would not get highlighted even though they're visually on top
- Fixed images not being re-loaded due to file watch when first added and they're outside of the gumx location
Gum Runtimes
- GraphicalUiElements (usually Root) which have been removed from managers do not need to be nulled out when being passed as the root to Update calls.
- Small improvements/refactors to Menu and MenuItem
- Added ModuleInitializer to all generated components so association happens even if they are in a separate library
- Added Cursor.TransformationMatrix for supporting render targets
- Added positive and negative infinity checks on GraphicalUiElement's X and Y properties to find invalid values before UpdateLayout is called.
- Fixed text centering bug in TextRuntime
- Holding down the mouse button over a slider now continually changes the value.
- Added InteractiveGue HoverOver. An every-frame event that is raised when the mouse is over the InteractiveGue even if it's not moving.
- Fixed caret position not updating when IsFocused is set to true
Samples
- Added example popup to MonoGameGumFormsSample
- Added gamepad support to MonoGameGumFormsSample
Full Changelog: Release_December_29_2024...Release_January_12_2025