#ifndef world_h #define world_h #include "components.h" #include "config.h" #include "map.h" #include "player.h" typedef int Entity; typedef struct World World; struct World { int entity_count; int recycle_bin_count; unsigned short bitmask[max_entities]; Entity recycle_bin[max_entities]; CSprite sprites [max_entities]; CPosition positions [max_entities]; CAnimated animateds [max_entities]; CBullet bullets [max_entities]; CEnemy enemies [max_entities]; CCollider colliders [max_entities]; Player player; Map map; int cam_x, cam_y; }; void init_world(World* world); Entity new_entity(World* world); void destroy_entity(World* world, Entity e); void add_components(World* world, Entity e, CType bits); void remove_components(World* world, Entity e, CType bits); #endif