///*********************************************************************
//*	Map Loader
//*	HEADER FILE
//*	Autor:	Michal Jirouš
//*	Datum: 29.7.2008
//*	Soubor: game_loadmap.h
//*	Popis: Trida obsahuje funkce pro nacitani levelu ve formatu *.map,
//*			ktery pouzivat Valve hammer editor. Jeji funkce vytvareji 
//*			podle zdrojovych dat objekty a nastavuje jejich vlastnosti.
//**********************************************************************/
//
//#ifndef __LOADMAP_H__
//#define __LOADMAP_H__
//
//#include <map>
//#include "lexan.h"
//#include <string>
//#include "algebraic.h"
//#include "baseobject.h"
//#include "baseentity.h"
//enum loadmap_syntax_analyse
//{
//	LDMAP_QUOTES = 0,
//	LDMAP_EMPTY_SPACE,
//	LDMAP_LEFT_BRACKET,
//	LDMAP_RIGHT_BRACKET,
//	LDMAP_RIGHT_PARENTHESIS,
//	LDMAP_LEFT_PARENTHESIS,
//	LDMAP_LEFT_VINCULUM,
//	LDMAP_RIGHT_VINCULUM,
//	LDMAP_IDENTIFICATOR,
//	LDMAP_NO_SYMBOL
//};
//extern CElevator *elevator;
//class CLoadMap
//{
//	map<string,string> parameterMap;
//	CLexan m_pLexan;
//	int m_iLexSymbol;
//	int show()
//	{
//		return m_pLexan.show();
//	}
//
//	bool compare( int symbol )
//	{
//		return m_pLexan.compare( symbol );
//	}
//
//	std::string readTillChar( char cCharacter )
//	{
//		m_iLexSymbol = LDMAP_NO_SYMBOL;
//		return m_pLexan.readTillCharacter( cCharacter );
//	}
//
//	int readIValue();
//	float readFValue();
//	Vector readVector();
//
//	void ANA_ObjectDefinition();
//	void ANA_Faces();
//	void ANA_Params();
//	void ANA_Face();
//	void ANA_Plane();
//
//
//	void createPolygons();
//	void transformPlanesToPolygons();	//new
//	void intersectNewPoints( );
//	void sortPointsClockSide(  );
//	void createPointLinks();
//	void compilePolygonsFace();
//	
//	void createPolygonBrush(  );
//	void deleteBrushes(  ); 
//
//	GLuint	m_uiNamesIndex;
//	GLuint m_uiBrushIndex;
//	GLuint m_iuPolygonIndex;
//
//	void resetToNewObject(void);
//	CBaseObject *createdObject;
//
//	BasicLinkedList<alg::LoadingBrush> m_LoadingBrushes;
//	size_t m_uiFileSize;
//	void updateLoadingScreen();
//public:
//	CLoadMap()
//	{
//		m_iLexSymbol = LDMAP_NO_SYMBOL;
//		m_uiBrushIndex = 0;
//		m_iuPolygonIndex = 0;
//	}
//	void init();
//	void loadMap(std::string filename);
//};
//
//extern CLoadMap maploader;
//
//#endif

