diff options
author | quou <quou@disroot.org> | 2023-05-02 21:37:07 +1000 |
---|---|---|
committer | quou <quou@disroot.org> | 2023-05-02 21:37:07 +1000 |
commit | 65fa1051585f5345c3270db73ab53b7a0dbbaa50 (patch) | |
tree | 30fed63168b86f8de48698174b265ffbdfae4343 /world.h | |
parent | d3745895ca0107c705b2d89b8b80e254536dad86 (diff) |
Add ECS.
Diffstat (limited to 'world.h')
-rw-r--r-- | world.h | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -0,0 +1,24 @@ +#ifndef world_h +#define world_h + +#include "components.h" + +#define max_entities 256 + +typedef int Entity; + +typedef struct { + int entity_count; + + unsigned char bitmask[max_entities]; + + CSprite sprites[max_entities]; + CPosition positions[max_entities]; +} World; + +void init_world(World* world); +Entity new_entity(World* world); +void add_components(World* world, Entity e, CType bits); +void remove_components(World* world, Entity e, CType bits); + +#endif |