Skip to content

July 9 2024

Compare
Choose a tag to compare
@vchelaru vchelaru released this 09 Jul 12:56
· 518 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