summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Guschin <saintruler@gmail.com>2021-09-15 13:41:00 +0400
committerAndrew Guschin <saintruler@gmail.com>2021-09-15 13:41:00 +0400
commit26162084840eaebff19eda20840c7914da1f0507 (patch)
tree41dd97d9dcc4336ffd41fb3b87504e7b88329dd2
parentafcf5dd75841ace0be6e1c59d9b7769a4170d50b (diff)
Fixed arena indexingHEADmaster
-rw-r--r--src/main.c31
-rw-r--r--src/storage.c4
2 files changed, 10 insertions, 25 deletions
diff --git a/src/main.c b/src/main.c
index b46b16d..a9339b2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -86,53 +86,38 @@ loadScene(storage_t *storage)
entity_t e1 = createEntity(storage);
ADD_COMPONENT(storage, e1, transform_t);
- // ADD_COMPONENT(storage, e1, collider_t);
-
+ ADD_COMPONENT(storage, e1, collider_t);
transform_t *t1 = GET_COMPONENT(storage, transform_t, e1);
t1->x = 13;
t1->y = 37;
- // printTransform(t1);
-
- // collider_t *c1 = GET_COMPONENT(storage, collider_t, e1);
- // c1->height = 50;
- // c1->width = 50;
- // c1->collisionsCount = 5;
+ collider_t *c1 = GET_COMPONENT(storage, collider_t, e1);
+ c1->height = 50;
+ c1->width = 50;
+ c1->collisionsCount = 5;
entity_t e2 = createEntity(storage);
ADD_COMPONENT(storage, e2, transform_t);
-
transform_t *t2 = GET_COMPONENT(storage, transform_t, e2);
t2->x = 14;
t2->y = 88;
- // printTransform(t2);
entity_t e3 = createEntity(storage);
ADD_COMPONENT(storage, e3, transform_t);
-
transform_t *t3 = GET_COMPONENT(storage, transform_t, e3);
t3->x = 123;
t3->y = 456;
- // printTransform(t3);
entity_t e4 = createEntity(storage);
ADD_COMPONENT(storage, e4, transform_t);
-
transform_t *t4 = GET_COMPONENT(storage, transform_t, e4);
t4->x = 1212;
t4->y = 1212;
entity_t e5 = createEntity(storage);
ADD_COMPONENT(storage, e5, transform_t);
-
transform_t *t5 = GET_COMPONENT(storage, transform_t, e5);
- t5->x = 888;
- t5->y = 888;
-
- printTransform(t1);
- printTransform(t2);
- printTransform(t3);
- printTransform(t4);
- printTransform(t5);
+ t5->x = 777;
+ t5->y = 666;
{
char *components[] = {"transform_t", "collider_t", NULL};
@@ -176,7 +161,7 @@ main()
storage_t storage;
initStorage(&storage);
loadScene(&storage);
- // update(&storage);
+ update(&storage);
return 0;
}
diff --git a/src/storage.c b/src/storage.c
index b5b50ec..aa82733 100644
--- a/src/storage.c
+++ b/src/storage.c
@@ -22,7 +22,7 @@ createEntity(storage_t *this)
for (int i = 0; i < this->componentsStored; ++i)
{
component_pair_t pair = this->objects[i];
- memset(&pair.objects[idx], 0, pair.objectSize);
+ memset(&pair.objects[idx * pair.objectSize], 0, pair.objectSize);
}
return idx;
}
@@ -94,7 +94,7 @@ internal_getComponent(storage_t *this, entity_t idx, const char *name)
component_pair_t *pair = &this->objects[i];
if (strcmp(name, pair->name) == 0)
{
- return &pair->objects[idx];
+ return &pair->objects[idx * pair->objectSize];
}
}
return NULL;