X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=c4f033eb4c8e4cb7e81e6d74c5f563c7c1ef5960;hb=bcb5c54b2b6170c185583c18f5ec97b0bb813f0a;hp=65cbaf1b00e5d33cd84d4a930a77dd024307f15c;hpb=0cca0c495c7dc29d134a10d7eed5de1f377c99bf;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index 65cbaf1..c4f033e 100644 --- a/Source/Game.h +++ b/Source/Game.h @@ -1,16 +1,20 @@ #ifndef _GAME_H_ #define _GAME_H_ -#ifndef WIN32 +#ifdef PLATFORM_MACOSX #include #include "Quicktime.h" #endif + //Jordan included glut.h //#include #include "TGALoader.h" #ifdef WIN32 #include "WinInput.h" +#elif USE_SDL +#include "SDL.h" +#include "SDLInput.h" #else #include "Macinput.h" #endif @@ -30,11 +34,10 @@ #include "Weapons.h" #include "binio.h" #include -#include "gl.h" +#include "gamegl.h" extern GLuint rabbittexture; - class Game { public: @@ -248,23 +251,55 @@ public: Game(); ~Game() { for(int i=0;i<10;i++){ - if(Mainmenuitems[i])glDeleteTextures( 1, (const unsigned long *)&Mainmenuitems[i] ); + if(Mainmenuitems[i])glDeleteTextures( 1, &Mainmenuitems[i] ); } - glDeleteTextures( 1, (const unsigned long *)&cursortexture ); - glDeleteTextures( 1, (const unsigned long *)&Maparrowtexture ); - glDeleteTextures( 1, (const unsigned long *)&Mapboxtexture ); - glDeleteTextures( 1, (const unsigned long *)&Mapcircletexture ); - glDeleteTextures( 1, (const unsigned long *)&terraintexture ); - glDeleteTextures( 1, (const unsigned long *)&terraintexture2 ); - if(screentexture>0)glDeleteTextures( 1, (const unsigned long *)&screentexture ); - if(screentexture2>0)glDeleteTextures( 1, (const unsigned long *)&screentexture2 ); - glDeleteTextures( 1, (const unsigned long *)&hawktexture ); - glDeleteTextures( 1, (const unsigned long *)&logotexture ); - glDeleteTextures( 1, (const unsigned long *)&loadscreentexture ); + glDeleteTextures( 1, &cursortexture ); + glDeleteTextures( 1, &Maparrowtexture ); + glDeleteTextures( 1, &Mapboxtexture ); + glDeleteTextures( 1, &Mapcircletexture ); + glDeleteTextures( 1, &terraintexture ); + glDeleteTextures( 1, &terraintexture2 ); + if(screentexture>0)glDeleteTextures( 1, &screentexture ); + if(screentexture2>0)glDeleteTextures( 1, &screentexture2 ); + glDeleteTextures( 1, &hawktexture ); + glDeleteTextures( 1, &logotexture ); + glDeleteTextures( 1, &loadscreentexture ); Dispose(); } }; -#endif \ No newline at end of file +#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