#pragma once #include "../glIncludes.h" #include #include // private dependencies, shouldn't be directly accessible to client //#include // only used if mouse is required (not portable) #include "camera.h" #include "texturedPolygons.h" namespace ShaysWorld { // USE THESE STTEINGS TO CHANGE SPEED (on different spec computers) // Set speed (steps) extern GLdouble movementSpeed; extern GLdouble rotationSpeed; extern GLdouble stepIncrement; extern GLdouble angleIncrement; extern int frameCount; extern clock_t lastClock; // ratio of screen extern float ratio; // screen width and height extern int width, height; // display campus map extern bool DisplayMap; // display welcome screen extern bool DisplayWelcome; // display exit screen extern bool DisplayExit; // display light fittings extern bool lightsOn; // display ECL block extern bool displayECL; // varibles used for tarnslating graphics etc extern GLdouble step, step2, stepLength; // Glut Cylinder // extern GLUquadricObj* glu_cylinder; // Stores raw image file extern unsigned char* image; // objects extern Camera cam; extern TexturedPolygons tp; // initializes setting void myinit(int, int); // display functions void Display(); void keys(unsigned char key, int x, int y); // calls display functions below to draw the backdrops void DrawBackdrop(); // functions to display display lists (images) and bind them to a texture void DisplayAboveWindowBlock(); void DisplayBench(); void DisplayBricks(); void DisplayChancPosts(); void DisplayCylinders(); void DisplayDoorPaving(); void DisplayDoorPosts(); void DisplayEntranceSteps(); void DisplayExtras(); void DisplayGrass(); void DisplayLargerTextures(); void DisplayLibraryPosts(); void DisplayMainPosts(); void DisplayPavement(); void DisplayPhysSciPosts(); void DisplayPurplePosts(); void DisplayRedPosts(); void DisplayRoof(); void DisplayStepBricks(); void DisplayLights(); void DisplayECL(); // calls functions to create display lists (below) void CreateTextureList(); // creates display lists void DrawGrass(); void DrawChancPosts(); void DrawDoorPosts(); void DrawPurplePosts(); void DrawRedPosts(); void DrawMainPosts(); void DrawAboveWindowBlock(); void DrawDoorPaving(); void DrawPhysSciPosts(); void DrawLibraryPosts(); void DrawBricks(); void DrawPavement(); void DrawExtras(); void DrawRoof(); void DrawEntranceSteps(); void DrawLargerTextures(); void DrawLights(); void DrawBench(); void DrawCylinders(); void DrawAngledRoofBeam(int listNo, GLdouble x, GLdouble y, GLdouble z, GLdouble beamSize); void DrawAngledRoofBeam2(int listNo, GLdouble x, GLdouble y, GLdouble z, GLdouble beamSize); void DrawStepBricks(); void DrawMapExit(); void DrawECL(); void BindBridgeWall(GLint LR); void BindBuildingWall(); void BindWallPosts(GLint LR); // loads images and creates texture void CreateTextures(); // creates bounding boxes for collsion detection void CreateBoundingBoxes(); // creates different planes void CreatePlanes(); // deletes image and clears memory void DeleteImageFromMemory(unsigned char* tempImage); } // namespace ShaysWorld