Releases: vchelaru/Gum
Releases · vchelaru/Gum
Release March 1, 2025 (hotfix)
This hotfix addresses a few bugs from the previous release.
Breaking Changes
No breaking changes
Gum Tool
- X Units and Y Units now display information about not being used by parent if the parent's Width Units or Height Units are Relative to Children
- Fixed (potentially) objects being deleted even if clicking "No"
- Delete window now remains on screen instead of appearing off screen when near the bottom of the display
- Fixed crash when loading a project with missing folders
- Fixed crash when loading screen which includes an instance referencing a missing component
- Fixed name showing up in a multi-line text box
Full Changelog: Release_February_28_2025...Release_March_1_2025
February 28 2025
Breaking Changes
No breaking changes
Biggest Changes
- Added support for Font Spacing Horizontal and Font Spacing Vertical for supporting mipmapped textures at runtime without bleeding into adjacent letters.
- Gum attempts to generate fewer PNGs which fit the font sizes a little better than before, greatly reducing draw calls at runtime and improving load times
- Gum tool can now display an entire project with point or linear filtering
- Runtime types can now be instantiated directly without accessing the Gum project, cutting code amount significantly!
var screen = new StartScreenRuntime();
screen.AddToManagers();
screen.TextInstance.Text = "Meow";
Root = screen;
Gum Tool
- Fixed bug where updating visibility on item with Width Units or Height Units of Ratio would not update the effective width of other siblings using Ratio Width Units or Height Units
- Naming an instance reserved variable names like "Name", "X", or "XUnits" is no longer allowed.
- Fixed NineSlice texture coordinates not showing up correctly in the Texture Coordinates tab when the NineSlice uses the entire texture
- Fixed crash when exposing variables that are states
- Referenced CSV and single pixel texture file names are no longer forced as lower-case, addressing issues when running on Linux.
- New projects now properly set canvas sizes, fixing a bug that previously required restarting Gum after creating a new project
- Manually changing .fnt files in FontCache immediately updates the Editor tab
- Added subtext to Has Events to clarify how it works at runtime
- All Skia standard types no have Has Events
- Fixed dimension text display not layering properly
- Added support for 10% and 5% zoom for viewing really large projects
- Fixed localization dropdown not showing options on exposed variables
- Using statements are automatically generated for all component types, so they don't need to be manually added anymore.
- Instances with spaces now properly generate names_with_underscores
Gum Runtimes
- Added Image control (Forms)
- Added StackPanel control (Forms)
- Fixed bug where binding context wasn't automatically propagated to newly-added children
- Fixed bubbling input device to ButtonBase on click event
- Default Label is now sized according to its children (letters)
- Default ScrollView now expands the inner panel according to the presence of the ListBox
- FrameworkElement class is now fully unified with FRB - both use the same .cs file, making it easier to maintain in the future.
- FrameworkElement.HandleTab can now optionally loop back around after reaching the first or last item
- FrameworkElements can now be passed as the root to GumService Update
- TextBox now has a default size so it isn't invisible
- Lots of work in preparation for MonoGame to support translation (localization through CSV) - not fully there yet.
- Small performance boost reducing number of layout calls when doing a position update
- Added BitmapFont.MakeNumbersMonospaced which can be used at runtime to fix font spacing for numbers automatically
- SkiaGum is now using .NET 8
- SkiaGum projects can now load .gumx files just like MonoGame
- Added SkiaGum Sprite, Circle, and Polygon
- Added more informative error when instantiating ListBox items that are not InteractiveGues
- Newly created screens now use an InvisibleRenderable internally, allowing them to have a non-null Children property.
- Added consistent handling of all
- Significant reduction in runtime allocations in skia environments due to caching of SKPaint and TextBlock
- Added new FNA package
- Added ScrollViewer.VerticalScrollBarValue setter
- Added ScrollViewer.ScrollChanged
- Fixed a variety of bugs related to default forms, including problems preventing MenuItem customization
- Default ListBoxItem is now a little smaller vertically
- Fixed game instance not passed to keyboard
Samples
- Added FrbClicker game (like CookieClicker) to the game sample project
- New sample showing how to use gum in Silk.NET
- Added sample showing how to load project from .zip file
Full Changelog: Release_February_11_2025...Release_February_28_2025
February 11 2025
Breaking Changes
- GumService.Initialize's first parameter is now a Game rather than GraphicsDevice. This is marked as obsolete so it will continue to compile for some time, but projects should switch to passing Game to support the new TextBox functionality for accent characters.
Biggest Changes
- Added support for Container
Is Render Target
for controlling the transparency of all contained objects
- Added SubtractAlpha, ReplaceAlpha, and MaxAlpha Blends
- MonoGame TextRuntime's Text property now properly parses BBCode
- Added support for TextBox to use variable keyboard layouts and ALT+key combination for accent characters
- Added Skia shape blends
Gum Tool
- Fixed possible crash drag+dropping tree node onto component
- Fixed issues with spaces in variable references
- New project menu item now clears out all empty folders from tree view
- Runtimes now generate their Form properties and are no longer overwritten by the DefaultFromFile controls.
- Fixed crash when trying to export code without first selecting a code root folder.
- Fixed bug where code could not be exported to the same folder as the .gumx file
- Fixed rendering error with Additive Blend
- Added Size to Children button
- Fixed possible crash on load due to tree view attempting to restore selection
- Fixed inaccurate subtract alpha
Gum Runtimes
- ListBoxItem and Label now register the DefaultFromFile class type to match behavior with other types.
- Implemented Button.KeyDown event
- Button click gamepad button can now be changed from A to any other button
- Username is now hashed in the events file for privacy reasons
- Gum no longer uses a DepthStencilState of DepthRead, fixing rendering in some games which do not clear their back buffer.
- Adding duplicate gamepads now causes a crash
- Marked GetPosition and SetPosition as obsolete due to confusing unit types
- Removing a GrahpicalUiElement (or Forms control) from managers now properly unsets InteractiveGue.CurrentInputReceiver (un-focuses the item)
- Button clicks with gamepad control now send information about which gamepad performed the click.
Samples
- new GameUiSamples project which has a variety of game samples. More will be added in the future.
- MonoGamegumFromFile project now has BBCode sample
- Samples have been updated to use the new Initialize method which takes a Game instance.
Full Changelog: Release_February_2_2025...Release_February_10_2025
February 2, 2025
Breaking Changes
- Gum variables are no longer stored in XML files with spaces. Gum now removes spaces on project load and saves the project without spaces. This is done to make variable references easier to work with. More information here: https://docs.flatredball.com/gum/gum-tool/breaking-changes/removal-of-variable-spaces
- ListBox, ItemsControl, an ListBoxItem Click is now an actual click (release) rather than a push. Added Push events to handle actual pushes.
Biggest Changes
- Gum has a new logo! (thanks @profexorgeek )
- Redo of the entire variable reference system including
- Support for custom variables
- Commenting out of invalid lines
- Constant value assignment like
Text = "Hello"
- Math operations like
X = 3 * Height
- Support for parentheses
- Support for assigning strings that were previously not allowed such as strings with equal signs
- Automatic casting of numeric types like int, float, and double
- Automatic expansion of unqualified instance variables to solve ambiguity
- Completely redone documentation at https://docs.flatredball.com/gum/gum-tool/gum-elements/general-properties/variable-references
- Exposed variables now show their exposed as name
Gum Tool
- New Gum projects include Forms controls for Menu and MenuItem
- Fixed typo when adding new forms projects
- Double-click in Texture Coordinates tab now refreshes Variables tab with new coordinates
- All unit types that said "Container" now say "Parent" to more accurately indicate what they do
- Ratio width now only considers visible children, and updates in real-time when visibility is updated
- Invisible children in auto grids no longer occupy cells
- Fixed gradient type enums not getting corrected on gum project load resulting in incorrect generated code (FlatRedBall only currently).
- Releasing a slider now updates the green background textbox setting it to white to indicate a value was set
- Selecting multiple components and pressing Delete now deletes all components
- Angle selector now updates angle even if user drags the mouse off of the circle
- Fixed bug with angle selector not allowing selection of previous angle when holding shift key
- Fixed button row UI not displaying subtext (such as variable references)
- Custom variables can no longer be changed if it is in a variable reference
- Added informative text about why variable types cannot be changed
- Added detail about changes on a variable rename
- Renaming an exposed or custom variable updates references to that variable
- Variable references immediately update the status of
- Improved performance on variable assignments by limiting saving to disk
- If a variable is referenced it an no longer be edited (X,Y, Width, Height) in the Editor tab
- Variables can no longer be deleted if they are referenced in Variable References.
- Un-Exposing variables no longer allowed if variable is referenced
- Really large positive or negative numbers now parse properly for integer variables
- Added edit support for variables in behaviors
- Added delete support for variables in behaviors
- Variables in behaviors that are missing from components are now marked as errors
- Variables no longer show a default value for behavior variables
- Adding or removing variables updates generated code window immediately
- Right-click edit and delete variable options now display [VariableName] to help avoid errors
- Expose/un-expose variables now appear in undo history
- More popup windows now show titles (thanks @kaltinril )
- More names have [Brackets] around them to help indicate what is being changed/edited/deleted
- Fixed error renaming components in folders
- Moving/renaming components now immediately updates the Name variable
- Fixed possible crash when a root value somehow gets set to null, such as file corruption
- Rename element with F2 now no longer allows changing the folder, and shows the folder prefix as a label
- Sider and Angle UI now disable when values are assigned through references
- Unchecking "Is Null" in a nullable value now explicitly sets the value
- Removed right-click option to Make Default on Name property
- Removed right-click option to Make Default on variables that are assigned by references
- Removed right-click option for copying variable name on Name since it shouldn't be used in variable references anyway
- Deleting a component and saying "No" no longer shows error message if delete happens again
- Deleting a component and saying "No" now re-selects the treeview
- Added Y and N key shortcuts.
- Creating new folder now shows real-time errors
- Creating a folder now warns about spaces in folder names
- Various layout issue fixes when resizing Gum UI (thanks @kaltinril )
- Generated code now prefixes the @ character to address file reference errors
Gum Runtimes
- Gamepad initializes in the Gum initialize call, detecting whether it is connected
- Fixed ComboBox popup ListBox appearing on the wrong layer if the ComboBox is layered
- Added support for "../" in filenames when loading .gumx projects
- Added GraphicalUiElement.AbsoluteRight and Absolute Bottom to match existing AbsoluteLeft and AbsoluteTop
- TextBox PreviewTextInput now is raised on CTRL+V paste
- TextBox CTRL+A now selects everything
- Setting ListBox.Items is now much faster - hundreds of times faster on large lists
- ListBox, ComboBox, and Menu now respect their contained items set in Gum
- Added MenuItem.MenuItems ReadOnlyCollection to match ListBox
Samples
- Updated MonoGameGumInCode to use latest style of Init/Update/Draw calls
- Gum Forms from file project now loads Menu from Gum project
Full Changelog: Release_January_12_2025...Release_February_2_2025
January 12, 2025
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
December 29 2024
Breaking Changes
- No breaking changes 🥳
Biggest Changes
- ❗Fixed critical bug where undo's in a component which had behaviors would wipe the behaviors
- Full MVVM support for Gum runtimes and Forms
- Lots of tabs and variables are hidden by default to get rid of some visual noise
- Text Overflow Horizontal Variable now only shows if Text Overflow Vertical is set to Truncate.
- Code tab no longer shows when selecting a Standard Element since they cannot have generated code or if nothing is selected
- Texture coordinate selection window only displays for Sprites and NineSlices
- File Watch tab is now hidden by default
- Screens no longer show their base type when there is only 1 screen in the entire project
- Behavior tab no longer shows when an instance is selected - only when a component is selected
- Removed the Single State/ Combined State radio buttons in the States tab
- Removed the old States tab
- Right-click in States no longer shows an empty context menu if there are no options
- Polygons now support rotation
Gum Tool
- Fixed right-click options not showing up on some variables in parts of the UI (thanks @kaltinril )
- File watching now works much better when switching projects (thanks @kaltinril )
- Fixed default file path not updating when loading a new project, fixing the Open Folder button for source files going to the wrong directory
- Deleting a category no longer shows options for that category on right-click options
- Fixed bug where the default image for NineSlice wasn't getting saved when making a new project
- Fixed point updating bug where changes to points would apply to the standard Polygon
- File watching output is now case sensitive rather than always lower case
- Saving a PNG in the default Paint program now triggers a file watch in Gum so the PNG can be re-loaded
- Polygon outline now outlines the entire polygon instead of starting at the Polygon's origin
- Copy/paste of components now pastes into the selected folder instead of the same folder as the original
- Removed right-click option for exposing polygon points since that wasn't supported anyway
- Removed option for DimensionsBased Texture Address Mode for NineSlice since it makes no sense conceptually and didn't work correctly.
- Fixed typo on drag+drop screens into behaviors (thanks @kaltinril )
- Middle-click now closes File Watch tab (thanks @kaltinril )
- Fixed typo in deleting states that are required by a behavior (thanks @kaltinril )
- All popup windows now have titles (thanks @kaltinril )
- Deleting a behavior now removes it from any components which use the behavior
- Drag+drop instance on another instance which is already its parent no longer creates additional undo's
- Fixed crash on drag+drop an instance on another instance with nothing selected
- Drag+drop a behavior onto a component now creates undo's for the new behavior, new States, and new Categories.
- Behavior Default Implementation now only shows components which use the behavior instead of all behaviors
- Deleting a behavior no longer shows states/categories for the behavior in the tree view
Gum Runtimes
- MenuItem can now contain non-MenuItem children like separators, buttons, and any other FrameworkElement
- Removed unused StateSaveCategory.IsSetRecursively
Samples
- Updated Forms and from file samples to include MVVM
- GumFormsSampleGame now creates a runtime similar to as if it were using generated code.
Full Changelog: Release_December_23_2024...Release_December_29_2024
December 23 2024
Breaking Changes
- No breaking changes 🥳
Gum Tool
Biggest Changes
- Improvements to the State tab
- Component name is now displayed in the new States tab
- Categories are displayed with folder icons
- States cannot be moved when required in behaviors
- Removing or renaming states needed by behaviors gives more informative popup
- Fixed a number of cases where the right-click didn't stay in sync with the selected items
- Improved Polygon editing
- Moving, adding, and removing points now updates the point list
- Point list can now add and delete points
- Add point icon only shows over segment when within 15 pixels
- Polygon overlay icons and points now scale according to zoom
- Improved support for instances in behaviors
- Instances can be renamed
- Instance types can be changed
- Instances can be deleted
- Instances from behaviors can be dropped into components to create new instances
- Exposed variables can now be renamed
- Missing runtime files are now generated recursively making it easier to add codegen to projects. Gum asks if you would like to generate missing files.
Everything else
- Right-click options now show on label of toggle buttons (such as Width Units)
- Right-click options now show on angle selector in text box
- Removed code generation of standard elements
- Fixed a number of crashes in code generation
- Fixed back slash handling on instances in screens, behavior names, and instances in behaviors
- Hotkey menu can now be hidden with middle click, and the menu items toggle to display hide/show (thanks @kaltinril )
- Fixed state selection on undo
- Added ability to duplicate behavior categories and to move states to different behavior categories
- Adding a category to a behavior now saves the behavior
- Added check for whether project has already been saved before adding Skia components, preventing a dozen unnecessary popups
- State animation tab can be hidden with middle click, and menu item toggles properly ( thanks @kaltinril )
- Categorized states now show in the States and Visibility section
- Category/state name is now displayed in brackets when right-clicking on state tree view (thanks @kaltinril )
- Pressing X when asked if files should be copied or to overwrite existing files on copy now cancels the state assignment
- Right-click on standards folder now has a View in Explorer option
- Removed menu item for adding forms if forms have already been added
- Behaviors can now be drag+dropped onto components to add the behavior
- Removed unused Guide variable
- Fixed left alignment of Source File for sprites (thanks @kaltinril )
- Moved Source File for Sprites to the Source section (thanks @kaltinril )
- Removed Default state displayed in variable grid when the default state is selected in the state tree view
- Removed View Code menu item
- Removed ability to drag+drop instances into standard elements
- Improved folder renaming support - it succeeds more often now, and if it fails a more informative error is displayed.
- Fixed folder deleting when in a onedrive folder (thanks @kaltinril )
- Added go to definition support for instances in behaviors
- Dropping a Screen onto a Behavior now shows a more informative error
- Option to Wrap is now hidden when showing Entire Texture
- Texture Scale Width and Texture Scale Height now default to 1, making Sprites behave more predictably when changing to DimensionsBased Texture Address Mode
- Double-click to move texture coordinates in Texture Coordinate tab now records undo
- Fixed rendering error when sprite textures wrap beyond first row and column
- Texture Width Scale and Texture Height Scale now include informative description
- Animations now play more smoothly (fixed performance issues)
- Fixed texture coordinate window showing previous value instead of new value when changing texture coordinate values in the variable grid
Gum Runtimes
- Added CircleRuntime
- Added PolygonRuntime Alpha, Red, Green, and Blue
- Added RectangleRuntime alpha, Red, Green, and Blue
- Added a no-argument GraphicalUiElement.AddToManagers
- Added new Menu and MenuItems Forms controls
- Fixed runtime crash happening only on itch.io with not handling ordinal case comparison
- Fixed ListBox not raising its SelectionChanged events
- HasEvents and ExposeChildrenEvents is now carried over from gum to code
- Added support for the Move command in GraphicalUiElement Children. Calling Children.Move now updates layout
Samples
- Simplified custom list box screen
- Added SimpleListBoxItemRuntime as example for customizing list boxes
Full Changelog: Release_December_5_2024...Release_December_23_2024
December 5 2024
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
November_17_2024
Gum Tool
- Added new plugin for adding Forms controls to empty projects
- Fixed codegen to no longer include contained type
- Fixed possible crash assigning variables
- Fixed mixed line endings on generated code
- HasEvents is now generated properly for MonoGame projects
- All objects now use forward slashes, and this fixes broken projects which might have back slashes
- Setting animation changes now immediately updates Sprite size
- Percent of other dimensions now show % in the icon
- Removed unnecessary Inverted Pixels from Center Y Unit in Gum tool
- All texts now have outlines
- Added margins to alignment tab
- Improved display of text to use top layer (not be hidden behind items)
- Variables displayed with combo boxes can now show their details text
- Added right-click removal support for guides - thanks (@kaltinril )
- MaxLettersToShow now explains
<NULL>
values - Significant improvement in searching - finding variables now works properly
- Search results now show icons for behaviors and variables
- New key combination window shows all Gum key combinations
- FormsUtilities can now update multiple root objects, useful for objects spread across multiple layers
- Auto Grid Horizontal and Auto Grid Vertical can now be used with Relative to Children Width and Height Units which will properly resize the parent
- Screens now generate inheriting from GraphicalUiElement instead of container
- Added support for changing line and text color through settings
Gum Runtimes
- Default values on TextRuntime now more closely match default Gum project
- Fixed font loading errors on Android
- Added matrix to GumBatch.Begin
- Added support for performing Forms logic with null rootGue parameter
- Initial support for GraphicalUiElement.Clone
- Added support for Cursor PrimaryDoublePush
- Added support for TextBox multiline
Samples
-no changes-
Full Changelog: November_3_2024...November_17_2024
November 3, 2024
Gum Tool
- Fully generated code now creates 2-arg constructors.
- Fixed renaming some objects causing a crash due to variable references
- Fixed compile error in generated code setting Contained type