INITIAL COMMIT
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
// vim:fileencoding=utf-8:foldmethod=marker
|
||||
|
||||
#include "entity_id.h"
|
||||
#include "prop_table.hpp"
|
||||
#include "wapp/wapp.h"
|
||||
#include <stdio.h>
|
||||
|
||||
struct Pos {
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
};
|
||||
|
||||
void print_positions(PropTable<Pos> *positions);
|
||||
void print_index(PropTable<Pos> *positions);
|
||||
void print_values(PropTable<Pos> *positions);
|
||||
|
||||
i32 main(void) {
|
||||
Allocator arena = wapp_mem_arena_allocator_init(MiB(64));
|
||||
|
||||
EntityID id1 = {1};
|
||||
EntityID id2 = {2};
|
||||
EntityID id3 = {3};
|
||||
EntityID id4 = {4};
|
||||
EntityID id5 = {5};
|
||||
|
||||
PropTable<Pos> positions = {&arena, 8};
|
||||
|
||||
print_positions(&positions);
|
||||
|
||||
positions.add_prop(id3, Pos{1.0f, 2.0f, 3.0f});
|
||||
print_positions(&positions);
|
||||
|
||||
positions.add_prop(id5, Pos{10.0f, 20.0f, 30.0f});
|
||||
print_positions(&positions);
|
||||
|
||||
positions.add_prop(id1, Pos{100.0f, 200.0f, 300.0f});
|
||||
print_positions(&positions);
|
||||
|
||||
positions.add_prop(id4, Pos{1000.0f, 2000.0f, 3000.0f});
|
||||
print_positions(&positions);
|
||||
|
||||
positions.remove_prop(id5);
|
||||
print_positions(&positions);
|
||||
|
||||
positions.add_prop(id2, Pos{10000.0f, 20000.0f, 30000.0f});
|
||||
print_positions(&positions);
|
||||
|
||||
wapp_mem_arena_allocator_destroy(&arena);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void print_positions(PropTable<Pos> *positions) {
|
||||
print_index(positions);
|
||||
print_values(positions);
|
||||
}
|
||||
|
||||
void print_index(PropTable<Pos> *positions) {
|
||||
printf("==========INDEX==========\n");
|
||||
for (u64 i = 0; i < wapp_array_count(positions->index); ++i) {
|
||||
printf("%lu: %d\n", i, positions->index[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void print_values(PropTable<Pos> *positions) {
|
||||
printf("==========VALUES==========\n");
|
||||
for (u64 i = 0; i < wapp_array_count(positions->values); ++i) {
|
||||
printf("%lu: (%f, %f, %f)\n", i, positions->values[i].x, positions->values[i].y, positions->values[i].z);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
Reference in New Issue
Block a user