Commit graph

1620 commits

Author SHA1 Message Date
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
c6805dea21 Fix printing tests profiling data 2023-08-22 20:28:57 +03:00
535627f962 Make random::generator::min/max constexpr 2023-08-22 20:28:44 +03:00
d1975dd917 Add fibonacci music box example 2023-08-22 14:53:53 +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
b467af74c9 Fix libbacktrace build on MacOS 2023-08-15 11:46:36 +03:00
8b01b6684c Fix building libbacktrace for windows 2023-08-07 00:23:16 +03:00
80c243ee2f Don't strip linux binary to preserve symbol names 2023-08-06 21:28:18 +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
85d7a0ca33 Huge refactor: use util::exception everywhere instead of std exceptions 2023-08-06 18:33:07 +03:00
2bff6d6cf3 Fix building libbacktrace (still horrible though) 2023-08-06 18:32:18 +03:00
248bd049db Setup default logging sinks to output to stdout/stderr based on log level 2023-08-06 12:56:07 +03:00
128abc453e Add util::at helper 2023-08-06 12:55:31 +03:00
dd12ad9477 Add special handling for util::exception in various places to print stacktrace info 2023-08-06 12:53:03 +03:00
1c22892eec Add util::exception class that holds stacktrace information 2023-08-06 12:52:17 +03:00