From 11048808cbe3dc77bb2bee6d2643a33a45574509 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Mon, 13 Sep 2021 16:10:57 +0400 Subject: Added bitset --- src/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index ad50fd5..e09cd18 100644 --- a/src/main.c +++ b/src/main.c @@ -3,6 +3,7 @@ #include #include "storage.h" +#include "bitset.h" typedef struct { @@ -29,6 +30,7 @@ initStorage(storage_t *storage) storage->componentsStored = 0; storage->objectsStored = 0; storage->objects = (component_pair_t *) malloc(MAX_COMPONENTS * sizeof(component_pair_t)); + bitarena_init(&storage->objectSignatures, MAX_OBJECTS); REGISTER_COMPONENT(storage, transform_t); REGISTER_COMPONENT(storage, collider_t); @@ -37,6 +39,19 @@ initStorage(storage_t *storage) void loadScene(storage_t *storage) { + bitset_t s1 = bitarena_at(&storage->objectSignatures, 0); + bitset_t s2 = bitarena_at(&storage->objectSignatures, 1); + + bitset_set(s1, 9); + bitset_set(s2, 9); + + bitset_print(s1); + bitset_print(s2); + + bitset_t sAnd = bitset_and(s1, s2); + printf("Bitset is zero: %i\n", bitset_isZero(sAnd)); + printf("Bitset is equals: %i\n", bitset_equals(s1, s2)); + entity_t e1 = createEntity(storage); transform_t *t1 = GET_COMPONENT(storage, transform_t, e1); t1->x = 13; -- cgit v1.2.3