typedef struct kaos Kaos; typedef struct hyperKaos { int kaosID; int eventType; int tombStone; SDL_Rect domain; Kaos* head; } HyperKaos; HyperKaos* newHyperKaos(int id, int type, int x, int y, int w, int h); void deleteHyperKaos(HyperKaos* target); void cleanHyperKaos(HyperKaos* self); void run(HyperKaos* self); void addKaos(HyperKaos* self, Kaos* target); int hasCompleted(int x); int notCompleted(int x);