Skip to content

February 21, 2025

Latest
Compare
Choose a tag to compare
@vchelaru vchelaru released this 22 Feb 01:13
· 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
    colorization
  • Added support for multi-line text boxes (Gum Forms)
    MultiLine
  • 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
    09_20_50_19
  • TileShapeCollections are now considered for collision on ICollidable entities
  • Added support for Forms Menu and MenuItem
    07_16 17 46
  • Gum projects with localization now localize properly in FRB

Localization

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