diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/GameDraw.cpp | 157 |
1 files changed, 28 insertions, 129 deletions
diff --git a/src/GameDraw.cpp b/src/GameDraw.cpp index 9612a5b..9b7c1c5 100644 --- a/src/GameDraw.cpp +++ b/src/GameDraw.cpp @@ -21,12 +21,9 @@ extern Decals decals; int Game::DrawGLScene(void) { //Main menu - if(mainmenu==1){ - + if (mainmenu == 1) { //Setup fast sine fluctuation - sinefluct=sin(sinefluctprog); - sinefluctprog+=multiplier*1.5; glLoadIdentity(); @@ -40,17 +37,12 @@ int Game::DrawGLScene(void) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //"Black Shades" - + ReSizeGLScene(90.0f, 0.1f); glDisable(GL_TEXTURE_2D); - glDisable(GL_DEPTH_TEST); // Disables Depth Testing - glDisable(GL_CULL_FACE); - glDisable(GL_LIGHTING); - glBlendFunc(GL_SRC_ALPHA,GL_ONE); - glDepthMask(0); glMatrixMode(GL_PROJECTION); // Select The Projection Matrix @@ -579,191 +571,98 @@ int Game::DrawGLScene(void) glDepthMask(1); } - - } - - //If in-game - - if(mainmenu!=1){ - - //If flashing to fix menu bug, go back to menu after a frame - - if(mainmenu==2)mainmenu=1; - + } else { // in-game + // If flashing to fix menu bug, go back to menu after a frame + if (mainmenu == 2) + mainmenu = 1; glLoadIdentity(); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - glEnable(GL_DEPTH_TEST); - glDisable(GL_CLIP_PLANE0); //Visions - sinefluct=sin(sinefluctprog); - sinefluctprog+=multiplier*3; - - if(visions==0){ - - //environment light - - if(environment==sunny_environment){ - + if (!visions) { + switch (environment) { + case sunny_environment: viewdistance=2000; - fogcolorr=.5; - fogcolorg=.5; - fogcolorb=.8; - - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8,.1); - - } - - if(environment==foggy_environment){ - + break; + case foggy_environment: viewdistance=500; - fogcolorr=.5; - fogcolorg=.5; - fogcolorb=.5; - - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8,.2); - - } - - if(environment==night_environment){ - + break; + case night_environment: viewdistance=500; - fogcolorr=.15; - fogcolorg=.15; - fogcolorb=.3; - - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8,.2); - - } - - if(environment==snowy_environment){ - + break; + case snowy_environment: viewdistance=800; - fogcolorr=.5; - fogcolorg=.5; - fogcolorb=.5; - - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8,.2); - - } - - if(environment==rainy_environment){ - + break; + case rainy_environment: viewdistance=700; - fogcolorr=.3; - fogcolorg=.3; - fogcolorb=.3; - - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8,.2); - - } - - if(environment==firey_environment){ - + break; + case firey_environment: viewdistance=600; - fogcolorr=.3; - fogcolorg=.1; - fogcolorb=0; - - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8,.2); - + break; } glClearColor(fogcolorr,fogcolorg,fogcolorb,1); - - if(environment==sunny_environment){ - + if (environment == sunny_environment) { + fog.SetFog(fogcolorr, fogcolorg, fogcolorb, 0, viewdistance * 0.8, 0.1); GLfloat LightAmbient[]= { fogcolorr/4, fogcolorg/4, fogcolorb/4, 1.0f}; - GLfloat LightDiffuse[]= { fogcolorr*1.6f, fogcolorg*1.6f, fogcolorr*1.6f, 1.0f }; - glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); - glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse); - - } - - if(environment!=sunny_environment){ - + } else { + fog.SetFog(fogcolorr, fogcolorg, fogcolorb, 0, viewdistance * 0.8, 0.2); GLfloat LightAmbient[]= { fogcolorr*.8f, fogcolorg*.8f, fogcolorb*.8f, 1.0f}; - GLfloat LightDiffuse[]= { fogcolorr*.8f, fogcolorg*.8f, fogcolorr*.8f, 1.0f }; - glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); - glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse); - } glEnable(GL_LIGHT0); - // Change fov if zooming with scope if (zoom) ReSizeGLScene(10.0f, 0.6f); else ReSizeGLScene(90.0f, 0.1f); nocolors=0; - } - - if(visions==1){ - - //light - - GLfloat LightAmbient[]= { 0, 0, 0, 1.0f}; - - GLfloat LightDiffuse[]= { .1f+sinefluct/5.0f, 0, 0, 1.0f }; - - glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); - - glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse); - + } else { + glLightfv(GL_LIGHT0, GL_AMBIENT, (GLfloat[]) { 0.0f, 0.0f, 0.0f, 1.0f }); + glLightfv(GL_LIGHT0, GL_DIFFUSE, (GLfloat[]) { 0.1f + sinefluct / 5.0f, 0.0f, 0.0f, 1.0f }); glEnable(GL_LIGHT0); fogcolorr=(sinefluct/4+.5); - fogcolorg=0; - fogcolorb=0; - fog.SetFog(fogcolorr,fogcolorg,fogcolorb,0,viewdistance*.8*.5*(sinefluct/4+.3),sinefluct/3+.7); - glClearColor(fogcolorr,fogcolorg,fogcolorb,1); ReSizeGLScene(120-sinefluct*20,.3); - glRotatef(sinefluct*10,0,0,.1); - nocolors=1; //Pitch higher if moving for effect - if(person[0].currentanimation==idleanim)alSourcef(gSourceID[visionsound], AL_PITCH, 1); - if(person[0].currentanimation!=idleanim)alSourcef(gSourceID[visionsound], AL_PITCH, 2); - } //Camera @@ -1580,7 +1479,7 @@ int Game::DrawGLScene(void) if((int)timeremaining%60<10)sprintf (string, "%d:0%d", (int)(timeremaining/60),(int)timeremaining%60); - text.glPrint(72.5,440,string,1,1,640,480); + text.glPrint(72, 440, string, 1, 1, 640, 480); } |