X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameInitDispose.cpp;h=85be11836614665da639511091eef841efe2dee1;hb=refs%2Fheads%2Fimprovements;hp=984202ffc75fff2d6f7769e749b2b2aa806740b7;hpb=188b251d145503cab17680a22cbabf58b24358d5;p=lugaru.git diff --git a/Source/GameInitDispose.cpp b/Source/GameInitDispose.cpp index 984202f..85be118 100644 --- a/Source/GameInitDispose.cpp +++ b/Source/GameInitDispose.cpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) +Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -40,8 +40,6 @@ extern float realtexdetail; extern float volume; extern int detail; extern bool cellophane; -extern GLubyte bloodText[512 * 512 * 3]; -extern GLubyte wolfbloodText[512 * 512 * 3]; extern bool ismotionblur; extern bool trilinear; extern bool musictoggle; @@ -68,7 +66,7 @@ extern float accountcampaigntime[10]; extern int accountcampaignchoicesmade[10]; extern int accountcampaignchoices[10][5000]; -void LOG(const std::string &, ...) +void LOG(const std::string&, ...) { // !!! FIXME: write me. } @@ -90,16 +88,11 @@ void Dispose() OPENAL_StopSound(OPENAL_ALL); -// this is causing problems on Linux, but we'll force an _exit() a little -// later in the shutdown process. --ryan. -#if !PLATFORM_LINUX - for (int i = 0; i < sounds_count; ++i) { OPENAL_Sample_Free(samp[i]); } OPENAL_Close(); -#endif } void Game::newGame() @@ -121,9 +114,7 @@ void Game::deleteGame() Dispose(); } - - -void LoadSave(const std::string& fileName, GLubyte *array) +void LoadSave(const std::string& fileName, GLubyte* array) { LOGFUNC; @@ -152,8 +143,6 @@ void LoadSave(const std::string& fileName, GLubyte *array) } } - - //***************> ResizeGLScene() <******/ GLvoid Game::ReSizeGLScene(float fov, float pnear) { @@ -179,20 +168,23 @@ void Game::LoadingScreen() } static float loadprogress; - static AbsoluteTime frametime = {0, 0}; - AbsoluteTime currTime = UpTime (); - double deltaTime = (float) AbsoluteDeltaToDuration (currTime, frametime); + 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) + if (multiplier < .001) { multiplier = .001; - if (multiplier > 10) + } + if (multiplier > 10) { multiplier = 10; + } if (multiplier > .05) { frametime = currTime; // reset for next time interval @@ -201,19 +193,19 @@ void Game::LoadingScreen() glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - loadtime += multiplier * 4; loadprogress = loadtime; - if (loadprogress > 100) + if (loadprogress > 100) { loadprogress = 100; + } //Background glEnable(GL_TEXTURE_2D); loadscreentexture.bind(); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); @@ -265,8 +257,8 @@ void Game::LoadingScreen() glEnable(GL_TEXTURE_2D); loadscreentexture.bind(); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); @@ -305,8 +297,8 @@ void Game::LoadingScreen() glEnable(GL_TEXTURE_2D); loadscreentexture.bind(); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT ); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); @@ -346,13 +338,16 @@ void Game::LoadingScreen() //Text if (flashamount > 0) { - if (flashamount > 1) + if (flashamount > 1) { flashamount = 1; - if (flashdelay <= 0) + } + if (flashdelay <= 0) { flashamount -= multiplier; + } flashdelay--; - if (flashamount < 0) + if (flashamount < 0) { flashamount = 0; + } glDisable(GL_DEPTH_TEST); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); @@ -403,8 +398,8 @@ void FadeLoadingScreen(float howmuch) //Background glDisable(GL_TEXTURE_2D); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); - glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); + 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); glDisable(GL_CULL_FACE); glDisable(GL_LIGHTING); @@ -561,8 +556,9 @@ void Game::InitGame() OPENAL_SetSFXMasterVolume((int)(volume * 255)); loadAllSounds(); - if (musictoggle) + if (musictoggle) { emit_stream_np(stream_menutheme); + } cursortexture.load("Textures/Cursor.png", 0); @@ -571,8 +567,9 @@ void Game::InitGame() Maparrowtexture.load("Textures/MapArrow.png", 0); temptexdetail = texdetail; - if (texdetail > 2) + if (texdetail > 2) { texdetail = 2; + } Mainmenuitems[0].load("Textures/Lugaru.png", 0); Mainmenuitems[1].load("Textures/NewGame.png", 0); Mainmenuitems[2].load("Textures/Options.png", 0); @@ -585,7 +582,6 @@ void Game::InitGame() FadeLoadingScreen(95); - gameon = 0; mainmenu = 1; @@ -599,22 +595,25 @@ void Game::InitGame() Menu::Load(); Animation::loadAll(); -} + PersonType::Load(); + + Person::players.emplace_back(new Person()); +} void Game::LoadScreenTexture() { - glPixelStorei( GL_UNPACK_ALIGNMENT, 1 ); - - if (!Game::screentexture) - glGenTextures( 1, &Game::screentexture ); - glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + if (!Game::screentexture) { + glGenTextures(1, &Game::screentexture); + } + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); glEnable(GL_TEXTURE_2D); - glBindTexture( GL_TEXTURE_2D, Game::screentexture); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); - glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); + glBindTexture(GL_TEXTURE_2D, Game::screentexture); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, kTextureSize, kTextureSize, 0); } @@ -668,12 +667,10 @@ void Game::LoadStuff() terrain.breaktexture.load("Textures/Break.png", 0); terrain.bloodtexture2.load("Textures/Blood.png", 0); - terrain.footprinttexture.load("Textures/Footprint.png", 0); terrain.bodyprinttexture.load("Textures/Bodyprint.png", 0); hawktexture.load("Textures/Hawk.png", 0); - Sprite::cloudtexture.load("Textures/Cloud.png", 1); Sprite::cloudimpacttexture.load("Textures/CloudImpact.png", 1); Sprite::bloodtexture.load("Textures/BloodParticle.png", 1); @@ -708,7 +705,6 @@ void Game::LoadStuff() SetUpLighting(); - fadestart = .6; gravity = -10; @@ -739,8 +735,8 @@ void Game::LoadStuff() iris.Scale(.03, .03, .03); iris.CalculateNormals(0); - LoadSave("Textures/BloodFur.png", &bloodText[0]); - LoadSave("Textures/WolfBloodFur.png", &wolfbloodText[0]); + LoadSave("Textures/WolfBloodFur.png", &PersonType::types[wolftype].bloodText[0]); + LoadSave("Textures/BloodFur.png", &PersonType::types[rabbittype].bloodText[0]); oldenvironment = -4; @@ -820,4 +816,3 @@ void Game::LoadStuff() visibleloading = false; firstLoadDone = true; } -