Flecs 2.3.2
This release introduces a breaking change to fix C++ component registration. The symbol
member of the EcsName
(or flecs::Name
) component now requires an allocation. If you explicitly assign members to the EcsName
component (using get_mut
, not using set
) you will have to update your code.
Another change that was introduced to fix component registration is that the symbol
member of the EcsName
component for a module now always contains the fully qualified path to the entity. Previously this value contained the C or C++ typename, but this caused issues with module interop between C and C++. If your code relied on looking up modules by their C typename and not the fully qualified name, code will have to be updated.
This release contains the following improvements:
- replace iostream with initializer_list (C++ API, thanks @ikrima!)
- ensure entity::m_id is initialized to 0 (C++ API, thanks @ikrima!)
- use ecs_os_malloc instead of new (C++ API, thanks @ikrima!)
- remove superfluous copies of lambda functions (C++ API, thanks @ikrima!)
- add CHANGELOG (thanks @ikrima!)
This release contains the following bugfixes:
- fix matching for queries with shared componnents when base entity is deleted
- fix various issues with component registration in C++
- fix issue with setting target FPS on Apple M1 (thanks @prime31!)
- fix issues with CMake file (thanks @SpaceIm!)
- fix crash when creating & deleting queries
- guarantee that id returned by new_component_id is unused