+/*
+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_
+#include "SDL.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 <Carbon.h>
#include "Quicktime.h"
//#include <glut.h>
#include "TGALoader.h"
-#ifdef WIN32
+
+#if !PLATFORM_MACOSX
#include "WinInput.h"
-#elif USE_SDL
-#include "SDL.h"
-#include "SDLInput.h"
#else
#include "Macinput.h"
#endif
+
#include "Terrain.h"
#include "Skybox.h"
#include "Skeleton.h"
-#include "Models.h"
+#include "Models.h"
#include "Lights.h"
#include "Person.h"
#include "Constants.h"
-#include "fmod.h"
#include "Sprites.h"
//#include <agl.h>
#include "Text.h"
extern GLuint rabbittexture;
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-
-class Game
+class Game
{
public:
bool oldattackkey;
long long MD5_string (char *string);
- static void LoadTexture(char *fileName, GLuint *textureid,int mipmap, bool hasalpha);
- static void LoadTextureSave(char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize);
- void LoadSave(char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize);
- bool AddClothes(char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize);
+ static void LoadTexture(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha);
+ static void LoadTextureSave(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize);
+ void LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize);
+ bool AddClothes(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize);
void InitGame();
void LoadStuff();
void LoadingScreen();
void FadeLoadingScreen(float howmuch);
void Dispose();
- int DrawGLScene(GLvoid);
+ int DrawGLScene(void);
void Tick();
void TickOnce();
void TickOnceAfter();
int musicselected;
int change;
Game();
- ~Game() {
+ ~Game() {
for(int i=0;i<10;i++){
if(Mainmenuitems[i])glDeleteTextures( 1, &Mainmenuitems[i] );
}
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)
#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