//********************************************************************************************

//					PROGRAMME DE BASE POUR UNE APPLICATION 3D EN OPENGL

//			MODE PLEINE ECRAN, 1024X768, 32 BITS DE COULEUR.

//********************************************************************************************

#include "Included_files.h"

#include "Config.h"

#include "MemoryManager/MemoryManager.h"

int screenWidth;
int screenHeight;

void initOpenGL()
{
	glClearColor(0,0,0,0);
	glEnable(GL_DEPTH_TEST);
	glClearDepth(1000);
}

int main(int argc,char** argv)			// PRGM principal
{
	// NE PAS TOUCHER !!!!!
	// l'appel au memory manager doit TOUJOURS etre le premier appel du programme...
	MemoryManager::getInstance();
	glutInit(&argc,argv);

	Config::getInstance().load("Config.ini");

	glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
	screenWidth = (int)Config::getInstance().getVariable("engine","screenWidth");
	if (screenWidth == 0.0f){
		screenWidth = 640;
	}
	screenHeight = (int)Config::getInstance().getVariable("engine","screenHeight");
	if (screenHeight == 0.0f){
		screenHeight = 480;
	}
	if (Config::getInstance().getValue("engine","fullscreen") == "true"){
		char buffer[64];
		sprintf(buffer,"%dx%d:32@75",screenWidth,screenHeight);
		glutGameModeString(buffer);
		glutEnterGameMode();
	}else{
		glutInitWindowSize(screenWidth,screenHeight);
		glutCreateWindow("projet");
	}

	// pour la mode plein ecran
	// pour le mode fenetré

	initOpenGL();
	glut_base_fenetre();

	glutMainLoop();

	return 0;
}
