February 1 2024
vchelaru
released this
01 Feb 14:08
·
1087 commits
to NetStandard
since this release
Biggest Changes
- Spine support!!! You can now add Spine to your projects. Full documentation available here: https://docs.flatredball.com/flatredball/spine
- Added AchxToSpineAtlas project for converting .achx files to .atlas files. This includes contributions made by @profexorgeek
- FlatRedBall Engine .dlls now include a syntax version number property. This will be used to compare the .gluj file version for safer upgrading and better diagnostics.
- Content loading and caching at the engine level is now case insensitive - this greatly simplifies loading files on case-sensitive platforms like Linux, and will make cross-platform projects even easier to maintain.
- IDrawableBatches now have their Update methods called earlier in the frame before Update/Activity so that changes to these objects are available on the frame they occur to custom code. This is useful for Spine animations which can update collision.
- IDamageable now has IsDamageReceivingEnabled and InvulnerabilityTimeAfterDamage ( thanks @treesgobark )
- IDamageArea now has IsDamageDealingEnabled ( thanks @treesgobark )
Everything Else
FRB Editor
- Linking a game to FRB source now works correctly if the game is not on the same directory as the FRB/Gum repository
- The Create New Plugin window now appears where the cursor is located
- Variables on objects which come from files now can have hard defaults if the variable is not inherited from the file. For example, scale values on SpineDrawableBatch.
- Fixed possible crash on right click + drag treenode
- Fixed bug with song Set Volume checkbox not being saved to disk
- Re-added alt+arrow on Files to reorder files. This is needed for Spine file loading order
- Improvements to the Add Event window, including appearing at the right location and displaying source objects when drag+droping
- Fixed the auto-generation of event names in the event window to properly consider tunneled object and selected event name
- Added support for .fxb files (compiled shaders for FNA)
- Fixed error output when drag+dropping a file into global content (made it run through a task)
- Output from build tools is now scanned for "warning" to identify if output that was put in the error stream really should be a warning (fxc)
- Removed slashes next to the search bar which explained the use of f, e, s, o, and v for filtering searches
- Refreshing font cache now shows the command line that is called for better diagnostics
- Refreshing font cache now updates font menbership in the project, increasing the chances of the game project staying up to date to font changes
- The default variable display on an object that comes from Gum now properly performs recursion to find the true value if inheritance is involved
- Adding FRB source to a game now handles existing project references better by attempting to remove them from the .sln first
- Adding or removing favorite projects now updates the project menu in realtime
- FRB Editor now warns you if you have the same plugin installed at the project level and globally - this can help diagnose problems when building new plugins
- Added diagnostics about the mgcb version on a machine, useful if MG 3.8.0 is installed instead of 3.8.1
- Pressing ENTER on polygon window now commits the changes
- Fixed "object stripping" bug related to having 3 levels of inheritance. This effectively solves a bug SetByDerived would get reverted
- Fixed "object stripping" bug where HasPublicProperty was ignored when determining what to strip
- Fixed spacing and newlines on popup about removing instances.
- Fixed possible crash when pressing STOP on song playing in the FRB Editor
- Fixed NAudio codegen bug when an NAudio mp3 is marked as LoadedOnlyWhenReferenced = true
- Fixed selection bug when toggling between Variables on an entity and the Entities folder not refreshing the Variables tab
- Fixed codegen bug when copy/pasting an entity and types were generated as doubles instead of floats
- Fixed codegen bug when generating states for colors tunneled on shapes ( thanks @treesgobark )
- Fixed codegen bug when Gum instances referenced states that have been removed from their source component
Edit Mode
- Fixed bug where objects could be incorrectly grabbed+moved in edit mode
- Added more diagnostics when going into edit mode - outputting the exception if there is one
- FRB Editor can now zoom to 7500% and 10000%
FRB Engine and Code-related
- Added support for .fxb in ContentManager.Load
- ShapeCollectionSave.SetValuesOn now updates shapes immediately, useful for diagnosing debugging problems when using animation shapes
- NAudio songs no longer support values less than 0
- Calling Sprite.PlayAnimationsAsync now forcefully sets this.Animate = true if any animations are passed in
- Changing the slider on the Forms SettingView now sets the the entire AudioManager's MasterSongVolume
New Project Templates and Forms
- Default Forms Slider now has Highlighted and HighlightedFocus states
- Default Forms CheckBox HighlightedFocusedOff now properly has the check invisible
Full Changelog: Jan_14_2024...February_1_2024