]>
git.seodisparate.com - EntityComponentMetaSystem/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Stephen Seo [Fri, 1 Dec 2017 05:00:49 +0000 (14:00 +0900)]
Replace garbage-collection-like cleanup
Entity IDs are now guaranteed to not change for a living entity.
Cleanup is replaced by using a std::unordered_set to store deleted
Entity IDs to be reclaimed on later calls to addEntity().
Stephen Seo [Fri, 24 Nov 2017 06:06:57 +0000 (15:06 +0900)]
Minor fixes to documentation
Stephen Seo [Fri, 24 Nov 2017 05:58:00 +0000 (14:58 +0900)]
Change CleanupReturnType to std::vector
Stephen Seo [Wed, 15 Nov 2017 06:36:04 +0000 (15:36 +0900)]
Fix bug with duplicate signatures
Fixed bug where if forMatchingSignatures and forMatchingSignaturesPtr
was called with some signatures in the TypeList being duplicates, then
only the first duplicate and function pair would be called, and all
other functions paired with other duplicate signatures would not be
called.
Stephen Seo [Tue, 14 Nov 2017 04:51:24 +0000 (13:51 +0900)]
Improve efficiency of stored function calling
Previously, every called function iterated through all entities for
calling the function on matching entities.
Now, callForMatchingFunctions iterates through all entities once,
stores matching entities for each function, then calls the functions on
the matching entities.
Stephen Seo [Tue, 14 Nov 2017 04:11:32 +0000 (13:11 +0900)]
Add ptr versions of forMatchingSignature fns
Stephen Seo [Fri, 10 Nov 2017 04:19:50 +0000 (13:19 +0900)]
Fix crash bug, improve Unit Test
Crash bug from improperly implemented std::lock_guard for multi-threaded
usage of forMatchingSignatures fixed.
Stephen Seo [Thu, 9 Nov 2017 12:10:01 +0000 (21:10 +0900)]
Implement forMatchingSignatures for efficiency
EC::Manager::forMatchingSignatures is different from
EC::Manager::forMatchingSignature in that it takes multiple signatures
and functions and iterates through all entities once. The trade-off is
that a vector of vectors is created to store matching entities.
This function can be called to use multiple threads as well, similar
to the "non-plural" version of this function.
See the doxygen-style documentation in src/EC/Manager.hpp for
forMatchingSignatures (or the generated doxygen html) for how to use.
Usage example is in the last unit test function in src/test/ECTest.hpp .
Stephen Seo [Fri, 3 Nov 2017 08:11:20 +0000 (17:11 +0900)]
Add getCurrentSize and getCurrentCapacity
Stephen Seo [Tue, 31 Oct 2017 05:10:21 +0000 (14:10 +0900)]
Fix minor typo
Stephen Seo [Tue, 31 Oct 2017 04:25:27 +0000 (13:25 +0900)]
Fix cleanup function's return value
Unordered map does not preserve order in which items were inserted.
This is a problem because an entity id relocated to a previously deleted
one could be read as deleted when iterating through the unordered map.
Thus, it has been replaced with a queue.
Stephen Seo [Fri, 6 Oct 2017 05:35:37 +0000 (14:35 +0900)]
Fix unit test
Stephen Seo [Fri, 6 Oct 2017 03:58:49 +0000 (12:58 +0900)]
Replace variable length arrays with std::vector
Stephen Seo [Fri, 6 Oct 2017 03:47:05 +0000 (12:47 +0900)]
Implement multithreading for function calls
Each of the EC::Manager's function calls over entities can now be
multi-threaded.
Stephen Seo [Thu, 28 Sep 2017 07:05:05 +0000 (16:05 +0900)]
Add feature to cleanup function in manager
ECManager's cleanup function now returns a map detailing info on all
entities changed by cleanup.
Stephen Seo [Wed, 20 Sep 2017 08:16:26 +0000 (17:16 +0900)]
Add const fns to Manager, obey 80 char line limit
Stephen Seo [Tue, 29 Aug 2017 06:27:58 +0000 (15:27 +0900)]
Add a test to unit tests
Stephen Seo [Thu, 13 Jul 2017 08:28:45 +0000 (17:28 +0900)]
Fixed keepSomeMatchingFunctions
Previous implementation would fail if functionIndex had wrapped around
Stephen Seo [Thu, 13 Jul 2017 07:13:37 +0000 (16:13 +0900)]
Changed clearSomeMatchingFunctions, line lengths
clearSomeMatchingFunctions removed for
keepSomeMatchingFunctions and removeSomeMatchingFunctions to
avoid confusion.
Lines now respect 80 column limit.
Stephen Seo [Wed, 12 Jul 2017 13:02:02 +0000 (22:02 +0900)]
Added two new functions
Added "removeForMatchingFunction" and "callForMatchingFunction".
The former deletes a specific function and the latter calls a specific
function.
Stephen Seo [Sat, 10 Jun 2017 13:17:37 +0000 (22:17 +0900)]
Updated README.md
Stephen Seo [Sat, 10 Jun 2017 13:16:55 +0000 (22:16 +0900)]
Updated README.md
Stephen Seo [Sat, 10 Jun 2017 13:15:59 +0000 (22:15 +0900)]
Added readme
Stephen Seo [Wed, 21 Sep 2016 12:01:48 +0000 (21:01 +0900)]
Changed implementation of stored functions to map
An unordered_map stores functions, allowing for functions to be
removed by index, and bulk removals with filtering by index.
Also added reset(), which changes the state of the Manager to be
almost identical to a newly constructed one.
Stephen Seo [Tue, 20 Sep 2016 11:31:56 +0000 (20:31 +0900)]
Fixed docs, ids changed to const references
Stephen Seo [Tue, 20 Sep 2016 11:07:28 +0000 (20:07 +0900)]
Added capability to store functions
EC::Manager can now store functions similar to functions
given to EC::Manager::forMatchingSignature.
Stephen Seo [Tue, 30 Aug 2016 08:34:34 +0000 (17:34 +0900)]
Fixed bug where deleted entities retain info
Stephen Seo [Sun, 28 Aug 2016 07:11:23 +0000 (16:11 +0900)]
Temporary(?) bugfix
Stephen Seo [Sat, 27 Aug 2016 04:32:32 +0000 (13:32 +0900)]
Fixed not working as cmake subproject
Stephen Seo [Wed, 20 Apr 2016 13:18:25 +0000 (22:18 +0900)]
Fixed missing include
Stephen Seo [Wed, 20 Apr 2016 12:59:47 +0000 (21:59 +0900)]
Added missing includes
Stephen Seo [Mon, 11 Apr 2016 05:59:56 +0000 (14:59 +0900)]
Fixed include gtest on nonstanndard gtest install
Stephen Seo [Wed, 6 Apr 2016 10:35:24 +0000 (19:35 +0900)]
Added note about manager's addComponent
AddComponent overwrites an already existing component
if it exists.
Stephen Seo [Wed, 6 Apr 2016 10:32:30 +0000 (19:32 +0900)]
Added support for components of type UniquePtr
Stephen Seo [Fri, 18 Mar 2016 16:05:43 +0000 (01:05 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:59:30 +0000 (00:59 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:53:40 +0000 (00:53 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:47:04 +0000 (00:47 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:38:32 +0000 (00:38 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:32:13 +0000 (00:32 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:27:21 +0000 (00:27 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:23:36 +0000 (00:23 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Fri, 18 Mar 2016 15:14:55 +0000 (00:14 +0900)]
Updated .gitlab-ci.yml
Stephen Seo [Thu, 17 Mar 2016 08:43:31 +0000 (17:43 +0900)]
added .gitlab-ci.yml
Stephen Seo [Tue, 15 Mar 2016 10:29:13 +0000 (19:29 +0900)]
Added License and legal related requirements
All source files in src/EC now has some text describing
attribution notice to the original work this work derives from.
Stephen Seo [Mon, 14 Mar 2016 11:39:09 +0000 (20:39 +0900)]
Slight change to docs
Stephen Seo [Mon, 14 Mar 2016 11:36:05 +0000 (20:36 +0900)]
Slight change to unit tests, docs
Unit test now creates Component with
Manager::addComponent.
Stephen Seo [Mon, 14 Mar 2016 11:09:51 +0000 (20:09 +0900)]
Slight addition to EC::Manager documentation
Stephen Seo [Mon, 14 Mar 2016 11:05:49 +0000 (20:05 +0900)]
Fix to EC::Manager::cleanup
Stephen Seo [Mon, 14 Mar 2016 11:01:55 +0000 (20:01 +0900)]
Added Doxygen comments
Slight change to EC::Manager::isAlive
Stephen Seo [Mon, 14 Mar 2016 09:25:38 +0000 (18:25 +0900)]
Minor fixes/changes
Stephen Seo [Mon, 14 Mar 2016 09:16:09 +0000 (18:16 +0900)]
Minor fixes/changes
Stephen Seo [Mon, 14 Mar 2016 08:53:57 +0000 (17:53 +0900)]
Made some Meta stuff more generic
Stephen Seo [Mon, 14 Mar 2016 02:39:37 +0000 (11:39 +0900)]
Fixed entity deletion bug
Fixed bug where deleted entity would retain Components/Tags.
Stephen Seo [Sun, 13 Mar 2016 09:17:06 +0000 (18:17 +0900)]
Fix to Meta/Matching
Stephen Seo [Sun, 13 Mar 2016 09:07:49 +0000 (18:07 +0900)]
Added Meta/Matching, progress on Bitset/Manager
Stephen Seo [Sun, 13 Mar 2016 05:06:57 +0000 (14:06 +0900)]
Added forEach to EC/Meta
Stephen Seo [Tue, 8 Mar 2016 13:59:17 +0000 (22:59 +0900)]
Fixed 'make install'
Stephen Seo [Sat, 5 Mar 2016 14:33:24 +0000 (23:33 +0900)]
Added EC/Meta/TypeListGet, WIP in Bitset, Manager
TODO, get a ForEach type recursion working for Bitset.
Stephen Seo [Sat, 5 Mar 2016 11:16:32 +0000 (20:16 +0900)]
Fixed support for Clang
Minor addition to unit tests.
Stephen Seo [Fri, 4 Mar 2016 13:59:43 +0000 (22:59 +0900)]
Added EC/Meta/Morph.hpp
Started work on EC/Manager.hpp
Stephen Seo [Fri, 4 Mar 2016 12:43:46 +0000 (21:43 +0900)]
Updated CMakeLists.txt to include EC/Meta/Combine
Stephen Seo [Fri, 4 Mar 2016 12:39:25 +0000 (21:39 +0900)]
Changed Bitset to use Combined lists
Stephen Seo [Fri, 4 Mar 2016 12:35:26 +0000 (21:35 +0900)]
Added EC/Meta/Combine.hpp
Also some renaming in MetaTest.hpp
Stephen Seo [Fri, 4 Mar 2016 12:15:30 +0000 (21:15 +0900)]
Slight change to Bitset test
Now, will not break if listAll and listTagsAll changes.
Stephen Seo [Fri, 4 Mar 2016 12:12:37 +0000 (21:12 +0900)]
Added EC/Bitset.hpp and EC/Meta/ContainsAll.hpp
Also added EC/EC.hpp and EC/Meta/Meta.hpp that loads all
headers in that directory.
Stephen Seo [Fri, 4 Mar 2016 11:20:56 +0000 (20:20 +0900)]
Split Meta.hpp
Stephen Seo [Thu, 25 Feb 2016 03:27:04 +0000 (12:27 +0900)]
Added IndexOf
Stephen Seo [Thu, 25 Feb 2016 03:08:02 +0000 (12:08 +0900)]
Basic meta stuff working
Stephen Seo [Wed, 24 Feb 2016 10:35:55 +0000 (19:35 +0900)]
Init commit