]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Game.h
cleanup, renamed rotations to yaw/pitch
[lugaru.git] / Source / Game.h
index 63bb0a6468bfcbf60863b6055005c8ab0a90edd4..ec30c86ae7a00df3267cbe7494830cd63aaa640c 100644 (file)
@@ -59,247 +59,129 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include "Account.h"
 #include "Sounds.h"
 
-extern GLuint rabbittexture;
-
-class Game
-{
-       public:
-               typedef std::map<std::string, GLuint> TextureList;
-               typedef std::map<GLuint, std::string> GLTextureList;
-               typedef TextureList::iterator TexIter;
-               static TextureList textures;
-
-               GLuint terraintexture;
-               GLuint terraintexture2;
-               GLuint terraintexture3;
-               GLuint screentexture;
-               GLuint screentexture2;
-               GLuint logotexture;
-               GLuint loadscreentexture;
-               GLuint Maparrowtexture;
-               GLuint Mapboxtexture;
-               GLuint Mapcircletexture;
-               GLuint cursortexture;
-               GLuint Mainmenuitems[10];
-
-               int nummenuitems;
-               int startx[100];
-               int starty[100];
-               int endx[100];
-               int endy[100];
-               float selectedlong[100];
-               float offsetx[100];
-               float offsety[100];
-               float movex[100];
-               float movey[100];
-               float transition;
-               int anim;
-               int selected;
-               int keyselect;
-               int loaddistrib;
-               int indemo;
-
-               bool won;
-
-               bool entername;
-
-               char menustring[100][256];
-               char registrationname[256];
-               float registrationnumber;
-
-               int newdetail;
-               int newscreenwidth;
-               int newscreenheight;
-
-               bool gameon;
-               float deltah,deltav;
-               int mousecoordh,mousecoordv;
-               int oldmousecoordh,oldmousecoordv;
-               float rotation,rotation2;
-               SkyBox skybox;
-               bool cameramode;
-               bool cameratogglekeydown;
-               bool chattogglekeydown;
-               int olddrawmode;
-               int drawmode;
-               bool drawmodetogglekeydown;
-               bool explodetogglekeydown;
-               bool detailtogglekeydown;
-               bool firstload;
-               bool oldbutton;
-
-               float leveltime;
-               float loadtime;
-
-               Model hawk;
-               XYZ hawkcoords;
-               XYZ realhawkcoords;
-               GLuint hawktexture;
-               float hawkrotation;
-               float hawkcalldelay;
-
-               Model eye;
-               Model iris;
-               Model cornea;
-
-               bool stealthloading;
-
-               int campaignnumlevels;
-               char campaignmapname[50][256];
-               char campaigndescription[50][256];
-               int campaignchoosenext[50];
-               int campaignnumnext[50];
-               int campaignnextlevel[50][10];
-               int campaignchoicesmade;
-               int campaignchoices[5000];
-               int campaignlocationx[50];
-               int campaignlocationy[50];
-               int campaignchoicenum;
-               int campaignchoicewhich[10];
-               int whichchoice;
-
-               int numlevelspassed;
-               int levelorder[5000];
-               int levelvisible[50];
-               int levelhighlight[50];
-
-               bool minimap;
-
-               int musictype,oldmusictype,oldoldmusictype;
-               bool realthreat;
-
-               Model rabbit;
-               XYZ rabbitcoords;
-
-               XYZ mapcenter;
-               float mapradius;
-
-               Text text;
-               float fps;
-
-               XYZ cameraloc;
-               float cameradist;
-
-               bool envtogglekeydown;
-               bool slomotogglekeydown;
-               bool texturesizetogglekeydown;
-               bool freezetogglekeydown;
-               int drawtoggle;
-
-               bool editorenabled;
-               int editortype;
-               float editorsize;
-               float editorrotation;
-               float editorrotation2;
-
-               float brightness;
-
-               int quit;
-               int tryquit;
-
-               XYZ pathpoint[30];
-               int numpathpoints;
-               int numpathpointconnect[30];
-               int pathpointconnect[30][30];
-               int pathpointselected;
-
-               int endgame;
-               bool scoreadded;
-               int numchallengelevels;
-
-               bool console;
-               int archiveselected;
-               char consoletext[15][256];
-               int consolechars[15];
-               bool chatting;
-               char displaytext[15][256];
-               int displaychars[15];
-               float displaytime[15];
-               float displayblinkdelay;
-               bool displayblink;
-               int displayselected;
-               bool consolekeydown;
-               bool consoletogglekeydown;
-               float consoleblinkdelay;
-               bool consoleblink;
-               int consoleselected;
-               //int togglekey[140];
-               //float togglekeydelay[140];
-               bool autocam;
-
-               unsigned short crouchkey,jumpkey,forwardkey,chatkey,backkey,leftkey,rightkey,drawkey,throwkey,attackkey;
-               bool oldattackkey;
-
-               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(StereoSide side);
-               void DrawGL();
-               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);
-               int loading;
-               float talkdelay;
-               
-               void fireSound(int sound=fireendsound);
-               void setKeySelected();
-
-               int numboundaries;
-               XYZ boundary[360];
-
-               int whichlevel;
-               int oldenvironment;
-               int targetlevel;
-               float changedelay;
-
-               float musicvolume[4];
-               float oldmusicvolume[4];
-               int musicselected;
-               int change;
-               Game();
-               ~Game() {
-                       for(int i=0;i<10;i++){
-                               if(Mainmenuitems[i])glDeleteTextures( 1, &Mainmenuitems[i] );
-                       }
-                       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();
-               }
-               bool isWaiting() { return waiting; };
-       private:
-               void setKeySelected_thread();
-               static int thread(void *data);
-               void inputText(char* str, int* charselected, int* nb_chars);
-               void flash();
-               bool waiting;
-               bool mainmenutogglekeydown;
-               //int mainmenu;
-               Account* accountactive;
-};
+#define NB_CAMPAIGN_MENU_ITEM 7
+
+namespace Game {
+    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 newdetail;
+    extern int newscreenwidth;
+    extern int newscreenheight;
+
+    extern bool gameon;
+    extern float deltah,deltav;
+    extern int mousecoordh,mousecoordv;
+    extern int oldmousecoordh,oldmousecoordv;
+    extern float yaw,pitch;
+    extern SkyBox *skybox;
+    extern bool cameramode;
+    extern bool firstload;
+
+    extern float leveltime;
+    extern float loadtime;
+
+    extern Model hawk;
+    extern XYZ hawkcoords;
+    extern XYZ realhawkcoords;
+    extern GLuint hawktexture;
+    extern float hawkyaw;
+    extern float hawkcalldelay;
+
+    extern Model eye;
+    extern Model iris;
+    extern Model cornea;
+
+    extern bool stealthloading;
+    extern int loading;
+
+    extern int musictype;
+
+    extern XYZ mapcenter;
+    extern float mapradius;
+
+    extern Text *text;
+    extern float fps;
+
+    extern bool editorenabled;
+    extern int editortype;
+    extern float editorsize;
+    extern float editoryaw;
+    extern float editorpitch;
+
+    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 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 float consoleblinkdelay;
+    extern bool consoleblink;
+    extern int consoleselected;
+
+    extern int oldenvironment;
+    extern int targetlevel;
+    extern float changedelay;
+
+    extern bool waiting;
+    extern Account* accountactive;
+
+    extern unsigned short crouchkey,jumpkey,forwardkey,chatkey,backkey,leftkey,rightkey,drawkey,throwkey,attackkey;
+    extern unsigned short consolekey;
+
+    void newGame();
+    void deleteGame();
+
+    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 InitGame();
+    void LoadStuff();
+    void LoadingScreen();
+    int DrawGLScene(StereoSide side);
+    void LoadMenu();
+    void Tick();
+    void TickOnce();
+    void TickOnceAfter();
+    void SetUpLighting();
+    GLvoid ReSizeGLScene(float fov, float near);
+    int checkcollide(XYZ startpoint, XYZ endpoint);
+    int checkcollide(XYZ startpoint, XYZ endpoint, int what);
+    
+    void fireSound(int sound=fireendsound);
+    void setKeySelected();
+
+    void inputText(char* str, int* charselected, int* nb_chars);
+    void flash();
+}
 
 #ifndef __forceinline
 #  ifdef __GNUC__
@@ -333,10 +215,10 @@ extern XYZ dialoguecamera[max_dialogues][max_dialoguelength];
 extern XYZ participantlocation[max_dialogues][10];
 extern int participantfocus[max_dialogues][max_dialoguelength];
 extern int participantaction[max_dialogues][max_dialoguelength];
-extern float participantrotation[max_dialogues][10];
+extern float participantyaw[max_dialogues][10];
 extern XYZ participantfacing[max_dialogues][max_dialoguelength][10];
-extern float dialoguecamerarotation[max_dialogues][max_dialoguelength];
-extern float dialoguecamerarotation2[max_dialogues][max_dialoguelength];
+extern float dialoguecamerayaw[max_dialogues][max_dialoguelength];
+extern float dialoguecamerapitch[max_dialogues][max_dialoguelength];
 extern int indialogue;
 extern int whichdialogue;
 extern int directing;