-int numdialogues;
-int numdialogueboxes[max_dialogues];
-int dialoguetype[max_dialogues];
-int dialogueboxlocation[max_dialogues][max_dialoguelength];
-float dialogueboxcolor[max_dialogues][max_dialoguelength][3];
-int dialogueboxsound[max_dialogues][max_dialoguelength];
-char dialoguetext[max_dialogues][max_dialoguelength][128];
-char dialoguename[max_dialogues][max_dialoguelength][64];
-XYZ dialoguecamera[max_dialogues][max_dialoguelength];
-XYZ participantlocation[max_dialogues][10];
-int participantfocus[max_dialogues][max_dialoguelength];
-int participantaction[max_dialogues][max_dialoguelength];
-float participantyaw[max_dialogues][10];
-XYZ participantfacing[max_dialogues][max_dialoguelength][10];
-float dialoguecamerayaw[max_dialogues][max_dialoguelength];
-float dialoguecamerapitch[max_dialogues][max_dialoguelength];
-int indialogue;
-int whichdialogue;
-int directing;
-float dialoguetime;
-int dialoguegonethrough[20];
-
-namespace Game{
- Texture terraintexture;
- Texture terraintexture2;
- Texture loadscreentexture;
- Texture Maparrowtexture;
- Texture Mapboxtexture;
- Texture Mapcircletexture;
- Texture cursortexture;
- GLuint screentexture = 0;
- GLuint screentexture2 = 0;
- Texture Mainmenuitems[10];
-
- int selected = 0;
- int keyselect = 0;
-
- int newdetail = 0;
- int newscreenwidth = 0;
- int newscreenheight = 0;
-
- bool gameon = 0;
- float deltah = 0;
- float deltav = 0;
- int mousecoordh = 0;
- int mousecoordv = 0;
- int oldmousecoordh = 0;
- int oldmousecoordv = 0;
- float yaw = 0;
- float pitch = 0;
- SkyBox *skybox = NULL;
- bool cameramode = 0;
- bool firstload = 0;
-
- Texture hawktexture;
- float hawkyaw = 0;
- float hawkcalldelay = 0;
- float leveltime = 0;
- float loadtime = 0;
-
- Model hawk;
- XYZ hawkcoords;
- XYZ realhawkcoords;
-
- Model eye;
- Model iris;
- Model cornea;
-
- bool stealthloading = 0;
-
- int musictype = 0;
-
- XYZ mapcenter;
- float mapradius = 0;
-
- Text *text = NULL;
- float fps = 0;
-
- bool editorenabled = 0;
- int editortype = 0;
- float editorsize = 0;
- float editoryaw = 0;
- float editorpitch = 0;
-
- int tryquit = 0;
-
- XYZ pathpoint[30];
- int numpathpoints = 0;
- int numpathpointconnect[30] = {};
- int pathpointconnect[30][30] = {};
- int pathpointselected = 0;
-
- int endgame = 0;
- bool scoreadded = 0;
- int numchallengelevels = 0;
-
- bool console = false;
- char consoletext[15][256] = {};
- int consolechars[15] = {};
- bool chatting = 0;
- char displaytext[15][256] = {};
- int displaychars[15] = {};
- float displaytime[15] = {};
- float displayblinkdelay = 0;
- bool displayblink = 0;
- int displayselected = 0;
- float consoleblinkdelay = 0;
- bool consoleblink = 0;
- int consoleselected = 0;
-
- unsigned short crouchkey=0,jumpkey=0,forwardkey=0,chatkey=0,backkey=0,leftkey=0,rightkey=0,drawkey=0,throwkey=0,attackkey=0;
- unsigned short consolekey=0;
-
- int loading = 0;
-
- int oldenvironment = 0;
- int targetlevel = 0;
- float changedelay = 0;
-
- bool waiting = false;
- Account* accountactive = NULL;
+const char* pathtypenames[] = { "keepwalking", "pause" };
+const char* editortypenames[] = {
+ "active", "sitting", "sitting wall", "sleeping",
+ "dead1", "dead2", "dead3", "dead4"
+};
+
+namespace Game
+{
+Texture terraintexture;
+Texture terraintexture2;
+Texture loadscreentexture;
+Texture Maparrowtexture;
+Texture Mapboxtexture;
+Texture Mapcircletexture;
+Texture cursortexture;
+GLuint screentexture = 0;
+GLuint screentexture2 = 0;
+Texture Mainmenuitems[10];
+
+int selected = 0;
+int keyselect = 0;
+
+int newdetail = 0;
+int newscreenwidth = 0;
+int newscreenheight = 0;
+
+bool gameon = 0;
+float deltah = 0;
+float deltav = 0;
+int mousecoordh = 0;
+int mousecoordv = 0;
+int oldmousecoordh = 0;
+int oldmousecoordv = 0;
+float yaw = 0;
+float pitch = 0;
+SkyBox* skybox = NULL;
+bool cameramode = 0;
+bool firstLoadDone = false;
+
+Texture hawktexture;
+float hawkyaw = 0;
+float hawkcalldelay = 0;
+
+float leveltime = 0;
+float wonleveltime = 0;
+float loadtime = 0;
+
+Model hawk;
+XYZ hawkcoords;
+XYZ realhawkcoords;
+
+Model eye;
+Model iris;
+Model cornea;
+
+bool stealthloading = 0;
+
+int musictype = 0;
+
+XYZ mapcenter;
+float mapradius = 0;
+
+Text* text = NULL;
+Text* textmono = NULL;
+float fps = 0;
+
+bool editorenabled = 0;
+int editortype = 0;
+float editorsize = 0;
+float editoryaw = 0;
+float editorpitch = 0;
+
+int tryquit = 0;
+
+XYZ pathpoint[30];
+int numpathpoints = 0;
+int numpathpointconnect[30] = {};
+int pathpointconnect[30][30] = {};
+int pathpointselected = 0;
+
+int endgame = 0;
+bool scoreadded = 0;
+int numchallengelevels = 0;
+
+bool console = false;
+std::string consoletext[15] = {};
+float consoleblinkdelay = 0;
+bool consoleblink = 0;
+unsigned consoleselected = 0;
+
+unsigned short crouchkey = 0, jumpkey = 0, forwardkey = 0, backkey = 0, leftkey = 0, rightkey = 0, drawkey = 0, throwkey = 0, attackkey = 0;
+unsigned short consolekey = 0;
+
+int loading = 0;
+
+int oldenvironment = 0;
+int targetlevel = 0;
+float changedelay = 0;
+
+bool waiting = false;