Commit graph

1478 commits

Author SHA1 Message Date
85c0c56e03 Add static asserts in ecs::entity_component::apply/batch_apply to check that all component types are different 2023-08-26 22:11:55 +03:00
f46b3bdc40 Minor ecs::entity_container documentation fixes 2023-08-26 22:00:56 +03:00
7183a441e5 Fix ecs::entity_container::batch_apply for empty component types 2023-08-26 22:00:41 +03:00
bc63d98d51 Move ecs::entity_accessor to a separate header 2023-08-26 21:53:02 +03:00
8b1157c641 Implement ecs::entity_container::attach/detach 2023-08-26 18:24:10 +03:00
59c803d31c ECS library wip: rewrite tables using explicit columns 2023-08-26 12:33:14 +03:00
1d20bd5a17 Fix util::hash_table inserting non-const pair 2023-08-26 12:32:54 +03:00
24d1f1e5bf Add more hash_table tests 2023-08-24 18:50:48 +03:00
5a1db3097b Add util::hash_table::empty 2023-08-24 18:50:40 +03:00
d2604bc5ce Fix moving util::hash_table 2023-08-24 18:50:31 +03:00
31ffd4dc54 Remove component bitsets from ecs; use uuid hash tables instead 2023-08-24 17:33:19 +03:00
809a0ec212 Make util::hash_table search heterogeneous & add hash_table::contains 2023-08-24 17:32:57 +03:00
183644d46f Add proper util::hash_table move constructor & assignment 2023-08-24 17:32:33 +03:00
8adfe7320b Fix util::hash_table::find 2023-08-24 17:32:17 +03:00
1e74639ff4 Fix util::hash_table_iterator::advance 2023-08-24 17:31:50 +03:00
dbeee752b7 Speed up searching for ecs table columns using a hash_map<uuid, column_id> 2023-08-24 16:26:29 +03:00
a27378a3a7 Add util::hash_set/map with some tests 2023-08-24 16:24:47 +03:00
d3fa7fdfea Make ecs::entity_accessor::get throw the documented exception 2023-08-24 16:19:49 +03:00
6bab38a545 Better ecs::entity_container documentation 2023-08-24 10:48:57 +03:00
3701df15f4 Support creating new ecs entities while iterating over them 2023-08-23 17:46:50 +03:00
d7babe6a0f Fix destroying ecs tables 2023-08-23 17:00:42 +03:00
b99371dc29 Support removing ecs entities while iterating over them using apply 2023-08-23 16:10:39 +03:00
c0668e2de2 Bugfix in ecs entity creation in case a table with the same components but in a different order already exists 2023-08-23 14:47:26 +03:00
72508eb445 Support ecs::entity_container::batch_apply & store full entity handles (instead of entity IDs) in ECS tables 2023-08-23 12:58:00 +03:00
0b562a26c1 Add entity_container to ECS system arguments; make both entity_container and entity_handle optional arguments 2023-08-23 12:22:50 +03:00
0f621a9f3f Add ecs::entity_container::attach/detach declarations (no implementation yet) 2023-08-23 00:05:12 +03:00
fee1f647b2 Add declare_uuid macro to simplify creating ecs component classes 2023-08-23 00:04:41 +03:00
2d2362d85c More util::uuid functions: create from string, check for/convert to RFC 4122 2023-08-23 00:04:05 +03:00
8a7891d561 Make util::hash_combine and hash_sequence constexpr 2023-08-23 00:01:52 +03:00
9f36dfc0e4 Make compilation fail if ecs::entity_container::create is called with several equal component types 2023-08-22 23:24:49 +03:00
c59a28433a Better ecs::entity_accessor interface 2023-08-22 23:15:56 +03:00
82682c0317 Refactor ecs::entity_container & add documentation 2023-08-22 22:36:04 +03:00
c1991cbb57 ECS library wip: support explicit query cache 2023-08-22 21:18:53 +03:00
e0e0df8128 ECS library wip & tests 2023-08-22 20:30:04 +03:00
535627f962 Make random::generator::min/max constexpr 2023-08-22 20:28:44 +03:00
63008d62ff ECS library wip 2023-08-22 14:53:03 +03:00
190fd5e51e Fix creating util::span<T const> from an array of non-const T 2023-08-22 14:52:51 +03:00
79e90fb03c Fix util::dynamic_bitset operations 2023-08-22 14:52:28 +03:00
c35478ac88 Fix util::dynamic_bitset hash 2023-08-22 14:52:16 +03:00
2667d1aadb New ECS library wip 2023-08-19 15:21:17 +03:00
981629cb74 Add util::dynamic_bitset 2023-08-19 15:21:08 +03:00
58215fedc1 Add util::unique_sequential_storage for storing an array of unique elements 2023-08-19 15:20:57 +03:00
f27a4fa26d Add util::uuid 2023-08-19 15:20:21 +03:00
16dcbe9603 Fix setting thread name on macos 2023-08-15 12:10:42 +03:00
1036ebae30 Fix sir::is_custom 2023-08-15 11:47:43 +03:00
67c7ce0878 Use concepts in geom::point and vector constructors 2023-08-15 11:47:20 +03:00
3b00182f63 Fix weird stacktrace abi issue 2023-08-06 21:27:42 +03:00
5eb7cbff92 Better crash signal handling 2023-08-06 19:07:14 +03:00
f6377045c9 Add red color to stderr logging 2023-08-06 19:00:34 +03:00
04243db779 Synchronize stdout & stderr for logging 2023-08-06 18:44:35 +03:00