]> git.jsancho.org Git - lugaru.git/blobdiff - Source/GameTick.cpp
Cleaned a bit OPENAL_SetFrequency, fixing some clang warnings
[lugaru.git] / Source / GameTick.cpp
index a251430198746370c04b231cf3f8efebe1d6b6ee..177cfe930241ff3360bf35bd531eb90873a2a065 100644 (file)
@@ -788,8 +788,6 @@ void Game::Loadlevel(const char *name)
     static const char *pfx = ":Data:Maps:";
     char *buf;
 
-    float headprop, legprop, armprop, bodyprop;
-
     LOGFUNC;
 
     LOG(std::string("Loading level...") + name);
@@ -912,6 +910,7 @@ void Game::Loadlevel(const char *name)
         }
 
         weapons.clear();
+        Person::players.resize(1);
 
         funpackf(tfile, "Bi", &mapvers);
         if (mapvers >= 15)
@@ -1027,8 +1026,9 @@ void Game::Loadlevel(const char *name)
                     funpackf(tfile, "Bf Bf", &dialoguecamerayaw[k][l], &dialoguecamerapitch[k][l]);
                 }
             }
-        } else
+        } else {
             numdialogues = 0;
+        }
 
         for (int k = 0; k < Person::players[0]->numclothes; k++) {
             funpackf(tfile, "Bi", &templength);
@@ -1091,112 +1091,20 @@ void Game::Loadlevel(const char *name)
 
         int numplayers;
         funpackf(tfile, "Bi", &numplayers);
-        int howmanyremoved = 0;
-        bool removeanother = 0;
         if (numplayers > maxplayers) {
             cout << "Warning: this level contains more players than allowed" << endl;
         }
-        if (numplayers > 1) {
-            for (int i = 1; i < numplayers; i++) {
-                Person::players.push_back(shared_ptr<Person>(new Person()));
-                if (visibleloading)
-                    LoadingScreen();
-                removeanother = 0;
-
-                funpackf(tfile, "Bi Bi Bf Bf Bf Bi", &Person::players[i - howmanyremoved]->whichskin, &Person::players[i - howmanyremoved]->creature, &Person::players[i - howmanyremoved]->coords.x, &Person::players[i - howmanyremoved]->coords.y, &Person::players[i - howmanyremoved]->coords.z, &Person::players[i - howmanyremoved]->num_weapons);
-                if (mapvers >= 5)
-                    funpackf(tfile, "Bi", &Person::players[i - howmanyremoved]->howactive);
-                else
-                    Person::players[i - howmanyremoved]->howactive = typeactive;
-                if (mapvers >= 3)
-                    funpackf(tfile, "Bf", &Person::players[i - howmanyremoved]->scale);
-                else
-                    Person::players[i - howmanyremoved]->scale = -1;
-                if (mapvers >= 11)
-                    funpackf(tfile, "Bb", &Person::players[i - howmanyremoved]->immobile);
-                else
-                    Person::players[i - howmanyremoved]->immobile = 0;
-                if (mapvers >= 12)
-                    funpackf(tfile, "Bf", &Person::players[i - howmanyremoved]->yaw);
-                else
-                    Person::players[i - howmanyremoved]->yaw = 0;
-                Person::players[i - howmanyremoved]->targetyaw = Person::players[i - howmanyremoved]->yaw;
-                if (Person::players[i - howmanyremoved]->num_weapons < 0 || Person::players[i - howmanyremoved]->num_weapons > 5) {
-                    removeanother = 1;
-                    howmanyremoved++;
-                }
-                if (!removeanother) {
-                    if (Person::players[i - howmanyremoved]->num_weapons > 0 && Person::players[i - howmanyremoved]->num_weapons < 5) {
-                        for (int j = 0; j < Person::players[i - howmanyremoved]->num_weapons; j++) {
-                            Person::players[i - howmanyremoved]->weaponids[j] = weapons.size();
-                            int type;
-                            funpackf(tfile, "Bi", &type);
-                            weapons.push_back(Weapon(type, i));
-                        }
-                    }
-                    funpackf(tfile, "Bi", &Person::players[i - howmanyremoved]->numwaypoints);
-                    for (int j = 0; j < Person::players[i - howmanyremoved]->numwaypoints; j++) {
-                        funpackf(tfile, "Bf", &Person::players[i - howmanyremoved]->waypoints[j].x);
-                        funpackf(tfile, "Bf", &Person::players[i - howmanyremoved]->waypoints[j].y);
-                        funpackf(tfile, "Bf", &Person::players[i - howmanyremoved]->waypoints[j].z);
-                        if (mapvers >= 5)
-                            funpackf(tfile, "Bi", &Person::players[i - howmanyremoved]->waypointtype[j]);
-                        else
-                            Person::players[i - howmanyremoved]->waypointtype[j] = wpkeepwalking;
-                    }
-
-                    funpackf(tfile, "Bi", &Person::players[i - howmanyremoved]->waypoint);
-                    if (Person::players[i - howmanyremoved]->waypoint > Person::players[i - howmanyremoved]->numwaypoints - 1)
-                        Person::players[i - howmanyremoved]->waypoint = 0;
-
-                    funpackf(tfile, "Bf Bf Bf", &Person::players[i - howmanyremoved]->armorhead, &Person::players[i - howmanyremoved]->armorhigh, &Person::players[i - howmanyremoved]->armorlow);
-                    funpackf(tfile, "Bf Bf Bf", &Person::players[i - howmanyremoved]->protectionhead, &Person::players[i - howmanyremoved]->protectionhigh, &Person::players[i - howmanyremoved]->protectionlow);
-                    funpackf(tfile, "Bf Bf Bf", &Person::players[i - howmanyremoved]->metalhead, &Person::players[i - howmanyremoved]->metalhigh, &Person::players[i - howmanyremoved]->metallow);
-                    funpackf(tfile, "Bf Bf", &Person::players[i - howmanyremoved]->power, &Person::players[i - howmanyremoved]->speedmult);
-
-                    if (mapvers >= 4)
-                        funpackf(tfile, "Bf Bf Bf Bf", &headprop, &bodyprop, &armprop, &legprop);
-                    else {
-                        headprop = 1;
-                        bodyprop = 1;
-                        armprop = 1;
-                        legprop = 1;
-                    }
-                    if (Person::players[i - howmanyremoved]->creature == wolftype) {
-                        Person::players[i - howmanyremoved]->proportionhead = 1.1 * headprop;
-                        Person::players[i - howmanyremoved]->proportionbody = 1.1 * bodyprop;
-                        Person::players[i - howmanyremoved]->proportionarms = 1.1 * armprop;
-                        Person::players[i - howmanyremoved]->proportionlegs = 1.1 * legprop;
-                    }
-
-                    if (Person::players[i - howmanyremoved]->creature == rabbittype) {
-                        Person::players[i - howmanyremoved]->proportionhead = 1.2 * headprop;
-                        Person::players[i - howmanyremoved]->proportionbody = 1.05 * bodyprop;
-                        Person::players[i - howmanyremoved]->proportionarms = 1.00 * armprop;
-                        Person::players[i - howmanyremoved]->proportionlegs = 1.1 * legprop;
-                        Person::players[i - howmanyremoved]->proportionlegs.y = 1.05 * legprop;
-                    }
-
-                    funpackf(tfile, "Bi", &Person::players[i - howmanyremoved]->numclothes);
-                    if (Person::players[i - howmanyremoved]->numclothes) {
-                        for (int k = 0; k < Person::players[i - howmanyremoved]->numclothes; k++) {
-                            int templength;
-                            funpackf(tfile, "Bi", &templength);
-                            for (int l = 0; l < templength; l++)
-                                funpackf(tfile, "Bb", &Person::players[i - howmanyremoved]->clothes[k][l]);
-                            Person::players[i - howmanyremoved]->clothes[k][templength] = '\0';
-                            funpackf(tfile, "Bf Bf Bf", &Person::players[i - howmanyremoved]->clothestintr[k], &Person::players[i - howmanyremoved]->clothestintg[k], &Person::players[i - howmanyremoved]->clothestintb[k]);
-                        }
-                    }
-                }
+        for (int i = 1; i < numplayers; i++) {
+            unsigned j = 1;
+            try {
+                Person::players.push_back(shared_ptr<Person>(new Person(tfile, mapvers, j)));
+                j++;
+            } catch (InvalidPersonException e) {
             }
         }
         if (visibleloading)
             LoadingScreen();
 
-        numplayers -= howmanyremoved;
-        Person::players.resize(numplayers);
-
         funpackf(tfile, "Bi", &numpathpoints);
         if (numpathpoints > 30 || numpathpoints < 0)
             numpathpoints = 0;
@@ -5399,7 +5307,7 @@ void MenuTick()
         }
     }
 
-    OPENAL_SetFrequency(channels[stream_menutheme], 22050);
+    OPENAL_SetFrequency(channels[stream_menutheme]);
 
     if (entername) {
         inputText(displaytext[0], &displayselected);
@@ -5513,7 +5421,7 @@ void Game::Tick()
             fireSound();
             flash();
             if (musictoggle) {
-                OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                OPENAL_SetFrequency(OPENAL_ALL);
                 emit_stream_np(stream_menutheme);
                 pause_sound(leveltheme);
             }
@@ -5530,7 +5438,7 @@ void Game::Tick()
             }
             //play menu theme
             if (musictoggle && (mainmenu == 1 || mainmenu == 2)) {
-                OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                OPENAL_SetFrequency(OPENAL_ALL);
                 emit_stream_np(stream_menutheme);
                 pause_sound(leveltheme);
             }
@@ -5584,14 +5492,14 @@ void Game::Tick()
         if (Input::isKeyPressed(SDL_SCANCODE_V) && debugmode) {
             freeze = !freeze;
             if (freeze) {
-                OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                OPENAL_SetFrequency(OPENAL_ALL);
             }
         }
 
         if (Input::isKeyPressed(consolekey) && debugmode) {
             console = !console;
             if (console) {
-                OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                OPENAL_SetFrequency(OPENAL_ALL);
             } else {
                 freeze = 0;
                 waiting = false;
@@ -5622,7 +5530,7 @@ void Game::Tick()
 
         static int oldwinfreeze;
         if (winfreeze && !oldwinfreeze) {
-            OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+            OPENAL_SetFrequency(OPENAL_ALL);
             emit_sound_np(consolesuccesssound);
         }
         if (winfreeze == 0)
@@ -6778,8 +6686,8 @@ void Game::Tick()
                                 Person::players[i]->setAnimation(jumpupanim);
                                 Person::players[i]->yaw = Person::players[i]->targetyaw;
                                 Person::players[i]->transspeed = 20;
-                                Person::players[i]->FootLand(0, 1);
-                                Person::players[i]->FootLand(1, 1);
+                                Person::players[i]->FootLand(leftfoot, 1);
+                                Person::players[i]->FootLand(rightfoot, 1);
 
                                 facing = 0;
                                 facing.z = -1;
@@ -6932,10 +6840,7 @@ void Game::Tick()
                     envsound[j] = envsound[numenvsounds];
                 }
             }
-            if (slomo)
-                OPENAL_SetFrequency(OPENAL_ALL, slomofreq);
-            else
-                OPENAL_SetFrequency(OPENAL_ALL, 22050);
+            OPENAL_SetFrequency(OPENAL_ALL, slomo);
 
             if (tutoriallevel == 1) {
                 XYZ temp;
@@ -6957,7 +6862,7 @@ void Game::Tick()
                 if (tutorialstage >= 51)
                     if (distsq(&temp, &Person::players[0]->coords) >= distsq(&temp, &temp2) - 1 || distsq(&temp3, &Person::players[0]->coords) < 4) {
                         OPENAL_StopSound(OPENAL_ALL);  // hack...OpenAL renderer isn't stopping music after tutorial goes to level menu...
-                        OPENAL_SetFrequency(OPENAL_ALL, 0.001);
+                        OPENAL_SetFrequency(OPENAL_ALL);
 
                         emit_stream_np(stream_menutheme);