Sander Mertens/flecs: Release v3.2.8
Name: flecs
Owner: Sander Mertens
Release: Flecs v3.2.8
Released: 2023-10-09
License: NOASSERTION
Release Assets:
Highlights
- A new
iterable::find
method that makes it easier to find entities using filters, rules and queries:
flecs::query<Position> q = ecs.query<Position>();
flecs::entity result = q.find([](Position& p) {
return p.x == 20;
});
- A new Flecs Godot example by @paulfigiel!
- Lots of improvements in the Flecs.NET C# binding by @BeanCheeseBurrito!
Release notes
This version includes the following bugfixes:
- Fix crash in
ecs_pipeline_init
when passing invalid parameter - Fix incorrect
INVALID_PARAMETER
assert inecs_entity_init
when providing empty separator - Fix incorrect return type of
flecs::iter::id
- Fix potential double free in C++ when using
each_term
- Fix issue with parsing bitmask expressions with spaces
- Fix issue with deleting & recycling the same id in command buffer
- Fix flecs script crash when trying to assign an entity that's not a component in
with
statement - Fix flecs script issue with assignment after scope statement
- Fix custom build issue when specifying
FLECS_MONITOR
andFLECS_REST
- Fix world cleanup issue where regular entities could get cleaned up after components
- Fix issue where observers/hooks were not executed in deferred mode if deferring was suspended
- Fix issue where event could be propagated along incorrect relationship edge
- Fix incorrect return type of
world::id
(thanks @Indra-db!) - Fix C++ issue that prevented using a release build of flecs with debug build app & vice versa
- Fix issue where passing
nullptr
as name toworld::use
didn't work correctly (thanks @Indra-db!) - Remove incorrect template parameter from
world::from_json
- Fix issue where passing
NULL
as doc string would not remove doc component - Fix crash in
ecs_iter_str
- Fix issue on VS2019 where enum constant registration did not work correctly
This version includes the following improvements:
[cpp]
Addtable::get
method for enum types (thanks @Indra-db!)[cpp]
Additerable::find
method[cpp]
Add parameter toworld::lookup
/entity::lookup
to disable/enable recursive searching[cpp]
Remove unnecessary return inentity::modified
(thanks @Indra-db!)[cpp]
Remove redundant component registration fromentity::ref
methods (thanks @Indra-db!)[cpp]
Addentity_builder::set_json
[cpp]
Add backworld::delta_time
method[meta]
Allow for creating reflection data in deferred, suspended deferred and readonly modes[script]
Add ability to self-reference assembly instance through$this
variable[metrics]
Add ability to create metrics for nested members[alerts]
Add summary counts toAlertsActive
component[cmake]
Add support for building & running tests with cmake (thanks @Naios!)[cmake]
Increase cmake version (thanks @Sororfortuna!)[doc]
Fix typos in examples/documentation (thanks @Rageking8!)[doc]
Documentation corrections (thanks @999pingGG!)[doc]
Improve comments offwd_declare_component
example[doc]
Add missing argument topair
function in relationship manual example[doc]
Show how to calltarget()
in relationship basics example[doc]
Fix incorrect documentation comments in C++ API
Benchmark results https://github.com/SanderMertens/ecs_benchmark/tree/f0c12a99219706c120fd49fe9862749f32f740b5
Known issues: https://github.com/SanderMertens/flecs/issues/1042 https://github.com/SanderMertens/flecs/issues/844 https://github.com/SanderMertens/flecs/issues/765 https://github.com/SanderMertens/flecs/issues/714 https://github.com/SanderMertens/flecs/issues/620 https://github.com/SanderMertens/flecs/issues/478 https://github.com/SanderMertens/flecs/issues/314
New Contributors
- @Rageking8 made their first contribution in https://github.com/SanderMertens/flecs/pull/1037
- @Indra-db made their first contribution in https://github.com/SanderMertens/flecs/pull/1046
- @999pingGG made their first contribution in https://github.com/SanderMertens/flecs/pull/1048
- @Sororfortuna made their first contribution in https://github.com/SanderMertens/flecs/pull/1053
Full Changelog: https://github.com/SanderMertens/flecs/compare/v3.2.7...v3.2.8