1 /* --------------------------------------------------------------------
2 EXTREME TUXRACER
3 
4 Copyright (C) 1999-2001 Jasmin F. Patry (Tuxracer)
5 Copyright (C) 2010 Extreme Tux Racer Team
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
11 
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16 ---------------------------------------------------------------------*/
17 
18 #ifndef BH_H
19 #define BH_H
20 
21 // --------------------------------------------------------------------
22 //			global and or system-dependant includes
23 // --------------------------------------------------------------------
24 
25 #include <cstdint>
26 #include <cstddef>
27 #include <string>
28 
29 #include <GL/gl.h>
30 #include <SFML/System.hpp>
31 #include <SFML/Window.hpp>
32 #include <SFML/Graphics.hpp>
33 
34 #ifndef HAVE_CONFIG_H
35 #	ifdef _WIN32 // Windows platform
36 #		ifdef _MSC_VER // MSVC compiler
37 #			define OS_WIN32_MSC
38 #		else // Assume MinGW compiler
39 #			define OS_WIN32_MINGW
40 #		endif
41 #	else // Assume Unix platform (Linux, Mac OS X, BSD, ...)
42 #		ifdef __APPLE__
43 #			define OS_MAC
44 #		elif defined(__linux__)
45 #			define OS_LINUX
46 #		endif
47 #	endif
48 #endif // CONFIG_H
49 
50 #if defined OS_WIN32_MSC // Windows platform
51 #	include <windows.h>
52 #	include "glext.h"
53 #	pragma warning (disable:4244)
54 #	pragma warning (disable:4305)
55 #	define SEP "\\"
56 #	undef DrawText
57 #	undef GetObject
58 #	if _MSC_VER < 1900 // VS 2013 or older
59 #		define constexpr
60 #	endif
61 #elif defined OS_WIN32_MINGW
62 #	include <dirent.h>
63 #	include <GL/glext.h>
64 #	define SEP "/"
65 #else // Assume Unix platform (Linux, Mac OS X, BSD, ...)
66 #	include <unistd.h>
67 #	include <sys/types.h>
68 #	include <pwd.h>
69 #	include <dirent.h>
70 #	include <sys/time.h>
71 #	include <GL/glx.h>
72 #	define SEP "/"
73 #endif
74 
75 
76 #define USE_STENCIL_BUFFER
77 
78 #include "version.h"
79 #define WINDOW_TITLE "Extreme Tux Racer " ETR_VERSION_STRING
80 
81 #include "etr_types.h"
82 #include "common.h"
83 #include "game_config.h"
84 
85 extern TGameData g_game;
86 
87 #endif // BH_H
88