#ifndef __DEM_H__
#define __DEM_H__

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <stdint.h>
#include <math.h>
#include <unistd.h>
#include <pthread.h>

#include "Globals.h"
#include "Life.h"
#include "OpenGL.h"
/*
struct image_attr{
    size_t width;
    size_t height;
    int format;
	int16_t **data; //elevation 
    unsigned char *image; //rgb
	int status;
	int cur_sealevel;
};
*/

extern int No_Exit;
extern struct Species ***life;

extern struct Stats *stats;
extern struct Stats_T stats_t;

extern struct image_attr *ia;
extern unsigned int Threads;
extern char *life_speed_up_H;
extern char *life_speed_up_W;
extern struct Thread_I *thread_i;

//extern struct Thread_I *thread_di_i;

extern pthread_mutex_t mutex1;
//extern pthread_mutex_t mutex2;
//extern int Image_Locked;
//extern GLuint Image_Texture;

//loads file data into **data, allocates initial image
int Load_Terrain(char *filename);
//adjusts sea levels by 1m when called
//static void Adjust_Sea_Level(struct image_attr *ia);
void World_Thread(void);


#endif