Commit Graph
513 Commits
Author SHA1 Message Date
Michele Caini 671bdb09b8 macro review 2019-02-23 23:47:15 +01:00
Michele Caini 353a0d14a4 get rid of clang errors 2019-02-23 23:47:11 +01:00
Michele Caini e0fd83211b lib support for registry (first draft) 2019-02-23 23:47:03 +01:00
Michele Caini 2c94d9cc37 slightly improved 2019-02-23 23:47:00 +01:00
Michele Caini f7dec412ec minor changes 2019-02-23 23:46:52 +01:00
Michele Caini f7c756d215 wip: make shared traits usable 2019-02-23 23:46:48 +01:00
Michele Caini 617635a989 wip: lib support 2019-02-23 23:46:42 +01:00
Michele Caini ea3b2c4713 fixed link to patreon 2019-02-20 09:42:36 +01:00
Michele Caini 15455a7e68 updated AUTHORS 2019-02-20 09:14:58 +01:00
Michele Caini ad5cedc08c cleanup 2019-02-19 14:43:45 +01:00
Michele Caini 328f0c6da8 fixed error with clang 2019-02-17 16:27:20 +01:00
Michele Caini 8ef818f581 hashed string: added possibility to use both uint32 and uint64 2019-02-17 16:19:58 +01:00
Michele Caini 48dace64e4 updated TODO 2019-02-17 16:17:32 +01:00
Michele Caini ab5837c7c4 sigh: more tests 2019-02-17 16:17:21 +01:00
Michele Caini 9fbdbc1844 review: delegate/sigh 2019-02-17 16:17:13 +01:00
Michele Caini 54129cecc2 typo 2019-02-16 15:59:10 +01:00
Michele Caini 69c514d1a4 doc: fixed typo 2019-02-13 15:03:14 +01:00
Michele Caini 7047d12eba updated doc 2019-02-13 14:59:59 +01:00
Michele Caini 8ab61637f0 fixed get-or-assign (close #185) 2019-02-12 14:29:15 +01:00
Michele Caini 7e0bd92593 fix #184 - conflicts between partial-owning groups aren't correctly detected 2019-02-10 23:00:59 +01:00
Michele Caini 99d9a9f44e fixed tests 2019-02-10 13:21:45 +01:00
Erik Scholz 9c55111e14 [DOCS] removed excess "registry." in groups code sample (#181) 2019-02-09 19:00:23 +01:00
Michele Caini b1d6ba57ad use the right family for groups 2019-02-09 14:33:15 +01:00
Michele Caini 47e9330646 groups 2019-02-09 14:04:09 +01:00
Michele Caini e16a3d503c simplified sparse_set::clone 2019-02-08 17:21:03 +01:00
Michele Caini dc9c93b347 cleanup 2019-02-08 17:20:39 +01:00
Michele Caini faceff620a exclude is now a variable template 2019-02-08 17:20:21 +01:00
Michele Caini a5a6a58556 removed indexes from persistent views 2019-02-08 17:20:14 +01:00
Michele Caini 45fdab27c9 meta_any: fixed #180 2019-02-01 23:48:00 +01:00
Michele Caini 8b360479f4 updated list of contributors 2019-02-01 22:30:08 +01:00
Michele Caini b170f2f69a reduce the number of template instantiations 2019-02-01 22:29:24 +01:00
Michele Caini 7f1abab9ae bug fixing (find on views) 2019-01-29 09:00:34 +01:00
Michele Caini 2ec7bc878e minor changes 2019-01-29 08:42:37 +01:00
Michele Caini e97d9bb095 maybe_atomic_type -> maybe_atomic_t 2019-01-29 08:40:49 +01:00
Michele Caini 2f3b02e870 typo 2019-01-29 08:40:27 +01:00
Michele Caini 11b7a45c32 improved registry::reset 2019-01-29 08:40:22 +01:00
Michele Caini fb10d2f9c2 cleanup 2019-01-29 08:38:59 +01:00
Michele Caini 60bb7f66cf updated todo list 2019-01-29 08:38:48 +01:00
Michele Caini ad5143169a removed registry::component_pool 2019-01-29 08:36:50 +01:00
Michele Caini d68c90a429 removed registry ::pool/::managed 2019-01-29 08:36:42 +01:00
Michele Caini 8a51549395 updated list of contributors 2019-01-26 16:43:31 +01:00
corystegel 9f997fe1fa Fix sparse_set invalid state when component constructor throws (#176)
Fix sparse_set invalid state when component constructor throws

Previously, a component's constructor that throws would cause the sparse
set to think that the entity still exists in the set. This is because the underlying
sparse set that stores the entities will have its entry added before the component
is added to the component set.

This could cause a number of invalid memory access problems such as the following:

1) Exception triggers destructor of enclosing object that then tries to remove
   the component that was just added. SparseSet<entity_t, Component>::has() will
   return true for the entity but when destroy() is called "instances" will be empty
   so instances.back() will be invalid.

2) If the exception is handled then calling get(entity) for the same entity
   identifier that initially threw the exception will give a position for that
   entity even though it was not added. This can cause an invalid memory access
   or accessing the data of a different stored component.
2019-01-25 22:36:30 +01:00
Michele Caini 00f1f6d86b updated sigh + added future plans for this class to the todo list 2019-01-25 14:39:00 +01:00
Michele Caini be72728000 updated doc 2019-01-24 14:30:16 +01:00
Michele Caini f558126854 fixed typo + added tests (thanks to Kerndog73) 2019-01-24 08:36:55 +01:00
Michele Caini 08ed1500ac updated doc + minor changes 2019-01-23 16:06:53 +01:00
Michele Caini f0926f1cc7 removed final specifier 2019-01-23 15:51:55 +01:00
Michele Caini fe3f6aa22b signal: review 2019-01-23 15:42:29 +01:00
Michele Caini 1325f75e81 updated links 2019-01-23 15:37:15 +01:00
Michele Caini 4b1d3a7b6f allow for null entity members (#174) 2019-01-13 22:28:40 +01:00