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