#ifndef NGRAPH_H
#define NGRAPH_H
#define NGRAPH_QUIT 0

// WIN32 SETTINGS
#ifdef _WIN32
#ifdef _DEBUG
#pragma comment (linker, "/NODEFAULTLIB:msvcrt.lib") // SDL Warning fix
#pragma comment (linker, "/NODEFAULTLIB:libcmtd.lib") // FTGL Warning fix
#endif // DEBUG
#pragma comment (linker, "/ENTRY:mainCRTStartup")	// These two settings disable
#pragma comment (linker, "/SUBSYSTEM:WINDOWS")		// showing the command prompt
#pragma comment(lib, "SDL.lib")
#pragma comment(lib, "SDLmain.lib")
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "freetype204_D.lib") // For FTGL
#pragma comment(lib, "ftgl_static_MT_d.lib") // For FTGL
#include <windows.h>
#endif // WIN32

#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <string>
#include <fstream>
#include <queue>
#include <gl/gl.h>
#include <gl/glu.h>
#include <sdl.h>
#include <limits.h>

#define PROGRAM_TITLE "nGraph - A visual implementation of search & single-shortest path graph algorithms"

// Default Video Settings
#define DEFAULT_WINDOW_WIDTH	800
#define DEFAULT_WINDOW_HEIGHT	600
#define DEFAULT_BITS_PER_PIXEL	32
#define DEFAULT_FULLSCREEN		false

// Default Program Settings
#define NUMBER_GRAPH_POINTS		9 	// Changing this number may or may not work.. I don't have enough time to test it all
									// If you do change it make sure you stay under 26 (alphabet only please)
#define START_LETTER			"A"	// be nice and stay between A and Z please
#define MAX_FPS					60	// It is best to set this at your refresh rate as you will not see anything faster

// Return Value definitions ---------
// Don't alter these without editing menu.h first
#define NGRAPH_MAIN_MENU			33
#define NGRAPH_SEARCH				32
#define NGRAPH_SHORTEST_PATH		31
#define NGRAPH_MIN_TREE				30
#define NGRAPH_QUIT					0

#endif //NGRAPH_H
