v0.8.2 #18
richardbiely
announced in
Announcements
v0.8.2
#18
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is a maintenance release with a few small new features at the top.
Most of fixes and tweaks are related to CMake and Docker.
Iteration benchmark was rewritten so it does not generate thousands of various compile-time recursive operations to improve compilation times and ease of use (80s along with linking down to insignificant amount of time).
Entity dependencies
Defining dependencies among entities is made possible via the (DependsOn, target) relationship.
When adding an entity with a dependency to some source it is guaranteed the dependency will always be present on the source as well. It will also be impossible to delete it.
Entity constraints
Entity constrains are used to define what entities cannot be combined with others. Constraints are defined via the (DependsOn, target) relationship.
ecs::World w; ecs::Entity weak = w.add(); ecs::Entity strong = w.add(); w.add(weak, ecs::Pair(ecs::CantCombine, strong)); ecs::Entity e = w.add(); w.add(e, strong); // This is an invalid operation. w.add(e, weak);
GAIA_DEVMODE
Developer mode is a macro that enables more integrity checks for various internal operations. Some of them are expensive and almost redundant but keep the code safe from regressions and various hard-to-locate bugs. However, they are not really useful for anyone but library maintainers. Therefore, they are now enabled only when GAIA_DEVMODE macro is on:
Release notes
Fixed:
World::relation(s) not returning proper entities 826043d
wildcard relationship deletion - 30af94d
certain CMake settings not reflected in generate_compile_commands target dcf6c58
crash when accessing EntityDesc of a pair (only regular entities have it) 30af94d
crash when copying an entity with entities attached to it 12757c7
crash when using diagnostics with an entity without the EntityDesc 5b145e0
asserts handling with GAIA_DISABLE_ASSERTS 5a2aef1
uninitialized variables on Archetype 8e938db
darr_ext move constructor ed99fd6
non-Xcode build workaround for MacOS with Xcode 15 or later installed 83a1a33
benchmark CMake configuration 689cabb
string argument expansion for Docker builds 689cabb
the correct compiler is used always for Docker builds 79717d3
Changed:
Tweaked:
Added:
Full Changelog: v0.8.1...v0.8.2
This discussion was created from the release v0.8.2.
Beta Was this translation helpful? Give feedback.
All reactions