X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=79f2abcfdc4173f65c6c90026627a5757706856c;hb=44146d06c780d3aaa283672fedb08b8870ebe1b9;hp=a112d0a47697684f893d76897686707bd8f8b763;hpb=36cc3af3e5074215817ddee16defde754e2ad67f;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index a112d0a..79f2abc 100644 --- a/Source/Game.h +++ b/Source/Game.h @@ -1,6 +1,33 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + #ifndef _GAME_H_ #define _GAME_H_ +#if (defined(__APPLE__) && defined(__MACH__)) +# ifdef PLATFORM_MACOSX +# error Do not define PLATFORM_MACOSX for new builds. It is for the old Carbonized build. +# endif +#endif + #ifdef PLATFORM_MACOSX #include #include "Quicktime.h" @@ -10,14 +37,17 @@ //#include #include "TGALoader.h" -#ifdef WIN32 -#include "WinInput.h" -#elif USE_SDL + +#if USE_SDL #include "SDL.h" -#include "SDLInput.h" +#endif + +#if !PLATFORM_MACOSX +#include "WinInput.h" #else #include "Macinput.h" #endif + #include "Terrain.h" #include "Skybox.h" #include "Skeleton.h" @@ -38,15 +68,6 @@ extern GLuint rabbittexture; -#ifndef TRUE -#define TRUE 1 -#endif - -#ifndef FALSE -#define FALSE 0 -#endif - - class Game { public: @@ -229,7 +250,7 @@ public: void LoadingScreen(); void FadeLoadingScreen(float howmuch); void Dispose(); - int DrawGLScene(GLvoid); + int DrawGLScene(void); void Tick(); void TickOnce(); void TickOnceAfter(); @@ -279,4 +300,36 @@ public: }; +#ifndef __forceinline +# ifdef __GNUC__ +# define __forceinline inline __attribute__((always_inline)) +# endif +#endif + +static __forceinline void swap_gl_buffers(void) +{ +#ifdef WIN32 + extern HDC hDC; + SwapBuffers( hDC); +#elif USE_SDL + SDL_GL_SwapBuffers(); +#elif PLATFORM_MACOSX + extern AGLContext gaglContext; + aglSwapBuffers(gaglContext); +#else + #error define your platform. +#endif +} + +#ifdef __GNUC__ +#define LONGLONGCONST(x) (x##ll) +#else +#define LONGLONGCONST(x) (x) +#endif + +extern "C" { void UndefinedSymbolToExposeStubbedCode(void); } +//#define STUBBED(x) UndefinedSymbolToExposeStubbedCode(); +#define STUBBED(x) { static bool seen = false; if (!seen) { seen = true; fprintf(stderr, "STUBBED: %s at %s:%d\n", x, __FILE__, __LINE__); } } +//#define STUBBED(x) + #endif