diff --git a/zecsy.hpp b/zecsy.hpp index 612a389..3ff0be3 100644 --- a/zecsy.hpp +++ b/zecsy.hpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #ifndef MAX_ZECSY_ENTITIES #define MAX_ZECSY_ENTITIES 65536 @@ -44,7 +44,7 @@ namespace zecsy void destroy_entity(entity_id e); bool is_alive(entity_id e) const; private: - std::bitset entities_bitset; + std::bitset entities_bitset; entity_id entity_counter = 0; }; @@ -65,11 +65,12 @@ namespace zecsy inline entity world::make_entity() { - auto id = (++entity_counter)%MAX_ZECSY_ENTITIES; - if(is_alive(id)) + auto id = ++entity_counter; + + if(id > MAX_ZECSY_ENTITIES) { - throw std::runtime_error(std::format("entity_id #{} already in use," - " can't make a new entity", id)); + throw std::runtime_error(std::format("Entity id {} exceeds " + "MAX_ZECSY_ENTITIES ({})", id, MAX_ZECSY_ENTITIES)); } entities_bitset.set(id);