aboutsummaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorAlec Thomas <alec@swapoff.org>2013-08-18 11:33:27 -0400
committerAlec Thomas <alec@swapoff.org>2013-08-18 11:33:27 -0400
commitb0fe85294568485b1cd06afa0e9ab9b7b0beea62 (patch)
tree428498e013351eaaad728bd1d1cb66a1872338f4 /CHANGELOG.md
parent85acbac9ef2838926e367fbd82ca5964668744d0 (diff)
Destroying an entity correctly invalidates all other references.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 89c92d8..acc0008 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# 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: