-//keeps track of which textures are loaded
-//TODO: delete them properly
-struct TextureInfo {
- bool isLoaded;
- bool isSkin;
- const char* fileName;
- GLuint* ptextureid;
- int mipmap;
- bool hasalpha;
- GLubyte* array;
- int* skinsize;
-
- void load() {
- if(isSkin)
- Game::LoadTextureSaveData(fileName,ptextureid,mipmap,array,skinsize,isLoaded);
- else
- Game::LoadTextureData(fileName,ptextureid,mipmap,hasalpha);
- isLoaded=true;
- }
- TextureInfo(const char *_fileName, GLuint *_ptextureid,int _mipmap, bool _hasalpha):
- isLoaded(false), isSkin(false), array(NULL), skinsize(NULL),
- fileName(_fileName), ptextureid(_ptextureid), mipmap(_mipmap), hasalpha(_hasalpha) { }
- TextureInfo(const char *_fileName, GLuint *_ptextureid, int _mipmap, GLubyte *_array, int *_skinsize):
- isLoaded(false), isSkin(true), hasalpha(false),
- fileName(_fileName), ptextureid(_ptextureid), mipmap(_mipmap), array(_array), skinsize(_skinsize) { }
-};
+namespace Game
+{
+ //public:
+ extern GLuint terraintexture;
+ extern GLuint terraintexture2;
+ extern GLuint terraintexture3;
+ extern GLuint screentexture;
+ extern GLuint screentexture2;
+ extern GLuint logotexture;
+ extern GLuint loadscreentexture;
+ extern GLuint Maparrowtexture;
+ extern GLuint Mapboxtexture;
+ extern GLuint Mapcircletexture;
+ extern GLuint cursortexture;
+ extern GLuint Mainmenuitems[10];
+
+ extern int selected;
+ extern int keyselect;
+ extern int indemo;
+
+ extern bool won;
+
+ extern bool entername;
+
+ extern char registrationname[256];
+ extern float registrationnumber;
+
+ extern int newdetail;
+ extern int newscreenwidth;
+ extern int newscreenheight;
+
+ extern bool gameon;
+ extern float deltah,deltav;
+ extern int mousecoordh,mousecoordv;
+ extern int oldmousecoordh,oldmousecoordv;
+ extern float rotation,rotation2;
+ extern SkyBox skybox;
+ extern bool cameramode;
+ extern int olddrawmode;
+ extern int drawmode;
+ extern bool firstload;
+ extern bool oldbutton;
+
+ extern float leveltime;
+ extern float loadtime;
+
+ extern Model hawk;
+ extern XYZ hawkcoords;
+ extern XYZ realhawkcoords;
+ extern GLuint hawktexture;
+ extern float hawkrotation;
+ extern float hawkcalldelay;
+
+ extern Model eye;
+ extern Model iris;
+ extern Model cornea;
+
+ extern bool stealthloading;
+
+ extern std::vector<CampaignLevel> campaignlevels;
+ extern int whichchoice;
+ extern int actuallevel;
+ extern bool winhotspot;
+ extern bool windialogue;
+
+ extern bool minimap;
+
+ extern int musictype,oldmusictype,oldoldmusictype;
+ extern bool realthreat;
+
+ extern Model rabbit;
+ extern XYZ rabbitcoords;
+
+ extern XYZ mapcenter;
+ extern float mapradius;
+
+ extern Text* text;
+ extern float fps;
+
+ extern XYZ cameraloc;
+ extern float cameradist;
+
+ extern int drawtoggle;
+
+ extern bool editorenabled;
+ extern int editortype;
+ extern float editorsize;
+ extern float editorrotation;
+ extern float editorrotation2;
+
+ extern float brightness;
+
+ extern int quit;
+ extern int tryquit;
+
+ extern XYZ pathpoint[30];
+ extern int numpathpoints;
+ extern int numpathpointconnect[30];
+ extern int pathpointconnect[30][30];
+ extern int pathpointselected;
+
+ extern int endgame;
+ extern bool scoreadded;
+ extern int numchallengelevels;
+
+ extern bool console;
+ extern int archiveselected;
+ extern char consoletext[15][256];
+ extern int consolechars[15];
+ extern bool chatting;
+ extern char displaytext[15][256];
+ extern int displaychars[15];
+ extern float displaytime[15];
+ extern float displayblinkdelay;
+ extern bool displayblink;
+ extern int displayselected;
+ extern bool consolekeydown;
+ extern float consoleblinkdelay;
+ extern bool consoleblink;
+ extern int consoleselected;
+ extern bool autocam;
+
+ extern unsigned short crouchkey,jumpkey,forwardkey,chatkey,backkey,leftkey,rightkey,drawkey,throwkey,attackkey;
+ extern unsigned short consolekey;
+ extern bool oldattackkey;
+
+ void LoadTexture(const string fileName, GLuint *textureid,int mipmap, bool hasalpha);
+ void LoadTextureSave(const string 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, GLubyte *array);
+ void InitGame();
+ void LoadScreenTexture();
+ void LoadStuff();
+ void LoadingScreen();
+ void LoadCampaign();
+ std::vector<std::string> ListCampaigns();
+ void FadeLoadingScreen(float howmuch);
+ void Dispose();
+ int DrawGLScene(StereoSide side);
+ void DrawMenu();
+ void DrawGL();
+ void LoadMenu();
+ //factored from Tick() -sf17k
+ void MenuTick();
+ void doTutorial();
+ void doDebugKeys();
+ void doJumpReversals();
+ void doAerialAcrobatics();
+ void doAttacks();
+ void doPlayerCollisions();
+ void doAI(int i);
+ //end factored
+ void Tick();
+ void TickOnce();
+ void TickOnceAfter();
+ void SetUpLighting();
+ void Loadlevel(int which);
+ void Loadlevel(const char *name);
+ void Setenvironment(int which);
+ GLvoid ReSizeGLScene(float fov, float near);
+ int findPathDist(int start,int end);
+ int checkcollide(XYZ startpoint, XYZ endpoint);
+ int checkcollide(XYZ startpoint, XYZ endpoint, int what);
+ extern int loading;
+ extern float talkdelay;
+
+ void fireSound(int sound=fireendsound);
+ void setKeySelected();
+
+ extern int numboundaries;
+ extern XYZ boundary[360];
+
+ extern int whichlevel;
+ extern int oldenvironment;
+ extern int targetlevel;
+ extern float changedelay;
+
+ extern float musicvolume[4];
+ extern float oldmusicvolume[4];
+ extern int musicselected;
+ extern int change;
+ void newGame();
+ void deleteGame();
+ extern bool waiting;
+ //private:
+ int setKeySelected_thread(void*);
+ int thread(void *data);
+ void inputText(char* str, int* charselected, int* nb_chars);
+ void flash();
+ //bool waiting;
+ extern Account* accountactive;
+}