X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameInitDispose.cpp;h=b7d90926a1ba641655e92ada8ea52dc307896bc0;hb=2ce8e2f8ac6921286ebd6b30362c35b38e935977;hp=827c923e74cdb49da7c009d7839122aaf7bc5a89;hpb=24004d6ab1e68faaf85ece11b566449997da5013;p=lugaru.git diff --git a/Source/GameInitDispose.cpp b/Source/GameInitDispose.cpp index 827c923..b7d9092 100644 --- a/Source/GameInitDispose.cpp +++ b/Source/GameInitDispose.cpp @@ -138,8 +138,10 @@ void Game::newGame() void Game::deleteGame() { - if (skybox) delete skybox; - if (text) delete text; + if (skybox) + delete skybox; + if (text) + delete text; terraintexture.destroy(); terraintexture2.destroy(); cursortexture.destroy(); @@ -222,21 +224,23 @@ GLvoid Game::ReSizeGLScene(float fov, float pnear) void Game::LoadingScreen() { static float loadprogress; - static AbsoluteTime time = {0, 0}; + //~ static AbsoluteTime time = {0, 0}; static AbsoluteTime frametime = {0, 0}; AbsoluteTime currTime = UpTime (); double deltaTime = (float) AbsoluteDeltaToDuration (currTime, frametime); - if (0 > deltaTime) // if negative microseconds + if (0 > deltaTime) // if negative microseconds deltaTime /= -1000000.0; - else // else milliseconds + else // else milliseconds deltaTime /= 1000.0; multiplier = deltaTime; - if (multiplier < .001)multiplier = .001; - if (multiplier > 10)multiplier = 10; + if (multiplier < .001) + multiplier = .001; + if (multiplier > 10) + multiplier = 10; if (multiplier > .05) { - frametime = currTime; // reset for next time interval + frametime = currTime; // reset for next time interval glLoadIdentity(); //Clear to black @@ -247,7 +251,8 @@ void Game::LoadingScreen() loadtime += multiplier * 4; loadprogress = loadtime; - if (loadprogress > 100)loadprogress = 100; + if (loadprogress > 100) + loadprogress = 100; //loadprogress=abs(Random()%100); @@ -257,17 +262,17 @@ void Game::LoadingScreen() loadscreentexture.bind(); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); - glDisable(GL_DEPTH_TEST); // Disables Depth Testing + glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); glDepthMask(0); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPushMatrix(); // Store The Projection Matrix - glLoadIdentity(); // Reset The Projection Matrix - glOrtho(0, screenwidth, 0, screenheight, -100, 100); // Set Up An Ortho Screen - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPushMatrix(); // Store The Modelview Matrix - glLoadIdentity(); // Reset The Modelview Matrix + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho(0, screenwidth, 0, screenheight, -100, 100); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); glTranslatef(screenwidth / 2, screenheight / 2, 0); glScalef((float)screenwidth / 2, (float)screenheight / 2, 1); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -277,13 +282,13 @@ void Game::LoadingScreen() //glScalef(.25,.25,.25); glBegin(GL_QUADS); glTexCoord2f(.1 - loadprogress / 100, 0 + loadprogress / 100 + .3); - glVertex3f(-1, -1, 0.0f); + glVertex3f(-1, -1, 0.0f); glTexCoord2f(.1 - loadprogress / 100, 0 + loadprogress / 100 + .3); - glVertex3f(1, -1, 0.0f); + glVertex3f(1, -1, 0.0f); glTexCoord2f(.1 - loadprogress / 100, 1 + loadprogress / 100 + .3); - glVertex3f(1, 1, 0.0f); + glVertex3f(1, 1, 0.0f); glTexCoord2f(.1 - loadprogress / 100, 1 + loadprogress / 100 + .3); - glVertex3f(-1, 1, 0.0f); + glVertex3f(-1, 1, 0.0f); glEnd(); glPopMatrix(); glEnable(GL_BLEND); @@ -291,20 +296,20 @@ void Game::LoadingScreen() //glScalef(.25,.25,.25); glBegin(GL_QUADS); glTexCoord2f(.4 + loadprogress / 100, 0 + loadprogress / 100); - glVertex3f(-1, -1, 0.0f); + glVertex3f(-1, -1, 0.0f); glTexCoord2f(.4 + loadprogress / 100, 0 + loadprogress / 100); - glVertex3f(1, -1, 0.0f); + glVertex3f(1, -1, 0.0f); glTexCoord2f(.4 + loadprogress / 100, 1 + loadprogress / 100); - glVertex3f(1, 1, 0.0f); + glVertex3f(1, 1, 0.0f); glTexCoord2f(.4 + loadprogress / 100, 1 + loadprogress / 100); - glVertex3f(-1, 1, 0.0f); + glVertex3f(-1, 1, 0.0f); glEnd(); glPopMatrix(); glDisable(GL_TEXTURE_2D); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPopMatrix(); // Restore The Old Projection Matrix - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPopMatrix(); // Restore The Old Projection Matrix + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); glDisable(GL_BLEND); glDepthMask(1); @@ -312,17 +317,17 @@ void Game::LoadingScreen() loadscreentexture.bind(); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); - glDisable(GL_DEPTH_TEST); // Disables Depth Testing + glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); glDepthMask(0); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPushMatrix(); // Store The Projection Matrix - glLoadIdentity(); // Reset The Projection Matrix - glOrtho(0, screenwidth, 0, screenheight, -100, 100); // Set Up An Ortho Screen - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPushMatrix(); // Store The Modelview Matrix - glLoadIdentity(); // Reset The Modelview Matrix + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho(0, screenwidth, 0, screenheight, -100, 100); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); glTranslatef(screenwidth / 2, screenheight / 2, 0); glScalef((float)screenwidth / 2 * (1.5 - (loadprogress) / 200), (float)screenheight / 2 * (1.5 - (loadprogress) / 200), 1); glBlendFunc(GL_SRC_ALPHA, GL_ONE); @@ -333,20 +338,20 @@ void Game::LoadingScreen() //glScalef(.25,.25,.25); glBegin(GL_QUADS); glTexCoord2f(0 + .5, 0 + .5); - glVertex3f(-1, -1, 0.0f); + glVertex3f(-1, -1, 0.0f); glTexCoord2f(1 + .5, 0 + .5); - glVertex3f(1, -1, 0.0f); + glVertex3f(1, -1, 0.0f); glTexCoord2f(1 + .5, 1 + .5); - glVertex3f(1, 1, 0.0f); + glVertex3f(1, 1, 0.0f); glTexCoord2f(0 + .5, 1 + .5); - glVertex3f(-1, 1, 0.0f); + glVertex3f(-1, 1, 0.0f); glEnd(); glPopMatrix(); glDisable(GL_TEXTURE_2D); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPopMatrix(); // Restore The Old Projection Matrix - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPopMatrix(); // Restore The Old Projection Matrix + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); glDisable(GL_BLEND); glDepthMask(1); @@ -354,17 +359,17 @@ void Game::LoadingScreen() loadscreentexture.bind(); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); - glDisable(GL_DEPTH_TEST); // Disables Depth Testing + glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); glDepthMask(0); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPushMatrix(); // Store The Projection Matrix - glLoadIdentity(); // Reset The Projection Matrix - glOrtho(0, screenwidth, 0, screenheight, -100, 100); // Set Up An Ortho Screen - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPushMatrix(); // Store The Modelview Matrix - glLoadIdentity(); // Reset The Modelview Matrix + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho(0, screenwidth, 0, screenheight, -100, 100); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); glTranslatef(screenwidth / 2, screenheight / 2, 0); glScalef((float)screenwidth / 2 * (100 + loadprogress) / 100, (float)screenheight / 2 * (100 + loadprogress) / 100, 1); glBlendFunc(GL_SRC_ALPHA, GL_ONE); @@ -374,57 +379,60 @@ void Game::LoadingScreen() //glScalef(.25,.25,.25); glBegin(GL_QUADS); glTexCoord2f(0 + .2, 0 + .8); - glVertex3f(-1, -1, 0.0f); + glVertex3f(-1, -1, 0.0f); glTexCoord2f(1 + .2, 0 + .8); - glVertex3f(1, -1, 0.0f); + glVertex3f(1, -1, 0.0f); glTexCoord2f(1 + .2, 1 + .8); - glVertex3f(1, 1, 0.0f); + glVertex3f(1, 1, 0.0f); glTexCoord2f(0 + .2, 1 + .8); - glVertex3f(-1, 1, 0.0f); + glVertex3f(-1, 1, 0.0f); glEnd(); glPopMatrix(); glDisable(GL_TEXTURE_2D); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPopMatrix(); // Restore The Old Projection Matrix - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPopMatrix(); // Restore The Old Projection Matrix + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); glDisable(GL_BLEND); glDepthMask(1); //Text if (flashamount > 0) { - if (flashamount > 1)flashamount = 1; - if (flashdelay <= 0)flashamount -= multiplier; + if (flashamount > 1) + flashamount = 1; + if (flashdelay <= 0) + flashamount -= multiplier; flashdelay--; - if (flashamount < 0)flashamount = 0; - glDisable(GL_DEPTH_TEST); // Disables Depth Testing + if (flashamount < 0) + flashamount = 0; + glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); glDisable(GL_TEXTURE_2D); glDepthMask(0); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPushMatrix(); // Store The Projection Matrix - glLoadIdentity(); // Reset The Projection Matrix - glOrtho(0, screenwidth, 0, screenheight, -100, 100); // Set Up An Ortho Screen - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPushMatrix(); // Store The Modelview Matrix - glLoadIdentity(); // Reset The Modelview Matrix + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho(0, screenwidth, 0, screenheight, -100, 100); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); glScalef(screenwidth, screenheight, 1); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glColor4f(flashr, flashg, flashb, flashamount); glBegin(GL_QUADS); - glVertex3f(0, 0, 0.0f); - glVertex3f(256, 0, 0.0f); - glVertex3f(256, 256, 0.0f); - glVertex3f(0, 256, 0.0f); + glVertex3f(0, 0, 0.0f); + glVertex3f(256, 0, 0.0f); + glVertex3f(256, 256, 0.0f); + glVertex3f(0, 256, 0.0f); glEnd(); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPopMatrix(); // Restore The Old Projection Matrix - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPopMatrix(); // Restore The Old Projection Matrix - glEnable(GL_DEPTH_TEST); // Enables Depth Testing + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); + glEnable(GL_DEPTH_TEST); glEnable(GL_CULL_FACE); glDisable(GL_BLEND); glDepthMask(1); @@ -454,17 +462,17 @@ void FadeLoadingScreen(float howmuch) //glBindTexture( GL_TEXTURE_2D, loadscreentexture); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); - glDisable(GL_DEPTH_TEST); // Disables Depth Testing + glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); glDepthMask(0); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPushMatrix(); // Store The Projection Matrix - glLoadIdentity(); // Reset The Projection Matrix - glOrtho(0, screenwidth, 0, screenheight, -100, 100); // Set Up An Ortho Screen - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPushMatrix(); // Store The Modelview Matrix - glLoadIdentity(); // Reset The Modelview Matrix + glMatrixMode(GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho(0, screenwidth, 0, screenheight, -100, 100); + glMatrixMode(GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); glTranslatef(screenwidth / 2, screenheight / 2, 0); glScalef((float)screenwidth / 2, (float)screenheight / 2, 1); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -474,20 +482,20 @@ void FadeLoadingScreen(float howmuch) //glScalef(.25,.25,.25); glBegin(GL_QUADS); glTexCoord2f(0, 0); - glVertex3f(-1, -1, 0.0f); + glVertex3f(-1, -1, 0.0f); glTexCoord2f(1, 0); - glVertex3f(1, -1, 0.0f); + glVertex3f(1, -1, 0.0f); glTexCoord2f(1, 1); - glVertex3f(1, 1, 0.0f); + glVertex3f(1, 1, 0.0f); glTexCoord2f(0, 1); - glVertex3f(-1, 1, 0.0f); + glVertex3f(-1, 1, 0.0f); glEnd(); glPopMatrix(); glDisable(GL_TEXTURE_2D); - glMatrixMode(GL_PROJECTION); // Select The Projection Matrix - glPopMatrix(); // Restore The Old Projection Matrix - glMatrixMode(GL_MODELVIEW); // Select The Modelview Matrix - glPopMatrix(); // Restore The Old Projection Matrix + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); + glPopMatrix(); glDisable(GL_BLEND); glDepthMask(1); //Text @@ -677,7 +685,8 @@ void Game::InitGame() Maparrowtexture.load(":Data:Textures:MapArrow.png", 0, 1); temptexdetail = texdetail; - if (texdetail > 2)texdetail = 2; + if (texdetail > 2) + texdetail = 2; Mainmenuitems[0].load(":Data:Textures:Lugaru.png", 0, 0); Mainmenuitems[1].load(":Data:Textures:Newgame.png", 0, 0); Mainmenuitems[2].load(":Data:Textures:Options.png", 0, 0); @@ -738,8 +747,9 @@ void Game::LoadStuff() stillloading = 1; - for (i = 0; i < maxplayers; i++) - player[i].skeleton.drawmodel.textureptr.destroy(); + for (auto p:Person::players) { + p->skeleton.drawmodel.textureptr.destroy(); + } i = abs(Random() % 4); visibleloading = 0; //don't use loadscreentexture yet @@ -841,9 +851,12 @@ void Game::LoadStuff() viewer = 0; - if (detail)kTextureSize = 1024; - if (detail == 1)kTextureSize = 512; - if (detail == 0)kTextureSize = 256; + if (detail) + kTextureSize = 1024; + if (detail == 1) + kTextureSize = 512; + if (detail == 0) + kTextureSize = 256; //Set up distant light light.color[0] = .95; @@ -907,7 +920,7 @@ void Game::LoadStuff() XYZ moveamount; moveamount = 0; moveamount.z = 2; - for (i = 0; i < player[0].skeleton.num_joints; i++) { + for (i = 0; i < Person::players[0]->skeleton.num_joints; i++) { for (j = 0; j < animation[knifesneakattackanim].numframes; j++) { animation[knifesneakattackanim].position[i][j] += moveamount; } @@ -915,7 +928,7 @@ void Game::LoadStuff() LoadingScreen(); - for (i = 0; i < player[0].skeleton.num_joints; i++) { + for (i = 0; i < Person::players[0]->skeleton.num_joints; i++) { for (j = 0; j < animation[knifesneakattackedanim].numframes; j++) { animation[knifesneakattackedanim].position[i][j] += moveamount; } @@ -923,7 +936,7 @@ void Game::LoadStuff() LoadingScreen(); - for (i = 0; i < player[0].skeleton.num_joints; i++) { + for (i = 0; i < Person::players[0]->skeleton.num_joints; i++) { animation[dead1anim].position[i][1] = animation[dead1anim].position[i][0]; animation[dead2anim].position[i][1] = animation[dead2anim].position[i][0]; animation[dead3anim].position[i][1] = animation[dead3anim].position[i][0]; @@ -939,7 +952,7 @@ void Game::LoadStuff() animation[dead3anim].speed[1] = 0.001; animation[dead4anim].speed[1] = 0.001; - for (i = 0; i < player[0].skeleton.num_joints; i++) { + for (i = 0; i < Person::players[0]->skeleton.num_joints; i++) { for (j = 0; j < animation[swordsneakattackanim].numframes; j++) { animation[swordsneakattackanim].position[i][j] += moveamount; } @@ -951,7 +964,7 @@ void Game::LoadStuff() LoadingScreen(); - for (i = 0; i < player[0].skeleton.num_joints; i++) { + for (i = 0; i < Person::players[0]->skeleton.num_joints; i++) { for (j = 0; j < animation[swordsneakattackedanim].numframes; j++) { animation[swordsneakattackedanim].position[i][j] += moveamount; }