From 5716e2ef6578e8cd2ea2b2e266d9f438c233ed0f Mon Sep 17 00:00:00 2001 From: Alec Thomas Date: Wed, 21 Aug 2013 22:57:32 -0400 Subject: Revert "Switch to boost::signals2." Until I have the time to make the tests work. This reverts commit be03c3a3d4e8824c3b909648b46910b4cdbc72e1. --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 CHANGELOG.md (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..acc0008 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +# Change Log + +## 2013-08-18 - Destroying an entity invalidates all other references + +Previously, `Entity::Id` was a simple integer index (slot) into vectors in the `EntityManager`. EntityX also maintains a list of deleted entity slots that are reused when new entities are created. This reduces the size and frequency of vector reallocation. The downside though, was that if a slot was reused, entity IDs referencing the entity before reallocation would be invalidated on reuse. + +Each slot now also has a version number and a "valid" bit associated with it. When an entity is allocated the version is incremented and the valid bit set. When an entity is destroyed, the valid bit is cleared. `Entity::Id` now contains all of this information and can correctly determine if an ID is still valid across destroy/create. + +## 2013-08-17 - Python scripting, and a more robust build system + +Two big changes in this release: + +1. Python scripting support (alpha). + - Bridges the EntityX entity-component system into Python. + - Components and entities can both be defined in Python. + - Systems must still be defined in C++, for performance reasons. + + Note that there is one major design difference between the Python ECS model and the C++ model: entities in Python can receive and handle events. + + See the [README](https://github.com/alecthomas/entityx/blob/master/entityx/python/README.md) for help, and the [C++](https://github.com/alecthomas/entityx/blob/master/entityx/python/PythonSystem_test.cc) and [Python](https://github.com/alecthomas/entityx/tree/master/entityx/python/entityx/tests) test source for more examples. + +2. Made the build system much more robust, including automatic feature selection with manual override. -- cgit v1.2.3