X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameDraw.cpp;h=ff188051aa7816ce905de96c529140544f0d07a3;hb=5bba986635ab85bf530ac1d4af42b04164d7d6b7;hp=a0c92d50e0f93542ef5930cd567c302fe7b5bf6f;hpb=96f10b742814fab1d16e3fa704160773c3381795;p=lugaru.git diff --git a/Source/GameDraw.cpp b/Source/GameDraw.cpp index a0c92d5..ff18805 100644 --- a/Source/GameDraw.cpp +++ b/Source/GameDraw.cpp @@ -18,13 +18,14 @@ You should have received a copy of the GNU General Public License along with Lugaru. If not, see . */ -#include "Game.h" -#include "openal_wrapper.h" -#include "Input.h" -#include "Awards.h" -#include "Menu.h" -#include "Dialog.h" -#include "Hotspot.h" +#include "Game.hpp" + +#include "Audio/openal_wrapper.hpp" +#include "Level/Awards.hpp" +#include "Level/Dialog.hpp" +#include "Level/Hotspot.hpp" +#include "Menu/Menu.hpp" +#include "Utils/Input.hpp" extern XYZ viewer; extern int environment; @@ -62,7 +63,7 @@ extern float motionbluramount; extern bool isclient; extern bool alwaysblur; extern bool velocityblur; -extern bool debugmode; +extern bool devtools; extern int mainmenu; extern int bloodtoggle; extern int difficulty; @@ -286,13 +287,13 @@ int Game::DrawGLScene(StereoSide side) blurness -= multiplier * 5; if (environment == desertenvironment && detail == 2) - glTexEnvf( GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, blurness + .4 ); + glTexEnvf( GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, blurness + .4 ); if (environment == desertenvironment) { glRotatef((float)(abs(Random() % 100)) / 1000, 1, 0, 0); glRotatef((float)(abs(Random() % 100)) / 1000, 0, 1, 0); } skybox->draw(); - glTexEnvf( GL_TEXTURE_FILTER_CONTROL_EXT, GL_TEXTURE_LOD_BIAS_EXT, 0); + glTexEnvf( GL_TEXTURE_FILTER_CONTROL, GL_TEXTURE_LOD_BIAS, 0); glPopMatrix(); glTranslatef(-viewer.x, -viewer.y, -viewer.z); frustum.GetFrustum(); @@ -304,7 +305,7 @@ int Game::DrawGLScene(StereoSide side) for (unsigned k = 0; k < Person::players.size(); k++) { if (!Person::players[k]->skeleton.free && Person::players[k]->playerdetail && Person::players[k]->howactive < typesleeping) if (frustum.SphereInFrustum(Person::players[k]->coords.x, Person::players[k]->coords.y + Person::players[k]->scale * 3, Person::players[k]->coords.z, Person::players[k]->scale * 7) && Person::players[k]->occluded < 25) - for (int i = 0; i < Person::players[k]->skeleton.joints.size(); i++) { + for (unsigned i = 0; i < Person::players[k]->skeleton.joints.size(); i++) { if (Person::players[k]->skeleton.joints[i].label == leftknee || Person::players[k]->skeleton.joints[i].label == rightknee || Person::players[k]->skeleton.joints[i].label == groin) { point = DoRotation(Person::players[k]->skeleton.joints[i].position, 0, Person::players[k]->yaw, 0) * Person::players[k]->scale + Person::players[k]->coords; size = .4f; @@ -329,7 +330,7 @@ int Game::DrawGLScene(StereoSide side) } if ((Person::players[k]->skeleton.free || Person::players[k]->howactive >= typesleeping) && Person::players[k]->playerdetail) if (frustum.SphereInFrustum(Person::players[k]->coords.x, Person::players[k]->coords.y, Person::players[k]->coords.z, Person::players[k]->scale * 5) && Person::players[k]->occluded < 25) - for (int i = 0; i < Person::players[k]->skeleton.joints.size(); i++) { + for (unsigned i = 0; i < Person::players[k]->skeleton.joints.size(); i++) { if (Person::players[k]->skeleton.joints[i].label == leftknee || Person::players[k]->skeleton.joints[i].label == rightknee || Person::players[k]->skeleton.joints[i].label == groin || Person::players[k]->skeleton.joints[i].label == leftelbow || Person::players[k]->skeleton.joints[i].label == rightelbow || Person::players[k]->skeleton.joints[i].label == neck) { if (Person::players[k]->skeleton.free) point = Person::players[k]->skeleton.joints[i].position * Person::players[k]->scale + Person::players[k]->coords; @@ -415,7 +416,7 @@ int Game::DrawGLScene(StereoSide side) if (distance >= 1) glDisable(GL_BLEND); if (distance >= .5) { - checkpoint = DoRotation(Person::players[k]->skeleton.joints[abs(Random() % Person::players[k]->skeleton.joints.size())].position, 0, Person::players[k]->yaw, 0) * Person::players[k]->scale + Person::players[k]->coords; + checkpoint = DoRotation(Person::players[k]->skeleton.joints[fabs(Random() % Person::players[k]->skeleton.joints.size())].position, 0, Person::players[k]->yaw, 0) * Person::players[k]->scale + Person::players[k]->coords; checkpoint.y += 1; int i = -1; if (Person::players[k]->occluded != 0) @@ -480,7 +481,7 @@ int Game::DrawGLScene(StereoSide side) if (distance >= 1) glDisable(GL_BLEND); if (distance >= .5) { - checkpoint = DoRotation(Person::players[k]->skeleton.joints[abs(Random() % Person::players[k]->skeleton.joints.size())].position, 0, Person::players[k]->yaw, 0) * Person::players[k]->scale + Person::players[k]->coords; + checkpoint = DoRotation(Person::players[k]->skeleton.joints[fabs(Random() % Person::players[k]->skeleton.joints.size())].position, 0, Person::players[k]->yaw, 0) * Person::players[k]->scale + Person::players[k]->coords; checkpoint.y += 1; int i = -1; if (Person::players[k]->occluded != 0) @@ -890,7 +891,7 @@ int Game::DrawGLScene(StereoSide side) float closestdist = -1; float distance = 0; int closest = Hotspot::current; - for (int i = 0; i < Hotspot::hotspots.size(); i++) { + for (unsigned i = 0; i < Hotspot::hotspots.size(); i++) { distance = distsq(&Person::players[0]->coords, &Hotspot::hotspots[i].position); if (closestdist == -1 || distance < closestdist) { if (distsq(&Person::players[0]->coords, &Hotspot::hotspots[i].position) < Hotspot::hotspots[i].size && ((Hotspot::hotspots[i].type <= 10 && Hotspot::hotspots[i].type >= 0) || (Hotspot::hotspots[i].type <= 40 && Hotspot::hotspots[i].type >= 20))) { @@ -982,18 +983,20 @@ int Game::DrawGLScene(StereoSide side) float starty; startx = screenwidth * 1 / 5; - if (Dialog::currentScene().location == 1) + if (Dialog::currentScene().location == 1) { starty = screenheight / 16 + screenheight * 4 / 5; - if (Dialog::currentScene().location == 2) + } else { starty = screenheight * 1 / 5 - screenheight / 16; + } + // FIXME - What is that char[] building for? char tempname[264]; int tempnum = 0; for (int i = 0; i < 264; i++) { tempname[i] = '\0'; } - for (int i = 0; i < Dialog::currentScene().name.size(); i++) { + for (unsigned i = 0; i < Dialog::currentScene().name.size(); i++) { tempname[tempnum] = Dialog::currentScene().name[i]; if (tempname[tempnum] == '#' || tempname[tempnum] == '\0') tempname[tempnum] = '\0'; @@ -1014,7 +1017,7 @@ int Game::DrawGLScene(StereoSide side) } tempnum = 0; - for (int i = 0; i < Dialog::currentScene().text.size() + 1; i++) { + for (unsigned i = 0; i < Dialog::currentScene().text.size() + 1; i++) { tempname[tempnum] = Dialog::currentScene().text[i]; if (Dialog::currentScene().text[i] != '#') tempnum++; @@ -1051,9 +1054,9 @@ int Game::DrawGLScene(StereoSide side) if (!tutoriallevel && !winfreeze && !Dialog::inDialog() && !mainmenu) { if (campaign) { if (scoreadded) - sprintf (string, "Score: %d", (int)accountactive->getCampaignScore()); + sprintf (string, "Score: %d", (int)Account::active().getCampaignScore()); else - sprintf (string, "Score: %d", (int)accountactive->getCampaignScore() + (int)bonustotal); + sprintf (string, "Score: %d", (int)Account::active().getCampaignScore() + (int)bonustotal); } if (!campaign) sprintf (string, "Score: %d", (int)bonustotal); @@ -1150,7 +1153,7 @@ int Game::DrawGLScene(StereoSide side) glColor4f(.5, .5, .5, 1); - if ((texttoggle || editorenabled) && debugmode && !mainmenu) { + if ((texttoggle || editorenabled) && devtools && !mainmenu) { sprintf (string, "The framespersecond is %d.", (int)(fps)); text->glPrint(10, 30, string, 0, .8, 1024, 768); @@ -1640,12 +1643,12 @@ int Game::DrawGLScene(StereoSide side) if (!drawtoggle || drawmode != realmotionblurmode || (drawtoggle == 2 || change == 1)) { if (screentexture) { - glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT); + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE); GLfloat subtractColor[4] = { 0.5, 0.5, 0.5, 0.0 }; glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, subtractColor); - glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT, GL_TEXTURE); - glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT, GL_CONSTANT_EXT); - glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 2.0f); + glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_TEXTURE); + glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB, GL_CONSTANT); + glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE, 2.0f); glBindTexture( GL_TEXTURE_2D, screentexture); glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, texviewwidth, texviewheight);