(no commit message)
[atyndall/cits2231.git] / globals.h
index dc92453..a849e05 100644 (file)
--- a/globals.h
+++ b/globals.h
@@ -9,10 +9,16 @@
 #define        GLOBALS_H
 
 // Defined values
-#define NMESH 54       // The number of meshes (in the models-textures dir)
+#define NMESH 54        // The number of meshes (in the models-textures dir)
 #define NTEXTURE 30     // The number of textures (in the models-textures dir)
 #define MAXOBJECTS 256
 
+#define LIGHTS 2        // Number of lights in program
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
 // Meshes and textures arrays
 extern mesh* meshes[];
 extern texture* textures[];
@@ -24,69 +30,63 @@ extern const char *objectMenuEntries[];
 // Scene object arrays
 extern SceneObject sceneObjs[];
 extern int nObjects;
+extern int curObject;
+extern int buttonSelected;
+extern int manipulateState;
 
-// Directories containing models
-extern char *dirDefault1;
-extern char *dirDefault2;
+/* Light object arrays and default values */
+extern LightObject lightObjs[];
 
-// Stores the directory name for the meshes and textures.
-extern char dataDir[];
+extern GLfloat defaultPosition[];
 
-// Lighting
-extern GLfloat lightColor[];
-extern GLfloat lightPosition[];
+extern GLfloat defaultAmbient[];
+extern GLfloat defaultDiffuse[];
+extern GLfloat defaultSpecular[];
+extern GLfloat defaultDirection[];
 
-extern int moving, startx, starty;
-extern int lightMoving, lightStartX, lightStartY;
+extern GLfloat defaultCutoff;
+extern GLfloat defaultExponent;
 
-/* Time varying or user-controled variables. */
-extern float jump;
-extern float lightAngle, lightHeight;
-extern GLfloat angle;
-extern GLfloat angle2;
+/* Material types */
+extern GLfloat materialAmbient[];
+extern GLfloat materialDiffuse[];
+extern GLfloat materialSpecular[];
 
-/* Near and far parameters - calculates scene size */
-extern GLfloat near;
-extern GLfloat far;
+/* Light parameters */
+extern GLfloat lightShine;
+extern GLfloat lightGlobalModel[];
+extern GLfloat lightGlobalEmission[];
+extern GLfloat lightBallSize;
 
-/* Near and far clipping planes - calculates clipping planes */
-extern GLfloat nearClip;
-extern GLfloat farClip;
+// Directories containing models
+extern char *dirDefault1;
+extern char *dirDefault2;
 
-/* Recursion level for floor drawing */
-extern int drawFloorRecurse;
+// Stores the directory name for the meshes and textures.
+extern char dataDir[];
+
+extern int startx, starty;
 
 /* Size of floor, from -n to n */
 extern int floorSize;
+extern float squareSize;
 
 /* Current camera position */
-extern GLfloat camx, camy, camz, rot;
+extern GLfloat camx, camy, camz, keyrot;
+extern GLfloat factor;
 
 /* Length of axis lines */
 extern GLfloat lineLength;
 
-/* Light 0 parameters */
-extern GLfloat diffuse0[];
-extern GLfloat ambient0[];
-extern GLfloat specular0[];
-extern GLfloat emission0[];
-
-extern GLfloat direction0[];
-extern GLfloat light0_pos[];
-
-extern GLfloat shine;
-
-extern GLfloat glightmodel[];
-
-/* Material types */
-extern GLfloat ambient[];
-extern GLfloat diffuse[];
-extern GLfloat specular[];
-
 /* Beginning width, height */
 extern int width, height;
 
 /* Zoom and rotate tracking */
-GLfloat zoomFactor, rotateFactor;
+extern GLfloat zoom, rotate, camAngle;
+extern GLfloat zoomFactor, camRotateFactor, camAngleFactor;
+extern GLfloat leftrightFactor, nearfarFactor, bigsmallFactor, updownFactor, rotateFactor, texscaleFactor;
+
+/* Texture state tracking */
+extern int currentGroundTexture, currentMeshTexture;
 
 #endif /* GLOBALS_H */
\ No newline at end of file

UCC git Repository :: git.ucc.asn.au