December 5 2024
vchelaru
released this
05 Dec 23:30
·
201 commits
to master
since this release
Breaking Changes
- Text instances with 0 Pixel (absolute) width and 0 Percent width are now treated as 0 width in tool and runtime.
Gum Tool
Biggest Changes
- Huge improvements to undo
- "Undos" tab is now History tab
- History tab now shows undo history rather than only the number of undos
- Details of each undo displayed on each item
- Undo now creates redo future
- Deleting States can be undone
- Renaming States can be undone
- Deleting categories can be undone
- Renaming categories can be undone
- Deleting variables from categories can be undone
- Changing instance lock can be undone
- Changing instance base type can be undone
- Changing Screen/Component base type can be undone
- Add/Remove behaviors can be undone
- Individual point add/move on Polygon can be undone
- Gum now checks if a folder is empty when creating a new project, preventing unexpected overwriting of files and unintentional mixing of projects
- Added fix for lost graphical device (thanks @kaltinril )
- Renaming categories now updates all variables in the project which reference the changed category
- Exposed font variables now properly show a font dropdown
Everything Else
- Using color picker no longer generates undos every frame when sliding to a new color value
- Using angle picker no longer generates undos every frame when sliding to a new angle
- Improved performance of color picker and angle picker by not refreshing the variable grid on every minor change
- Default Forms content now has a ScrollBar with a TrackInstance instead of ThumbContainer to match the expected instance name
- Fixed BBCode not properly handling newlines
- Reloading a project due to file changed on disk now re-selects the previously selected element
- Fixed crash which can occur if the file watch is relative to the .gumx and if the folder is above the root
- Improved hint text wrapping in the Variables tab (thanks @vicdotexe )
- All types of variable displays can show hint text if the variable has it
- Generated code now includes registration for runtime types
- Code generation now defaults InheritanceLocation to InGeneratedCode
- Fixed overlayed hint text when dislaying unknown types
- Fixed possible crash due to tabs becoming negative in generated code
- Fixed crash when viewing states in generated code
- Fixed items in the tree view being selected on a push, resulting in potentially confusing behavior when dragging into an invalid spot
- Renaming an element immediately sorts the items in the .gumx file, reducing version control churn
- Instances can no longer be added to a Screen or Component when non-default state is selected
- Duplicate state names can no longer be added
- Undo/Redo hotkeys displayed in the hotkey popup (thanks @kaltinril )
- Improved editing variables in multi-select situations
- Polygon points are now generated in codegen
- SHIFT+move of an object on a single axis no longer explicitly sets the snapped axis variable if it was default before.
- Fixed possible codegen crash when renaming Components and Screens
- Right-click edit option no longer available on variables which may cause Gum to be in an invalid state
Gum Runtimes
- Improved error messages when a ScrollBar is missing a TrackInstance
- Added nuget debugging symbols
- Unified code between FlatRedBall Forms and Gum Forms for better maintainability
- Calling ToGraphicalUiElement on a Screen with a runtime type that has Children now adds the items to the Children
- Added GumService (and documented it) to significantly reduce the amount of code needed to get a MonoGame Gum + Forms project up and running
- Added GraphicalUiElement.GetFrameworkElementByName to make it easier to get Forms objects
- GumService automatically registers all runtime types
- ModalRoot and PopupRoot now have explicit names to make debugging easier
- Added Sprite.Blend
- DataUiGrid no longer wipes custom variables when excluding a variable
Samples
Full Changelog: November_17_2024...Release_December_5_2024