Skip to content

Commit be47e39

Browse files
committed
Bump version to 5.1.0 with new features, bug fixes, and dependency updates.
1 parent 4510d4b commit be47e39

1 file changed

Lines changed: 37 additions & 16 deletions

File tree

ShapeEngine/ShapeEngine.csproj

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,69 +10,90 @@
1010
<Title>Shape Engine</Title>
1111
<Authors>Dave Green</Authors>
1212
<RepositoryUrl>https://github.com/DaveGreen-Games/ShapeEngine</RepositoryUrl>
13-
<Version>5.0.0</Version>
13+
<Version>5.1.0</Version>
1414
<Description>My custom made 2d game engine based on the great Raylib Framework. Main focus is being performant and only using draw functions instead of textures. Custom input, audio, savegame, collision, shape, pathfinding, ui, camera, color palette, polygon fracturing, and text system are available with a few other nice things!</Description>
1515
<PackageProjectUrl>https://davegreengames.itch.io/shape-engine</PackageProjectUrl>
1616
<PackageIcon>shapeengine-nuget-icon-128px.png</PackageIcon>
1717
<RepositoryType>git</RepositoryType>
1818
<PackageTags>GameEngine Framework 2D raylib gamedev graphics shapes polygon rect line clipper2 polygonclipping</PackageTags>
1919
<Company>Dave Green Games</Company>
2020
<Product>Shape Engine</Product>
21-
<AssemblyVersion>5.0.0</AssemblyVersion>
22-
<FileVersion>5.0.0</FileVersion>
21+
<AssemblyVersion>5.1.0</AssemblyVersion>
22+
<FileVersion>5.1.0</FileVersion>
2323
<PackageReadmeFile>readme-nuget.md</PackageReadmeFile>
2424
<NeutralLanguage>en-US</NeutralLanguage>
2525
<Copyright>Copyright (c) David Grueneis 2026</Copyright>
2626
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
2727
<PackageReleaseNotes>
28-
#Summary
28+
29+
#5.1 Release Notes
30+
31+
##New Features
32+
- Add hash function to Coordinates struct (PR #170) – New hashing system added to the Coordinates struct to enable better usage patterns with collections
33+
34+
##Bug Fixes
35+
- Grid GetRect function does not use supplied coordinates (PR #167) – Fixed rect calculation in the Grid struct to properly utilize supplied coordinates
36+
- Mouse On Screen Detection Broken on MacOS (PR #169) – Restored mouse screen detection functionality on macOS after startup issues were introduced in recent GameWindow refactoring
37+
- ControlNode Selection Issues (PR #171) – Major refactor addressing multiple UI control issues:
38+
- Fixed selected button staying pressed when switching to another button with mouse
39+
- Added internal validation to clear current selection when navigation while button is pressed
40+
- Corrected state management for button press/release detection vs. mouse input detection
41+
42+
##Dependencies
43+
- Bump Raylib-cs from 7.0.2 to 8.0.0 (PR #158) – Updated to latest Raylib-cs version wich includes GameWindow, Mouse, and ScreenTexture updates based on the raylib 6.0 release.
44+
- Automated monthly update of gamecontrollerdb.txt (PR #165) – Updated game controller database
45+
- Update dependency-versions.txt from csproj (PR #166) – Synchronized dependency version documentation
46+
47+
#5.0 Release Notes
48+
49+
##Summary
2950
The 5.0 release is focused on refactoring and cleanup of existing systems while also introducing a selection of targeted new features to make the engine cleaner, faster, and easier to extend.
3051
First of all, the input system was overhauled: there is a new InputActionSettings struct, a redesigned gesture system, and improved gamepad handling. The most notable fix is that gamepads now work on macOS again.
3152
Next, the collision system was decoupled from the spatial-partitioning system to allow custom broadphase implementations. The pathfinding system received several improvements and an optional parallelization mode, allowing path requests to be handled concurrently rather than sequentially. The collision system also gained partial parallelization, allowing parts of the collision-detection algorithm to run in parallel.
3253
A new resource-packer project was added to bundle resources into text or binary packs, and the ShapeEngine content system was updated to support these packs. Alongside this, I cleaned up and modernized the legacy content system and added simple JSON and XML serializer classes to replace the old, JSON-only serializer. I also included example scenes for JSON and XML serialization; these scenes can load custom JSON and XML files to alter scene behavior at runtime.
3354
Many drawing APIs were modernized, renamed, and decluttered. Drawing functions are now all grouped within each shape. New MaskedDrawing* functions were implemented, and StripedDrawing* was overhauled and modernized. Several GitHub workflows were added to simplify repository and engine maintenance.
3455

35-
#Changelog
36-
##Input System
56+
##Changelog
57+
###Input System
3758
- [BREAKING] Input system improvements.
3859
- [NEW] InputGesture system added (LongPress, DoubleTap, etc.).
3960
- [NEW] InputDeviceSettings struct added for easier setup of the input system.
4061
- [NEW] InputActionSettings struct added for easier setup of input actions.
4162
- [NEW] Automated system for applying the current gamepad mappings added (gamepads now works on macOS).
4263
- [UPDATE] Gamepad management improved.
4364

44-
##Collision System
65+
###Collision System
4566
- [BREAKING] Collision system improved.
4667
- [BREAKING] Collision system separated from spatial partitioning algorithm to allow use of custom algorithms.
4768
- [NEW] Optional parallelization features for better performance added (allows to run certain parts of the collision detection algorithm concurrently).
4869
- [NEW] MotionType and BroadphaseType enums added to the collision system.
4970

50-
##Pathfinding
71+
###Pathfinding
5172
- [BREAKING] Pathfinding system improved.
5273
- [NEW] Optional parallelization features for PathRequest handling added.
5374

54-
##Savegame
75+
###Savegame
5576
- [BREAKING] Savegame system improved.
5677
- [NEW] Savegame folder is now automatically created based on ApplicationName and SaveDirectory.
5778
- [NEW] Automated savegame backup system added (automatically creates a backup folder in the savegame directory and it can create and apply backups).
5879

59-
##Docs
80+
###Docs
6081
- [NEW] XML summaries added to every class, member, and function that is public.
6182

62-
##Drawing
83+
###Drawing
6384
- [BREAKING] Overhaul of all outline drawing functions of all closed shapes and polyline to allow using transparent colors without overlapping artifacts.
6485
- [NEW] MaskedDrawing* functions added (Allows to only draw a shape or shape outline within a certain area or outside of a certain area).
6586
- [NEW] StripedDrawing* overloads added.
6687
- [UPDATE] Striped drawing functions improved.
6788
- [UPDATE] Striped drawing functions moved into shape structs/classes.
6889

69-
##Workflows
90+
###Workflows
7091
- [NEW] Workflow added to automatically update the gamepad mappings file once a month (SDL GameController DB is used as source).
7192
- [NEW] Workflow added to automatically keep ShapeEngines dependencies up to date (raylib and Clipper2).
7293
- [NEW] Workflow added to automatically attach Example project builds to new releases.
7394
- [NEW] Workflow added to upload ShapeEngine nuget packages to nuget.org (manually triggered only).
7495

75-
##Core
96+
###Core
7697
- [NEW] ApplicationName property added (used for setting up the savegame folder).
7798
- [NEW] ShapeEngine now handles capping of FrameRate to the set FrameRateLimit.
7899
- [NEW] AdaptiveFpsLimiter class added.
@@ -92,7 +113,7 @@
92113
- [BREAKING] Clipper2 wrapper system completely overhauled and improved (cleaner api, less memory allocations, moved to Path64 from PathD for better accuracy, and much more)
93114
- [UPDATE] .net 8.0 updated to .net 10.0
94115

95-
##Shapes
116+
###Shapes
96117
- [NEW] Polygon GetIncircle() function added
97118
- [NEW] Polygon Round()/RoundCopy() functions added
98119
- [NEW] Polygon ToAbsolute() function added
@@ -101,7 +122,7 @@
101122
- [NEW] Polygon Triangulate() overload added with ref parameter (reduce allocations)
102123
- [NEW] Various new geometric functions added to certain Shapes.
103124

104-
##Misc
125+
###Misc
105126
- [BREAKING] Pool System overhauled and drastically simplified.
106127
- [NEW] PerlinNoise class added (thanks to Fixin).
107128
- [NEW] ResourcePacker project added - Allows packing/ unpacking of resources to text or binary files.
@@ -112,7 +133,7 @@
112133
- [NEW] PerformanceMeasureWatch class added.
113134
- [NEW] MacOS app bundling added
114135

115-
##Example Scenes
136+
###Example Scenes
116137
- [NEW] New Savegame Example Scene added.
117138
- [NEW] New XML / JSON serialization systems added.
118139
- [NEW] New XML / JSON Example Scenes added.

0 commit comments

Comments
 (0)