#define NTEXTURE 30 // The number of textures (in the models-textures dir)
#define MAXOBJECTS 256
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
// Meshes and textures arrays
extern mesh* meshes[];
extern texture* textures[];
// Scene object arrays
extern SceneObject sceneObjs[];
extern int nObjects;
+extern int curObject;
+extern int buttonSelected;
+extern int manipulateState;
// Directories containing models
extern char *dirDefault1;
// Stores the directory name for the meshes and textures.
extern char dataDir[];
-// Lighting
-extern GLfloat lightColor[];
-extern GLfloat lightPosition[];
+extern int startx, starty;
-extern int moving, startx, starty;
-extern int lightMoving, lightStartX, lightStartY;
+/* Size of floor, from -n to n */
+extern int floorSize;
+extern float squareSize;
+/* Current camera position */
+extern GLfloat camx, camy, camz, keyrot;
+extern GLfloat factor;
-extern float jump;
-extern float lightAngle, lightHeight;
-extern GLfloat angle;
-extern GLfloat angle2;
+/* Length of axis lines */
+extern GLfloat lineLength;
-/* Near and far parameters - calculates scene size */
-extern GLfloat near;
-extern GLfloat far;
+/* Light 0 parameters */
+extern GLfloat diffuse0[];
+extern GLfloat ambient0[];
+extern GLfloat specular0[];
+extern GLfloat direction0[];
-/* Near and far clipping planes - calculates clipping planes */
-extern GLfloat nearClip;
-extern GLfloat farClip;
+extern GLfloat lightPosition0[];
-/* Zoom factor for mouse movements */
-extern GLfloat zoomFactor;
+extern float lightAngle0, lightHeight0;
+extern int lightMoving0, lightStartX0, lightStartY0;
-/* Recursion level for floor drawing */
-extern int drawFloorRecurse;
+/* Light 1 parameters */
+extern GLfloat diffuse1[];
+extern GLfloat ambient1[];
+extern GLfloat specular1[];
+extern GLfloat direction1[];
-/* Size of floor, from -n to n */
-extern int floorSize;
+extern GLfloat lightPosition1[];
-/* Light 0 parameters */
-extern GLfloat diffuse0[];
-extern GLfloat ambient0[];
-extern GLfloat specular0[];
-extern GLfloat emission0[];
-extern GLfloat light0_pos[];
+extern float lightAngle1, lightHeight1;
+extern int lightMoving1, lightStartX1, lightStartY1;
+
+/* Material types */
+extern GLfloat ambient[];
+extern GLfloat diffuse[];
+extern GLfloat specular[];
+extern GLfloat shine;
extern GLfloat glightmodel[];
+extern GLfloat emission[];
+
+/* Beginning width, height */
+extern int width, height;
+
+/* Zoom and rotate tracking */
+extern GLfloat zoom, rotate, camAngle;
+extern GLfloat zoomFactor, camRotateFactor, camAngleFactor;
+extern GLfloat leftrightFactor, nearfarFactor, bigsmallFactor, updownFactor, rotateFactor, texscaleFactor;
-#endif /* GLOBALS_H */
+/* Texture state tracking */
+extern int currentGroundTexture, currentMeshTexture;
+#endif /* GLOBALS_H */
\ No newline at end of file