July 9 2024
vchelaru
released this
09 Jul 12:56
·
625 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
Biggest Changes
- TMX files (Tiled) which use isometric views can now be properly loaded even if the tiles use different tile heights per layer, and if the tile heights overlap.
- Sprites now have a "Create new .achx file" button if the sprite is part of an entity with no .achx.
- Added (experimental) command for renaming a project
- Lots of improvements to FlatRedBall.Forms ListBox to make gamepad control better:
- Added ListBox.CanListItemsLoseFocus to keep control in a list box for NES-like selection of items
- ListBox now supports ControllerButtonPushed even when the internal list box items are selected.
- ListBox items no longer stay highlighted if the mouse is hovering over them while the gamepad is used to select an item
Everything Else
FRB Editor
- Tile types in TileNodeNetwork window now sort alphabetically
- Tile types in TileNodeNetwork window now refresh whenever the underlying TSX changes
- TileNodeNetwork window now has a scrollbar to support smaller displays
- AnimationEditor preview window now displays message about it being a preview, and provides a button to open AnimationEditor
- Added
global::
prefix to lots of codegen to resolve ambiguity if a user names their project the same name as existing namespaces - Improved pathfinding, reducing the chances of AI getting stuck trying to navigate to the next node
- Added support for optionally shown variables in the variable window for objects
- Project tab buttons are now disabled when no project is selected
- ShapeCollections which come from internal TMX shape collections are now cloned, allowing the changing of reposition directions.
- Fixed broken reposition directions checkbox with TileShapeCollections
- Fixed possible crash double-clicking .cs file when running FRB Editor in Linux with Wine
- Fixed crash when trying to reference animation names from an AnimationChainList which comes from aseprite file
- Fixed top down animations not updating when adding/removing rows in the UI
- Increased OK and Cancel window in the Sprite texture selection window
- Top down animation rows now have borders around them
- Added spinner that blocks the UI when waiting for wizard to show up
- Adding source to a game now shows toast to indicate what is happening instead of just freezing the UI
- Added suppression of errors if dotnet.exe fails on FRB Editor launch
- Added .achx -> Gum AnimationChainList loading support in the editor
- Fixed platformer entity getting stuck in Z-shaped platforms
- Fixed bug where Aseprite types were lost when reloading a project
- Added code to remove ObjectCreationWindow so old projects compile
- Fixed platformer level A missing tile
Edit Mode
- Lots of fixes improving edit mode freezes and slowdowns
- If the game restarts the screen due to a file copy, the game waits for the file copy to finish before performing the restart. This fixes a bug where changes wouldn't apply until 2 restarts.
- Copying of files is now immediate if the game is running, making restarts faster
- Improved error reporting when attempting to take a performance snapshot without the game running
- Improved the spacing and layout of profiling text
- Fixed null animation chains being set to the game as "null", causing the game to crash
FRB Engine and Code-related
- New XML docs throughout engine
- Bumped AsepriteDotNet to version 1.8.1
- Fixed isClockwiseCache not being updated when calling Polygon.InvertPointOrder
- Added code-only Beefball project to the samples repository
- KeyReference.ToString now returns the key that is being returned
- Screens now have a no-arg constructor to simplify code-only projects that use screens
- IWindow.DragOver (used by .Forms) is no longer obsolete. Added docs to explain why it is needed and when it should be used.
- Screen.MoveToState is marked as obsolete with error true since it doesn't do anything and is confusing to users
- Added check if FRB has been initialized when attempting to interact with shapes that require ShapeManager, such as setting Visible = true
- Fixed ShapeCollection.Clone not cloning max radii (thanks @treesgobark )
- Removed more MDX and Silverlight blocks
- Improved error reporting when MVVM binding is using the wrong type
- ScreenManager now keeps track of StartScreen, useful if skipping screens to initialize
- FRB.Forms ScrollViewer.SmallChange and ScrollViewer.LargeChange can now be set
- Added NaN and Infinity checks to I2DInput and PositionedObjects to catch math errors earlier (thanks @treesgobark )
- Marked IInputReceiver.ReceiveInput as obsolete
- ScreenShakeUntil now returns a Task so it can be awaited
New Project Templates and Forms
- Fixed shader xnb file capitalization to make new projects work on Linux.
- Started work on Kni Beefball code project
Full Changelog: May_27_2024...July_9_2024