·
4 commits
to NetStandard
since this release
Note - releases no longer include binaries in the release notes.
Download the latest version here: https://docs.flatredball.com/flatredball
Breaking Changes
- EditorVisuals.DrawPath now requires a starting position. Conceptually this is almost always needed when displaying instance paths in a level in edit mode.
Biggest Changes
- Added Camera-specific post processing
- Added support for multi-line text boxes (Gum Forms)
- FlatRedBall now shares most of its Forms code with Gum - so all improvements in Gum Forms now carry over to FlatRedBall!
- TileShapeCollections now support rectangular collision shapes, including from Tiled
- TileShapeCollections are now considered for collision on ICollidable entities
- Added support for Forms Menu and MenuItem
- Gum projects with localization now localize properly in FRB
Everything Else
FRB Editor
- Fixed a few typos, such as "Filed" -> "Files"
- Added better error messages when attempting to drag+drop a file into FRB Editor and it fails
- Fixed bug where the .csproj wasn't updated immediately after drag+dropping a PNG into an Entity
- Fixed bug where the Open Project Folder shortcut would not always open the current project if a new project was just loaded
- Fixed possible crash when FRB Editor can't find the type for a file
- Fixed message about new generated code file not including .Generated in the name
- Referenced files tab is now correctly styled in dark mode
- Fixed possible crashes when closing a project
- Right-side and middle tab snow have min width so they don't get lost causing confusion (thanks @vicdotexe )
- DLL and .gluj file versions are now compared and mismatch is displayed as an error. This addresses one of the most common codegen bugs.
- Fixed crash on about page when an internet connection is not available
- About window now displays if a game is linked to source
- Fixed popup window text/button overlap when changing base type on an entity
- New project dropdown now indicates the platform, such as MonoGame
- Fixed focus when a tree node is moved (thanks @vicdotexe )
- Fixed bug with zooming + increasing visible Gum area option in display settings
- Removed incorrect error about defined by base + loaded from file since this is a valid setup
- Fixed possible crash when exposing and assigning Gum state variables
- Changing a song file to use NAudio no longer requires restarting FRB Editor on new projects
- Changing a song volume no longer causes performance problems in FRB Editor
- Toast now displays properly in dark mode
- Link engine source now includes details that these are the root folders for the engine repositories
- Added ability to add engine dlls to synced projects through FRB Editor
- Custom Gum variables are now generated
- Gum objects with nullable float values are now generated properly
- Content using content pipeline now properly builds with Kni 4.0 pipeline if 4.0 is installed
- Fixed FRB not recognizing file references for single-pixel texture and localization files
- Gum IDB now reports its load times if ContentLoader's sections recording is enabled
- Gum font generation now attempts to keep all fonts to one PNG
- Layered circles and layered AxisAlignedRectangles now show up correctly
Edit Mode
- Fixed click-through in edit mode when a popup (modal) is open in the FRB Editor such as adding a new entity
- Fixed crash when copying an item with a state value of ""
FRB Engine and Code-related
- State interpolation now properly interpolates between set and unsent values in categories, matching Gum behavior
- Factory.CreateNew() with no arguments now respects the X and Y values set on the entity definition
- CTRL+backspace now properly deletes text in textboxes
- Updated auto test project to new gluj version to test new features
- Generated code for platformer code is now organized entirely in its own region so it can be copied to custom code if desired
- Fixed CSV reader case issue on web builds running on Linux servers (itch.io)
- Added Xbox360ButtonReference.ButtonPosition property
- Added Xbox360GamePad.GetPositionFromButton
- Added Camera.CurrentZoom getter method (thanks @profexorgeek )
- Added Vector3.RotateByDegrees extension method
- Forms slider can now bind to bytes (thanks @profexorgeek )
- Fixed "L-shaped" collision bugs when a polygon is part of the L-shape
- Gum animations can now be awaited if they have been started after the game has been paused
- Added code to handle whether gum variable spaces are present (old projects) or removed (new projects)
- Fixed bug with binding context propagation to children when a child is added to a parent.
- TextRuntime (Gum) no has a TextNoTranslate property for assigning already-translated text
- Added LocalizationManager support for character replacement, which can be used to eliminate "smart quotes"
- Added ContentManager ability to record loading sections to help measure load times
- Fixed possible crash with Alpha properties on containers which could happen if an instance used to be a type like Sprite with its Alpha set but then was converted to a Container
- Fixed async GlobalContent loading code handling files with the - character
New Project Templates
- Updated to Kni 4.0
- Loading screen html for web projects now include FlatRedBall logo
- FNA templates now target .NET 8
- FNA template now references new Aseprite .dll
- MonoGame templates now target .NET 8
Samples
- Updated CheckpointAndEndLevelDemo to .NET 6 (thanks @RychuP )
- Updated LadderDemo to .NET 6 (thanks @RychuP )
- Updated DoorsDemo to .NET 6 (thanks @RychuP )
- Updated MovingPlatforDemo to .NET 6 (thanks @RychuP )
- Updated MultiplayerPlatformerDemo to .NET 6 (thanks @RychuP )
- Updated DialogBoxDemo to .NET 6 (thanks @RychuP )
New Contributors
Full Changelog: November_6_2024...Release_February_21_2025