#ifndef __LIFE_H__
#define __LIFE_H__

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <math.h>
#include <sys/time.h>
#include <stdint.h>
#include <sys/types.h>
#include <string.h>
#include "Structs.h"
#include "DEM.h"


extern struct Thread_I *thread_i;
extern struct Thread_I *thread_di_i;
//extern struct image_attr *ia;

void Allocate_Life_Array(size_t height, size_t width);
void FM_Alloc(unsigned int height, unsigned int width);
void FM_Reset(unsigned int height, unsigned int width);
void Gen_Tribe_Color(struct Species *one, unsigned char *rgb);
void Add_First_Life(struct Species *one);
int Is_Same_Species(struct Species *one, struct Species *two);
void Create_Life(struct Species *one, struct Species *two, struct Species *three);
void *Tribe_Actions(void *tid);
void *Drawl_Image(void *tid);

#endif