Rename
This commit is contained in:
@@ -61,8 +61,8 @@ void print_positions(PropTable<Pos> *positions) {
|
|||||||
|
|
||||||
void print_index(PropTable<Pos> *positions) {
|
void print_index(PropTable<Pos> *positions) {
|
||||||
printf("==========INDEX==========\n");
|
printf("==========INDEX==========\n");
|
||||||
for (u64 i = 0; i < wapp_array_count(positions->index); ++i) {
|
for (u64 i = 0; i < wapp_array_count(positions->lookup); ++i) {
|
||||||
printf("%" PRIu64 ": %d\n", i, positions->index[i]);
|
printf("%" PRIu64 ": %d\n", i, positions->lookup[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-10
@@ -9,11 +9,11 @@
|
|||||||
template<typename T>
|
template<typename T>
|
||||||
struct PropTable {
|
struct PropTable {
|
||||||
PropTable(const Allocator *allocator, u64 capacity) {
|
PropTable(const Allocator *allocator, u64 capacity) {
|
||||||
index = wapp_array_alloc_capacity(i32, allocator, capacity, ARRAY_INIT_FILLED);
|
lookup = wapp_array_alloc_capacity(i32, allocator, capacity, ARRAY_INIT_FILLED);
|
||||||
values = wapp_array_alloc_capacity(Value, allocator, capacity, ARRAY_INIT_NONE);
|
values = wapp_array_alloc_capacity(Value, allocator, capacity, ARRAY_INIT_NONE);
|
||||||
|
|
||||||
for (u64 i = 0; i < wapp_array_count(index); ++i) {
|
for (u64 i = 0; i < wapp_array_count(lookup); ++i) {
|
||||||
index[i] = -1;
|
lookup[i] = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,15 +22,15 @@ struct PropTable {
|
|||||||
|
|
||||||
i32 idx = (i32)wapp_array_count(values);
|
i32 idx = (i32)wapp_array_count(values);
|
||||||
Value v = {prop, id.index};
|
Value v = {prop, id.index};
|
||||||
wapp_array_set(i32, index, id.index, &idx);
|
wapp_array_set(i32, lookup, id.index, &idx);
|
||||||
wapp_array_append_capped(Value, values, &v);
|
wapp_array_append_capped(Value, values, &v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void remove_prop(EntityID id) {
|
void remove_prop(EntityID id) {
|
||||||
if (IS_INVALID_ID(id) || *wapp_array_get(i32, index, id.index) == -1) { return; }
|
if (IS_INVALID_ID(id) || *wapp_array_get(i32, lookup, id.index) == -1) { return; }
|
||||||
|
|
||||||
// Get indices for swapping
|
// Get indices for swapping
|
||||||
i32 idx1 = *wapp_array_get(i32, index, id.index);
|
i32 idx1 = *wapp_array_get(i32, lookup, id.index);
|
||||||
i32 idx2 = ((i32)wapp_array_count(values)) - 1;
|
i32 idx2 = ((i32)wapp_array_count(values)) - 1;
|
||||||
|
|
||||||
// Swap values
|
// Swap values
|
||||||
@@ -38,18 +38,18 @@ struct PropTable {
|
|||||||
wapp_array_pop(Value, values);
|
wapp_array_pop(Value, values);
|
||||||
|
|
||||||
// Update index
|
// Update index
|
||||||
index[id.index] = -1;
|
lookup[id.index] = -1;
|
||||||
index[values[idx1].index_location] = idx1;
|
lookup[values[idx1].index] = idx1;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Value {
|
struct Value {
|
||||||
T value;
|
T value;
|
||||||
u32 index_location;
|
u32 index;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef Value *ValueArray;
|
typedef Value *ValueArray;
|
||||||
|
|
||||||
I32Array index;
|
I32Array lookup;
|
||||||
ValueArray values;
|
ValueArray values;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user