X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGameDraw.cpp;h=7ec4b65f92e0b06dab62265df3abefd0627efd32;hb=d3f16728298e0639a3b2e916386f4e8cea4018ff;hp=7ab8565522fffe34d3455b536ae8d97300f9091a;hpb=d177a567280631cd91a677debafada8cef7e0413;p=lugaru.git diff --git a/Source/GameDraw.cpp b/Source/GameDraw.cpp index 7ab8565..7ec4b65 100644 --- a/Source/GameDraw.cpp +++ b/Source/GameDraw.cpp @@ -67,7 +67,7 @@ extern bool devtools; extern int mainmenu; extern int bloodtoggle; extern int difficulty; -extern bool decals; +extern bool decalstoggle; extern float texdetail; extern bool musictoggle; extern float smoketex; @@ -114,13 +114,10 @@ int Game::DrawGLScene(StereoSide side) { static float texcoordwidth, texcoordheight; static float texviewwidth, texviewheight; - static int l; static XYZ checkpoint; static float tempmult; float tutorialopac; std::string string; - std::string string2; - std::string string3; static int drawmode = 0; if ( stereomode == stereoAnaglyph ) { @@ -137,7 +134,8 @@ int Game::DrawGLScene(StereoSide side) } else { glColorMask( 1.0, 1.0, 1.0, 1.0 ); - if ( stereomode == stereoHorizontalInterlaced || stereomode == stereoVerticalInterlaced ) { + if ( stereomode == stereoHorizontalInterlaced || + stereomode == stereoVerticalInterlaced ) { glStencilFunc(side == stereoLeft ? GL_NOTEQUAL : GL_EQUAL, 0x01, 0x01); } } @@ -300,10 +298,10 @@ int Game::DrawGLScene(StereoSide side) static XYZ point; static float size, opacity, rotation; rotation = 0; - for (unsigned k = 0; k < Person::players.size(); k++) { + for (unsigned int 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 (unsigned i = 0; i < Person::players[k]->skeleton.joints.size(); i++) { + for (unsigned int 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; @@ -312,8 +310,8 @@ int Game::DrawGLScene(StereoSide side) opacity = .2 + .2 * sin(smoketex * 6 + i) - Person::players[k]->skeleton.joints[i].position.y * Person::players[k]->scale / 5 - (Person::players[k]->coords.y - terrain.getHeight(Person::players[k]->coords.x, Person::players[k]->coords.z)) / 10; } terrain.MakeDecal(shadowdecal, point, size, opacity, rotation); - for (l = 0; l < terrain.patchobjectnum[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz]; l++) { - int j = terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz][l]; + for (unsigned int l = 0; l < terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz].size(); l++) { + unsigned int j = terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz][l]; if (Object::objects[j]->position.y < Person::players[k]->coords.y || Object::objects[j]->type == tunneltype || Object::objects[j]->type == weirdtype) { point = DoRotation(DoRotation(Person::players[k]->skeleton.joints[i].position, 0, Person::players[k]->yaw, 0) * Person::players[k]->scale + Person::players[k]->coords - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0); size = .4f; @@ -340,8 +338,8 @@ int Game::DrawGLScene(StereoSide side) opacity = .2 + .2 * sin(smoketex * 6 + i) - Person::players[k]->skeleton.joints[i].position.y * Person::players[k]->scale / 5 - (Person::players[k]->coords.y - terrain.getHeight(Person::players[k]->coords.x, Person::players[k]->coords.z)) / 10; } terrain.MakeDecal(shadowdecal, point, size, opacity * .7, rotation); - for (l = 0; l < terrain.patchobjectnum[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz]; l++) { - int j = terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz][l]; + for (unsigned int l = 0; l < terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz].size(); l++) { + unsigned int j = terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz][l]; if (Object::objects[j]->position.y < Person::players[k]->coords.y || Object::objects[j]->type == tunneltype || Object::objects[j]->type == weirdtype) { if (Person::players[k]->skeleton.free) point = DoRotation(Person::players[k]->skeleton.joints[i].position * Person::players[k]->scale + Person::players[k]->coords - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0); @@ -364,8 +362,8 @@ int Game::DrawGLScene(StereoSide side) size = .7; opacity = .4 - (Person::players[k]->coords.y - terrain.getHeight(Person::players[k]->coords.x, Person::players[k]->coords.z)) / 5; terrain.MakeDecal(shadowdecal, point, size, opacity * .7, rotation); - for (l = 0; l < terrain.patchobjectnum[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz]; l++) { - int j = terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz][l]; + for (unsigned int l = 0; l < terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz].size(); l++) { + unsigned int j = terrain.patchobjects[Person::players[k]->whichpatchx][Person::players[k]->whichpatchz][l]; point = DoRotation(Person::players[k]->coords - Object::objects[j]->position, 0, -Object::objects[j]->yaw, 0); size = .7; opacity = .4f; @@ -577,16 +575,15 @@ int Game::DrawGLScene(StereoSide side) } if (Tutorial::active) { - Tutorial::DrawText(); + Tutorial::DrawTextInfo(); } //Hot spots if (Hotspot::hotspots.size() && (bonustime >= 1 || bonus <= 0 || bonustime < 0) && !Tutorial::active) { float closestdist = -1; - float distance = 0; int closest = Hotspot::current; for (unsigned i = 0; i < Hotspot::hotspots.size(); i++) { - distance = distsq(&Person::players[0]->coords, &Hotspot::hotspots[i].position); + float 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))) { closestdist = distance; @@ -1074,7 +1071,7 @@ int Game::DrawGLScene(StereoSide side) glPopMatrix(); glRotatef(Person::players[0]->lookyaw * -1 + 180, 0, 0, 1); glTranslatef(-(center.x / terrain.scale / 256 * -2 + 1), (center.z / terrain.scale / 256 * -2 + 1), 0); - for (int i = 0; i < Object::objects.size(); i++) { + for (unsigned int i = 0; i < Object::objects.size(); i++) { if (Object::objects[i]->type == treetrunktype) { distcheck = distsq(&Person::players[0]->coords, &Object::objects[i]->position); if (distcheck < mapviewdist) { @@ -1555,12 +1552,12 @@ int Game::DrawGLScene(StereoSide side) int offset = 0; if (consoleselected >= 60) offset = consoleselected - 60; - text->glPrint(10, 30, " ]", 0, 1, 1024, 768); + textmono->glPrint(10, 30, " ]", 0, 1, 1024, 768); if (consoleblink) { - text->glPrint(30 + (float)(consoleselected) * 10 - offset * 10, 30, "_", 0, 1, 1024, 768); + textmono->glPrint(30 + (float)consoleselected * 10 - offset * 10, 30, "_", 0, 1, 1024, 768); } for (unsigned i = 0; i < 15; i++) { - text->glPrint(30 - offset * 10, 30 + i * 20, consoletext[i], 0, 1, 1024, 768); + textmono->glPrint(30 - offset * 10, 30 + i * 20, consoletext[i], 0, 1, 1024, 768); } } }